목록의 어떤 것보다 더 많은 버그를 잡아내는 추가 규칙: 도구는 절대 빈 값을 반환해서는 안 된다.
요약
AI 에이전트가 도구(Tool)를 사용할 때, 단순히 빈 값(empty value)을 반환하는 것은 모델에게 혼란을 줄 수 있습니다. 대신, 쿼리 내용, 일치 개수, 상태 등을 포함한 구조화된 데이터를 반환하여 모델의 오해석을 방지해야 합니다.
핵심 포인트
- 도구는 절대 순수한 빈 값(null, [])을 반환해서는 안 됩니다.
- 빈 값은 '일치 없음'과 '필터 오류'를 구별할 수 없게 만듭니다.
- 반드시 구조화된 데이터(status, matched count 등)를 전송해야 합니다.
- 오류 메시지도 타입화된 상태(typed status)로 전달하는 것이 좋습니다.
목록의 다른 어떤 것보다도 더 많은 버그를 포착하는 하나의 추가 규칙이 있습니다. 바로 도구가 순수한(bare) 빈 값(empty value)을 반환하도록 두지 않는 것입니다.
[] (빈 배열), null, "" (빈 문자열), 그리고 0 모두 모델에게는 사실처럼 도착합니다. 모델은 '정말로 일치하는 것이 없었다'와 '당신의 필터가 잘못되었고 내가 조용히 무시했다'를 구별할 방법이 없습니다. 그래서 자신감 있는 해석을 선택하게 되는데, 이 자신감은 보통 틀립니다.
대신 구조(structure)를 반환하세요. 실제로 쿼리한 내용, 파싱된 창(window), 일치 개수(match count), 그리고 상태를 전송하는 것입니다. {"status": "ok", "matched": 0, "window": "2026-08-04..2026-08-10"}와 같은 형식은 오해할 수 없습니다. []는 로또 당첨과 같습니다.
오류(error)에도 동일한 원칙이 적용됩니다. 'error: 401'을 일반 문자열로 보내는 것은 모델이 추론할 더 많은 텍스트일 뿐입니다. 재시도할지, 중단할지, 아니면 사람에게 요청해야 하는지를 알려주는 타입화된 상태(typed status)가 모델이 실제로 따를 수 있는 지침입니다.
코드와 함께 전체 분석은 AI Agent Failure Mode Checklist에 나와 있습니다. "FAIL"이라고 댓글을 달아주시면 제가 보내드리겠습니다.
#AIAgents #AgentEngineering #AIEngineering #LLM #ToolCalling #MCP #ModelContextProtocol #PromptEngineering #AIInfrastructure #BuildingWithAI #SoftwareEngineering #Anthropic #OpenAI #DeveloperTools #MewCP
AI 자동 생성 콘텐츠
본 콘텐츠는 X Claude/Anthropic의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기