04장. 에이전트 루프의 동작 원리
에이전트는 한 번의 API 호출로 끝나는 챗봇이 아니다. 모델이 도구를 요청하면 애플리케이션이 그 도구를 실행하고, 결과를 다시 모델에게 돌려주는 왕복이 반복된다. 이 왕복 구조를 에이전트 루프(agent loop)라고 부른다. CCA-F 시험에서 에이전트 아키텍처 도메인이 27%로 가장 큰 비중을 차지하는데, 그 출발점이 바로 이 루프의 동작 원리다. 루프가 한 사이클에서 무엇을 주고받는지, 언제 멈추는지, 무한 반복을 어떻게 막는지를 정확히 이해하지 못하면 멀티 에이전트 오케스트레이션도, 신뢰성 설계도 흔들린다.
이 장은 루프를 세 각도에서 분해한다. 먼저 루프가 무엇이고 왜 클라이언트가 루프를 직접 돌려야 하는지를 짚고, 다음으로 인식-결정-행동이라는 한 사이클의 내부 단계를 본다. 마지막으로 루프를 멈추는 종료 조건과, stop_reason 값들 그리고 반복 깊이 제한을 다룬다. 특히 시험은 "어떤 stop_reason이면 루프를 계속 돌려야 하는가"를 반복해서 묻는다. pause_turn을 종료로 착각하는 함정이 대표적이다.
이 장을 마치면 다음을 할 수 있다.
- 에이전트 루프가 도구 사용(tool use) 왕복으로 구성된다는 점과, 클라이언트 도구는 왜 애플리케이션이 루프를 주도해야 하는지 설명할 수 있다.
- 한 사이클의 인식-결정-행동 단계가 API 메시지 구조(
tool_use,tool_result)와 어떻게 대응되는지 매핑할 수 있다. stop_reason값별로 루프를 계속할지 멈출지 판단하고,pause_turn과end_turn을 구별하며, 클라이언트 측 반복 깊이 제한의 역할을 설명할 수 있다.
| 절 | 제목 | 핵심 질문 |
|---|---|---|
| 01 | 에이전트 루프란 무엇인가 | 왜 한 번의 호출이 아니라 루프인가 |
| 02 | 인식-결정-행동 사이클 | 한 사이클 안에서 무엇이 오가는가 |
| 03 | 종료 조건과 반복 깊이 | 언제 멈추고, 어떻게 폭주를 막는가 |