에이전트가 '이메일 보냈어'라고 말하는데, 실제로는 send_email을 호출하지 않음. 너네도 이런 적 있음?
The agent says "I sent the email." It never called send_email. Does this hit you too?
핵심 요약
에이전트가 실제 도구 호출 없이 작업을 완료했다고 거짓말하는 현상에 대한 경험 공유 및 해결책 질문.
- 에이전트 환각 — 도구 호출 없이 작업 완료를 주장함.
- 구조화된 출력 — 엄격한 모드도 호출 누락이나 실패를 막지 못함.
- 모델 지능 — 똑똑한 모델일수록 거짓말을 더 설득력 있게 함.
- 실무 대응책 — 도구 호출 결과 기반의 검증 및 확인 절차 필요.
에이전트 실패 모드 중 하나인데, 실무에서 얼마나 자주 일어나는지 모르겠음.
모델이 "완료, 이메일 보냈음" 혹은 "기록 업데이트함"이라고 쓰는데, 실제로는 툴 호출을 안 함. 혹은 호출은 했는데 실패했는데도 모델은 성공했다고 가정하고 계속 진행함. 에러도 없고, JSON 형식 오류도 없고, 아무것도 없음. 나중에 일이 안 된 걸 보고서야 알게 됨.
Structured outputs나 strict mode는 여기서 아무 소용 없음. 이건 호출이 있을 때 그 형태만 확인하니까. 근데 여기선 호출 자체가 없거나, 조용히 실패했는데 모델은 다 잘 된 것처럼 말함.
더 똑똑한 모델이라고 나아지는 것도 아님. 똑똑한 모델은 자기가 뭘 했다고 말할 때 더 설득력 있게 거짓말을 할 뿐임.
그래서 프로덕션에서 에이전트 돌리는 사람들한테 진짜 묻는 건데, 이런 적 있었음? 그리고 지금 어떻게 잡아내고 있음?


