도구는 실패하고, 모델은 그다음을 알아야 해
도구가 오류를 돌려주면 모델은 tool_result를 읽고 다음 행동을 정해. 안내가 없으면 같은 호출을 계속 되풀이하거나, 너무 빨리 포기하거나, 실패한 결과 대신 데이터를 꾸며낼 수 있어. 모두 프롬프트에서 미리 막을 수 있는 고장이야.
오류도 일정한 모양으로 돌려줘
모델이 읽을 수 있는 구조화 JSON을 써. {"error": "<code>", "message": "<text>", "retry": true|false, "hint": "<what to try>"}처럼 코드가 해석할 신호와 사람이 읽을 다음 행동을 함께 담아.
복구 규칙을 프롬프트에 적어
- 도구가
retry: true를 돌려주면 같은 인수로 한 번만 다시 시도해. retry: false라면 다른 접근을 찾거나 상위 단계로 넘겨.- ‘not found’라면 데이터를 꾸며내지 말고 조회에 실패했다고 사용자에게 알려.
- 같은 도구가 두 번 실패하면 멈추고 실패를 드러내.