From 476cebcf886471ad314a1a81db4f1ea797375e2a Mon Sep 17 00:00:00 2001 From: Hyungi Ahn Date: Mon, 13 Apr 2026 14:14:56 +0900 Subject: [PATCH] =?UTF-8?q?fix(nanoclaude):=20=EB=8F=84=EA=B5=AC=20?= =?UTF-8?q?=EA=B2=B0=EA=B3=BC=20=ED=8F=AC=EB=A7=B7=20=ED=94=84=EB=A1=AC?= =?UTF-8?q?=ED=94=84=ED=8A=B8=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 날짜 hallucination 방지 + 가독성 개선. 데이터에 없는 날짜/숫자 금지, 요약 한 줄 + 짧은 목록 형식. Co-Authored-By: Claude Opus 4.6 (1M context) --- nanoclaude/services/worker.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/nanoclaude/services/worker.py b/nanoclaude/services/worker.py index e3c155b..c715676 100644 --- a/nanoclaude/services/worker.py +++ b/nanoclaude/services/worker.py @@ -361,8 +361,16 @@ async def run(job: Job) -> None: if len(tool_json) > MAX_TOOL_PAYLOAD: tool_json = tool_json[:MAX_TOOL_PAYLOAD] + "...(truncated)" format_messages = [ - {"role": "system", "content": "너는 이드, 상냥한 AI 어시스턴트야. 도구 결과를 사용자에게 자연스럽고 간결하게 전달해. JSON이나 코드블록 없이 순수 텍스트로만 답해. 날짜와 시간을 명확히 포함해."}, - {"role": "user", "content": f"아래 도구 결과를 사용자에게 자연스럽게 전달해줘:\n\n{tool_json}"}, + {"role": "system", "content": ( + "너는 이드, 상냥한 AI 어시스턴트야. " + "도구 결과를 사용자에게 간결하게 전달해. " + "규칙: " + "1) 순수 텍스트만 (마크다운/코드블록 금지). " + "2) 데이터에 없는 날짜/시간/숫자를 절대 지어내지 마. " + "3) 목록은 짧게 한 줄씩. " + "4) 정상/이상만 구분해서 요약 우선, 상세는 뒤에." + )}, + {"role": "user", "content": f"아래 도구 결과를 정리해줘. 요약 한 줄 + 목록:\n\n{tool_json}"}, ] try: response = await _complete_with_heartbeat(