
부제: LLM이 같은 말을 반복하는 걸, 프롬프트가 아니라 제어 흐름으로 끝낸 이야기
에이전트에는 사용자에게 버튼·선택지 같은 UI를 그려주는 도구가 있다.
LLM이 이 도구를 호출하면 화면에 UI가 뜬다.
문제는 이 도구를 호출한 "다음"에 벌어졌다.
같은 말을 두 번 하는 에이전트
LLM이 UI 도구를 호출할 때, UI만 만드는 게 아니라 답변 텍스트도 같이 생성한다.
"아래에서 골라주세요" 같은 말과 함께 버튼을 띄우는 식이다. 여기까진 정상이다.
그런데 그래프(LangGraph)가 거기서 끝나지 않았다.
도구 실행이 끝나면 에이전트에게 턴이 다시 넘어가, 에이전트가 한 번 더 말을 해야 대화가 마무리됐다.
문제는 마지막 턴에서 에이전트가 할 말이 없다는 것이다.
방금 UI와 함께 할 말을 다 했으니까.
그러니 조금 전에 한 말과 비슷한 말을 또 한다.
사용자 입장에선 같은 말을 두 번 듣게 된다.
프롬프트로는 안 됐다
처음엔 프롬프트로 잡으려 했다.
"UI 도구를 호출한 뒤엔 말을 반복하지 마라" 같은 지시를 넣는 것이다.
실패했다.
LLM은 이런 지시를 안정적으로 지키지 않는다.
될 때도 있고 안 될 때도 있으면, 그건 제어가 아니다.
그래서 도구가 턴을 끝내게 했다
방향을 바꿨다. 프롬프트로 부탁하는 대신, 구조로 강제하기로.
UI 도구를 "터미널 도구"로 지정했다.
이 도구를 호출하면 그래프가 그 자리에서 종료된다.
에이전트에게 추가 턴을 주지 않으니, 반복할 기회 자체가 사라진다.
반복 문제는 이걸로 해결됐다.
이번엔 말없이 UI만
그런데 새 케이스가 나왔다.
답변 텍스트 없이 UI 도구만 호출하는 경우다.
이러면 버튼만 덜렁 뜨고 아무 말이 없다.
에이전트는 말 대신 UI를 내면 안 된다. 말을 하면서 UI를 곁들여야지, UI로 말을 대체하면 안 된다.
그런데 "도구 호출=무조건 종료"로 막아버렸으니, 이 경우엔 에이전트가 말할 기회를 잃었다.
규칙을 도구가 아니라 '내용'에 건다
그래서 종료 조건을 다시 짰다.
"도구를 호출했으니 끝"이 아니라, "동반 텍스트가 있으면 끝" 으로.
- UI 도구 호출 + 함께 나온 말이 있다 → 할 말 다 했으니 종료
- UI 도구 호출 + 말이 없다 → 에이전트에게 한 턴 더 줘서 말하게 한다
여기서 중요한 두 가지.
하나, 이 규칙은 특정 도구에 붙인 플래그가 아니라 "content가 있느냐"라는 보편 조건이다. 어떤 터미널 도구든 똑같이 적용된다.
둘, 되돌리는 건 딱 한 번만이다. 말하라고 턴을 줬는데 또 말없이 UI만 내면? 무한히 되돌 수 있다. 그래서 "이미 한 번 되돌렸으면 강제 종료"라는 안전장치를 뒀다. 무한루프 방지다.
프롬프트로 부탁해서 안 되던 걸, 결정적인 제어 흐름으로 끝낸 것이다.
정리
- UI 도구를 호출하면 텍스트도 함께 나오는데, 그래프가 안 끝나고 에이전트에 턴이 다시 가 같은 말을 반복했다
- 프롬프트로 "반복 금지"는 실패 — LLM이 안정적으로 안 지킴
- UI 도구를 터미널 도구로 지정해 호출 즉시 그래프 종료 → 반복 해결
- 그러나 "말 없이 UI만" 케이스 발견 — 에이전트가 UI로 말을 대체하면 안 됨
- 최종: 동반 텍스트가 있으면 종료, 없으면 한 턴 더 줘서 서술 — 조건은 특정 도구 플래그가 아닌 content 유무(보편 규칙), 되돌림은 1회 캡으로 무한루프 차단
LLM의 행동을 프롬프트로 못 잡을 때가 있다.
그럴 땐 부탁하지 말고 그래프의 제어 흐름으로 강제한다.
단, 강제하면 반대쪽 엣지 케이스(말 없이 UI만)가 생기니, 조건을 도구가 아니라 내용(content 유무) 에 걸고, 안전장치(1회 캡)를 함께 둔다.
'AI' 카테고리의 다른 글
| [에이전트] 내부 도구 MCP 안 쓴 이유 이식성 재사용성 (0) | 2026.07.22 |
|---|---|
| [메모리] 챗봇 사용자 기억 Identity Episodic 4계층 (1) | 2026.07.21 |
| [에이전트] 학계 1순위 중요도 점수를 버린 이유, LLM 1~10점은 변별력이 없다 (0) | 2026.07.15 |
| [에이전트] 실측 0회 경로 방어 코드 어디까지 짤까 문서화된 미완성 (0) | 2026.07.14 |
| [에이전트] 컨텍스트 오염 타임존을 거주지로 착각한 날씨 조회 (0) | 2026.07.13 |