좋은 대화는 끝날 줄도 알아야 해
프롬프트 설계 글은 대화를 이어가는 법을 많이 다루지만, 깨끗하게 끝내는 일이 더 어려울 때가 있어. 실제 시스템에는 작업 완료, 사용자 만족, 복구할 수 없는 오류, 사람에게 넘기기, 유휴 시간 초과 같은 끝 상태가 늘 있어.
끝 상태에 이름을 붙여
- 완료 — 에이전트가 결과를 확인하고 더 이상 도구를 찾지 않아.
- 인계 — 사람이나 다른 에이전트로 넘기고 대화 기록을 짧은 브리프로 정리해.
- 거절 — 요청을 거절하고 대안을 제시한 뒤 사용자가 다른 길을 택하지 않으면 닫아.
- 오류 — 복구할 수 없는 실패를 구조화 오류로 호출자에게 돌려줘.
끝 상태도 계약의 일부야
끝낼 줄 모르는 에이전트는 도구를 또 부르고, 확인 질문을 되풀이하고, 새 머리말을 계속 만들어. 프롬프트는 ‘완료’가 어떤 모습인지 정하고 반복을 감싼 코드가 그 상태를 확인해야 해.