Agent Loop란 무엇인가: AI Agent가 한 번의 답변으로 끝나지 않는 이유

RUDA DIRECTOR · AI Agent — 30 DAYS / 90 ARTICLES · Day 02 · Learn 01

Agent Loop는 AI Agent가 실행 결과를 받아 다음 행동을 다시 판단하는 반복 구조다. 모델이 도구를 실행하고, 돌아온 결과를 살핀 뒤 계속할지 멈출지 결정한다.

Agent Loop는 무엇을 반복하는가

  1. 목표 확인: 요청과 현재 상황을 읽는다.
  2. 행동 선택: Tool Call, Handoff 또는 최종 응답을 결정한다.
  3. 결과 관찰: 도구나 실행 환경이 반환한 결과를 받는다.
  4. 다음 판단: 결과를 Context에 반영한다. 목표를 달성했거나 중단 조건에 도달하면 끝내고, 아니라면 행동 선택으로 돌아간다.

OpenAI Agents SDK의 Runner도 이 구조를 명시적으로 사용한다. 현재 Agent를 Model에 호출하고, 결과가 Final Output이면 종료한다. Handoff가 필요하면 Agent와 Input을 바꿔 다시 실행하고, Tool Call이 나오면 Tool Result를 Input에 추가한 뒤 Loop를 다시 돈다. 지정한 max_turns를 넘으면 실행을 중단할 수 있다.

Anthropic 역시 Agent를 설명할 때 Tool을 사용하고 Environment에서 Ground Truth를 다시 받아 진행 상황을 평가하는 Loop를 핵심으로 본다. 즉 Agent의 핵심은 “생각을 여러 번 한다”가 아니라 외부 결과를 관찰하면서 다음 행동을 바꿀 수 있다는 것이다.

Multi-turn Chat과 Agent Loop는 다르다

대화가 여러 턴 이어진다고 자동으로 Agent Loop가 되는 것은 아니다. 일반 Chat은 사용자가 다음 Input을 주는 경우가 많지만, Agent Loop에서는 Model이 스스로 Tool Call이나 Handoff 같은 다음 Action을 선택하고 그 결과를 다시 받는다.

Multi-turn ChatAgent Loop
다음 Input주로 사용자Tool Result·Environment Feedback 포함
다음 Action대부분 AnswerTool Call·Handoff·Answer 중 선택 가능
State 변화대화 Context 중심외부 시스템의 실제 State까지 바뀔 수 있음
종료 조건사용자가 멈춤Final Output·Stop Condition·Max Turns 등

Agent Loop를 6개 요소로 보면 이해가 쉽다

  1. Goal — 무엇을 끝내야 하는가.
  2. Model Decision — 현재 Context에서 다음 Action을 무엇으로 할 것인가.
  3. Action — Tool Call, Handoff, 질문, Final Output 등.
  4. Observation — Action이 만든 실제 결과.
  5. Context / State Update — 새 결과를 다음 판단에 반영.
  6. Stop Condition — 충분한 결과인지, 계속할지, 중단할지 판단.

여기서 가장 자주 빠뜨리는 것이 마지막 두 개다. Tool을 호출할 수 있다고 해서 좋은 Agent가 되는 것은 아니다. Observation을 제대로 Context에 반영하지 못하거나 Stop Condition이 없으면 Loop는 쉽게 망가진다.

예제: “최신 공식 자료를 확인해서 글을 작성해줘”

이 요청을 단순 LLM 호출로 처리하면 Model이 이미 알고 있는 정보만으로 글을 만들 수 있다. Agent Loop라면 흐름이 달라진다.

  1. 현재 정보로 글을 쓸 수 있는지 판단한다.
  2. 공식 문서를 검색하고 최근 자료를 확인한다.
  3. 핵심 주장과 문서를 대조한다. 근거가 부족하면 세부 자료를 더 찾는다.
  4. 확인한 정의와 제한사항을 바탕으로 초안을 쓴다.
  5. 주장·링크·용어를 검토한 뒤 결과를 제출한다.

검색 결과에 따라 다음 행동이 달라진다. 최신 자료를 찾지 못하면 검색을 이어가고, 자료가 서로 충돌하면 주장할 수 있는 범위를 좁힌다.

Agent Loop가 실패하는 대표적인 5가지 방식

  • Premature Stop — 너무 이른 종료. 근거가 부족한데 답변을 확정한다. 완료 기준을 정하고 결과를 평가해야 한다.
  • No-progress Loop — 진전 없는 반복. 같은 행동을 되풀이하지만 정보가 늘지 않는다. 반복 한도와 진전 여부를 함께 확인한다.
  • Tool Thrashing — 불필요한 도구 전환. 도구를 오가며 비용과 지연만 늘어난다. 도구별 역할과 선택 기준을 명확히 한다.
  • Bad Observation — 부정확한 관찰 결과. 틀리거나 지나치게 긴 도구 응답이 다음 판단에 영향을 준다. 결과 검증과 Context 관리가 필요하다.
  • Repeated Side Effect — 중복 실행. 재시도 과정에서 전송·삭제·발행이 반복된다. Idempotency, 승인 절차, 현재 상태 확인으로 막는다.

Loop를 길게 만든다고 더 똑똑해지는 것은 아니다

반복 횟수가 늘면 근거를 더 모을 수 있지만, 토큰 사용량과 비용, 지연 시간도 증가한다. 실행 단계가 많아지는 만큼 오류가 생길 지점도 늘어난다. 따라서 계속할 조건과 멈출 조건을 함께 정해야 한다.

  • 명확한 Completion Criteria가 있는가?
  • 같은 실패가 반복되면 Retry Limit이 있는가?
  • 도구 실행 후 새로운 정보나 결과를 얻었는지 확인하는가?
  • 외부에 큰 영향을 미치는 행동에는 Human Approval이 있는가?
  • Loop가 어떻게 흘렀는지 Tracing / Observability할 수 있는가?

OpenAI Agents SDK가 max_turns 같은 실행 제한을 두고, Anthropic이 Agent에 Stopping Condition과 Environment Feedback을 강조하는 이유도 여기에 있다.

한 문장으로 기억하기

Agent Loop를 평가할 때는 실행 결과가 다음 판단에 정확히 반영됐는지 살펴야 한다.

그래서 Agent를 설계할 때 처음부터 복잡한 Multi-Agent Architecture를 만들기보다, 먼저 Goal → Action → Observation → Decision → Stop이 제대로 닫히는 Single-Agent Loop를 설계하는 편이 좋다.

다음 글에서 다룰 내용

다음 글에서는 Agent가 실제 행동을 수행하는 연결 방식인 Tool Calling / Function Calling을 살펴본다.


이전 글
AI Agent란 무엇인가: 챗봇과 무엇이 다른가

같이 읽기
AI Agent와 Workflow의 차이: 언제 Agent가 필요한가
Multi-Agent에서 Direction·Orchestration·Execution을 왜 분리하는가

공식 참고 자료
OpenAI Agents SDK — Running agents
Anthropic — Building Effective AI Agents
Anthropic — Writing effective tools for agents


다른 글 보기 · 주제 탐색 · 작성자와 편집 기준 · 문의·정정 요청

RUDA DIRECTOR에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기