diff --git a/src/agents/workflows/problem_splitter.py b/src/agents/workflows/problem_splitter.py index 7aee608..17a4754 100644 --- a/src/agents/workflows/problem_splitter.py +++ b/src/agents/workflows/problem_splitter.py @@ -117,7 +117,7 @@ def split_problems(text: str, use_llm: bool = True) -> ProblemSplit: print("---SPLITTER: Using LLM for problem splitting---") try: - model = get_model(OpenRouterModelName.GPT_5_MINI) + model = get_model(OpenRouterModelName.GPT_5_MINI).with_config(tags=["skip_stream"]) messages = [ SystemMessage(content=SPLIT_SYSTEM_PROMPT), diff --git a/src/agents/workflows/review_logic.py b/src/agents/workflows/review_logic.py index 96a5308..8c804ce 100644 --- a/src/agents/workflows/review_logic.py +++ b/src/agents/workflows/review_logic.py @@ -228,7 +228,8 @@ def run_review(state: Dict[str, Any]) -> Dict[str, Any]: print( f"---REVIEW: MODEL={MODEL_NAME} openrouter_key_set={bool(settings.OPENROUTER_API_KEY)}---" ) - model = get_model(MODEL_NAME) + # Review 노드는 내부 JSON만 사용하므로 토큰 스트리밍을 비활성화한다. + model = get_model(MODEL_NAME).with_config(tags=["skip_stream"]) prompt = [ SystemMessage(content=REVIEW_SYSTEM_PROMPT), HumanMessage( diff --git a/src/service/service.py b/src/service/service.py index 2faa04a..967846a 100644 --- a/src/service/service.py +++ b/src/service/service.py @@ -269,7 +269,12 @@ async def _handle_input( ) input: Command | dict[str, Any] - input = {"messages": [HumanMessage(content=user_input.message)]} + input = { + "messages": [HumanMessage(content=user_input.message)], + # 이전 실행에서 체크포인터가 복원한 stale 값을 매 실행마다 초기화 + "final_output": {}, + "partial_responses": [], + } if user_input.files_url: files = list(user_input.files_url)