본문 바로가기
C.W.K.
Stream
Lesson 10 of 10 · published

반복 닫기 — 대화를 끝내야 할 때

~12 min · conversation, closing

Level 0수련생
0 XP0/100 lessons0/14 achievements
0/120 XP to next level120 XP to go0% complete

좋은 대화는 끝날 줄도 알아야 해

프롬프트 설계 글은 대화를 이어가는 법을 많이 다루지만, 깨끗하게 끝내는 일이 더 어려울 때가 있어. 실제 시스템에는 작업 완료, 사용자 만족, 복구할 수 없는 오류, 사람에게 넘기기, 유휴 시간 초과 같은 끝 상태가 늘 있어.

끝 상태에 이름을 붙여

  • 완료 — 에이전트가 결과를 확인하고 더 이상 도구를 찾지 않아.
  • 인계 — 사람이나 다른 에이전트로 넘기고 대화 기록을 짧은 브리프로 정리해.
  • 거절 — 요청을 거절하고 대안을 제시한 뒤 사용자가 다른 길을 택하지 않으면 닫아.
  • 오류 — 복구할 수 없는 실패를 구조화 오류로 호출자에게 돌려줘.

끝 상태도 계약의 일부야

끝낼 줄 모르는 에이전트는 도구를 또 부르고, 확인 질문을 되풀이하고, 새 머리말을 계속 만들어. 프롬프트는 ‘완료’가 어떤 모습인지 정하고 반복을 감싼 코드가 그 상태를 확인해야 해.

Code

끝 상태를 명시한 반복·python
while True:
    out = call_model(messages)
    if out.tool_calls:
        results = run_tools(out.tool_calls)
        messages += [out, results]
        continue
    if out.content.endswith("[done]"):
        return success(out.content)
    if out.content.startswith("[handoff]"):
        return handoff(out.content)
    return ask_user(out.content)

External links

Exercise

에이전트 프롬프트 하나에 분명한 끝 상태를 넣고 반복을 감싼 코드에도 종료 검사를 추가해봐. 대화 스무 개가 모두 이름 붙인 상태 가운데 하나로 끝나는지 확인해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.