fix(agent-office): blog 리서치 응답 필드명 수정 (result.keyword_id → result_id)

blog-lab /task 응답은 최상위 result_id 필드를 사용하지만 중첩 result.keyword_id를 읽고 있어 리서치 성공 직후 None으로 빠져나와 "research timeout"으로 오보고되던 문제 수정. 실제 타임아웃과 파싱 실패 경로를 분리해 에러 메시지 구분.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-15 00:37:23 +09:00
parent 57b7a4921d
commit f3c7ce72de

View File

@@ -57,16 +57,20 @@ class BlogAgent(BaseAgent):
keyword_id = None
# 2) 리서치 완료까지 폴링 (최대 3분)
timed_out = True
for _ in range(36):
await asyncio.sleep(5)
status = await service_proxy.blog_task_status(research_task_id)
if status.get("status") == "succeeded":
keyword_id = status.get("result", {}).get("keyword_id")
keyword_id = status.get("result_id")
timed_out = False
break
if status.get("status") == "failed":
raise Exception(f"research failed: {status.get('error')}")
if timed_out:
raise Exception("research timeout (3분 내 완료되지 않음)")
if not keyword_id:
raise Exception("research timeout")
raise Exception("research succeeded but result_id missing")
# 3) 작가 단계
await self.transition("working", f"글 생성: {keyword}", task_id)