The Agentic Loop, In Plain English
Quick Summary
에이전틱 루프는 새로운 지능 체계가 아니라, 도구 호출 여부를 판단하도록 훈련된 LLM과 실행 결과를 다시 문맥에 넣는 하네스, 안전장치 및 문맥 관리 기법이 결합된 반복 구조다.
🖼️ 인포그래픽
🖼️ 4컷 인포그래픽
💡 한 줄 요약
에이전틱 루프는 새로운 지능 체계가 아니라, 도구 호출 여부를 판단하도록 훈련된 LLM과 실행 결과를 다시 문맥에 넣는 하네스, 안전장치 및 문맥 관리 기법이 결합된 반복 구조다.
📌 핵심 요약
- LLM은 에이전트로 동작할 때도 별도의 모드로 전환되지 않으며, 주어진 문맥에서 다음 토큰을 예측하고 그 결과를 문맥에 추가하는 기본 작동을 반복한다.
- 모델이 구조화된 도구 호출을 출력하면 하네스가 생성을 멈추고 실제 작업을 실행한 뒤, 그 결과를 새 토큰으로 문맥에 추가하여 같은 모델을 다시 호출한다.
- 하네스는 도구 호출이면 반복하고 일반 메시지이면 종료하는 결정론적 제어를 담당하며, 도구의 필요성·중단 시점·실패 복구에 관한 판단은 모델의 훈련에서 나온다.
- 무한 반복과 위험한 행동을 막기 위해 반복 횟수 제한, 토큰·비용 예산, 반복 감지, 시간 제한, 중요 작업에 대한 인간 승인 지점을 둔다.
- 누적되는 도구 출력으로 문맥이 오염되는 문제는 절단, 요약, 선택적 검색, 독립 문맥을 사용하는 하위 에이전트로 완화할 수 있다.
🧩 주요 포인트
- LLM은 에이전트로 동작할 때도 별도의 모드로 전환되지 않으며, 주어진 문맥에서 다음 토큰을 예측하고 그 결과를 문맥에 추가하는 기본 작동을 반복한다.
- 모델이 구조화된 도구 호출을 출력하면 하네스가 생성을 멈추고 실제 작업을 실행한 뒤, 그 결과를 새 토큰으로 문맥에 추가하여 같은 모델을 다시 호출한다.
- 하네스는 도구 호출이면 반복하고 일반 메시지이면 종료하는 결정론적 제어를 담당하며, 도구의 필요성·중단 시점·실패 복구에 관한 판단은 모델의 훈련에서 나온다.
- 무한 반복과 위험한 행동을 막기 위해 반복 횟수 제한, 토큰·비용 예산, 반복 감지, 시간 제한, 중요 작업에 대한 인간 승인 지점을 둔다.
- 누적되는 도구 출력으로 문맥이 오염되는 문제는 절단, 요약, 선택적 검색, 독립 문맥을 사용하는 하위 에이전트로 완화할 수 있다.
🧠 상세 정리
1. 에이전틱 루프를 둘러싼 오해
글은 ‘에이전틱 루프’가 새로운 종류의 지능을 뜻하는 것처럼 사용되거나, 실체가 불분명한 유행어로 소비되는 상황에서 출발한다. 그러나 마케팅 표현을 걷어 내면 그 핵심은 이미 잘 알려진 다음 토큰 예측 모델 위에 놓인 비교적 기계적인 반복 구조다. 에이전트라고 해서 모델 내부에 별도의 지능 모듈이 생기거나 가중치가 특별한 작동 모드로 전환되는 것은 아니다. 실제 차이는 모델이 만들어 낸 출력을 외부 코드가 어떻게 해석하고 실행하며, 그 실행 결과를 다시 모델에 제공하느냐에서 발생한다. 따라서 에이전틱 루프를 이해하려면 추상적인 자율성보다 LLM, 구조화된 도구 호출, 하네스, 문맥이 연결되는 구체적인 절차를 먼저 살펴봐야 한다.
2. 기반은 끝까지 다음 토큰 예측이다
대규모 언어 모델의 기본 동작은 주어진 문맥을 바탕으로 가능한 다음 토큰들의 확률을 계산하는 것이다. 모델을 둘러싼 실행 환경은 가장 확률이 높은 토큰을 선택하거나 확률분포에서 표본을 뽑고, 선택된 토큰을 기존 문맥 뒤에 붙인 다음 같은 계산을 다시 수행한다. 이 ‘예측하고 추가하기’ 과정은 시를 쓰거나 사실 질문에 답할 때뿐 아니라 외부 도구를 호출할 때도 동일하게 유지된다. 즉, 도구를 사용하는 순간에도 모델 내부에서 별도의 에이전트 기능이 시작되는 것이 아니라 계속해서 다음 토큰을 생성할 뿐이다. 에이전트처럼 보이는 행동은 이 토큰 출력에 특별한 형식을 부여하고, 외부 실행 코드가 그 형식을 실제 행동으로 연결하면서 만들어진다.
3. 구조화된 도구 호출이 행동으로 바뀌는 과정
모델은 일반 문장만 출력하는 대신 도구 종류, 도구 이름, 인수 등을 담은 구조화된 블록을 생성하도록 훈련될 수 있다. 하네스라고 불리는 외부 호출 코드는 출력 스트림을 감시하다가 이 형식을 발견하면 토큰 생성을 일시 중단하고, 웹 검색·API 호출·파일 읽기와 같은 실제 작업을 수행한다. 작업이 끝나면 하네스는 실행 결과를 새로운 토큰으로 변환해 기존 문맥에 추가하고, 길어진 문맥을 입력으로 같은 언어 모델을 다시 호출한다. 이때 모델은 실행 결과를 읽고 추가 도구가 필요한지, 이미 답을 만들 수 있는지를 다음 출력으로 표현한다. ‘예측, 도구 호출 감지, 실행, 결과 추가, 재예측’이 한 번의 턴 또는 반복이며, 사용자의 개입 없이 여러 턴이 이어지는 전체 과정이 에이전틱 루프다.
4. 종료를 결정하는 단순한 규칙과 모델의 판단
루프의 기본 종료 규칙은 의외로 단순하며, 하네스는 매 단계의 모델 출력을 두 가지 형태 중 하나로 분류한다. 출력이 도구 호출 블록이면 해당 도구를 실행하고 결과를 문맥에 넣은 뒤 루프를 계속하지만, 도구 호출이 없는 일반 메시지이면 반복을 멈추고 그 메시지를 사용자에게 반환한다. 이 제어 자체는 복잡한 판단 체계가 아니라 조건문에 가까운 결정론적 장부 처리이며, 토큰 수나 설정된 임계값도 일반 프로그램처럼 숫자로 비교한다. 도구가 필요한지, 정보가 충분히 모였는지, 호출 실패 뒤 어떻게 회복할지는 하네스가 지능적으로 판단하지 않는다. 그러한 능력은 도구 사용 사례에 대한 지도 미세조정과 올바른 도구 선택·형식·불필요한 호출 억제를 보상하는 강화학습을 통해 모델에 학습된다.
5. 폭주 루프와 실행 안전장치
모델이 매번 새로운 도구 호출이 필요하다고 판단하면 외부에서 제동을 걸지 않는 한 루프는 계속 돌면서 시간, 토큰, 비용을 소모할 수 있다. 이를 폭주 루프라고 하며, 실제 하네스는 일정 횟수의 도구 호출 뒤 무조건 멈추는 반복 상한과 세션별 토큰 또는 비용 예산을 둔다. 최근 도구 호출과 결과가 반복되는지를 검사해 강제로 종료하거나 모델에 설명을 요구할 수 있고, 반복 형태가 명확하지 않은 정체 상황까지 막기 위해 실제 경과 시간 기준의 타임아웃도 사용한다. 송금, 데이터 삭제, 이메일 발송처럼 실수의 비용이 큰 행동은 실행 직전에 루프를 멈추고 명시적인 사람의 승인을 받도록 구성한다. 인간 참여 방식은 모든 단계를 사람이 지켜보게 하는 것이 아니라, 실제 피해 가능성이 있는 특정 지점에 의도적인 승인 버튼을 두는 접근이다.
6. 누적되는 도구 출력과 문맥 관리
각 도구의 실행 결과는 토큰으로 변환되어 문맥에 추가되므로 루프가 길어질수록 사용 가능한 문맥 창이 계속 줄어든다. 최대 한도에 도달하기 전이라도 전체 파일 내용이나 지나치게 큰 API 응답 같은 원시 출력이 쌓이면 모델이 본래 목표에서 벗어나거나 중요한 단서를 놓치는 등 추론 품질이 저하될 수 있다. 대응 방법으로는 오래된 결과를 버리거나 잘라 내고 최근 결과만 온전히 남기는 절단, 누적된 대화를 압축한 요약으로 원문 기록을 교체하는 방식이 있다. 또한 도구 결과를 외부 저장소에 보관한 뒤 이후 단계에서 관련성이 확인된 정보만 다시 가져오는 선택적 검색을 사용할 수 있다. 이러한 방법은 함께 적용될 수 있으며, 공통 목적은 장기 실행 과정에서 모델이 자신의 도구 출력에 파묻히지 않도록 유효한 문맥만 유지하는 것이다.
7. 하위 에이전트로 작업 소음을 격리하는 구조
상위 루프가 모든 작업을 하나의 문맥에서 처리하는 대신, 좁고 구체적인 지시와 비어 있는 새 문맥을 가진 하위 에이전트를 실행할 수 있다. 하위 에이전트는 내부에서 독립적인 에이전틱 루프를 돌며 파일 읽기, 도구 호출, 실패한 시도와 중간 결과를 자체 문맥에만 축적한다. 작업이 끝나면 원시 기록 전체가 아니라 짧은 설명이나 구조화된 답과 같이 정제된 결과 하나만 상위 에이전트에 반환된다. 구현 방식은 운영체제 수준의 스레드라기보다 상위 작업이 하나 이상의 별도 모델 대화를 비동기로 시작하고 완료 결과를 기다리는 함수 호출 구조에 가깝다. 하위 에이전트마다 별도의 타임아웃과 반복 상한을 두기 때문에 병렬 작업 중 하나가 멈춰도 나머지 결과를 회수하고, 실패한 부분에 대한 공백을 표시한 채 상위 루프를 계속 진행할 수 있다.
8. 전체 구조를 이루는 필수 구성 요소
에이전틱 루프를 만드는 데 새로운 종류의 모델이 필요한 것은 아니며, 기존 토큰 예측 모델과 그 출력을 다루는 여러 구성 요소가 필요하다. 모델은 구조화된 도구 호출을 출력할 수 있어야 할 뿐 아니라 언제 도구를 사용하고 언제 멈추며, 호출 실패에서 어떻게 회복할지를 판단하도록 훈련되어야 한다. 하네스는 구조화된 출력을 감지해 실제 행동을 실행하고 결과를 다시 문맥에 넣으며, 조건문과 토큰 계수 같은 평범한 제어 코드로 반복을 관리한다. 그 주위에는 반복 상한, 비용 예산, 시간 제한, 반복 감지와 같은 안전장치와 위험 행동에 대한 인간 승인 지점이 배치된다. 여기에 절단, 요약, 선택적 검색, 하위 에이전트 격리를 더하면 장기 실행에서 문맥을 관리할 수 있으며, 이 조합이 자율적으로 보이는 전체 시스템을 형성한다.
🧾 핵심 주장 / 시사점
- 에이전트의 자율성은 별도의 ‘에이전트 모드’에서 나오는 것이 아니라, 모델이 구조화된 도구 호출과 일반 답변 중 무엇을 출력할지 판단하고 하네스가 이를 반복 실행하는 결합에서 발생한다.
- 도구 호출 형식 자체보다 중요한 능력은 호출의 필요성, 충분한 정보가 모인 시점, 실패 후 복구 방법을 판단하는 것이며, 이 부분은 하네스가 아니라 모델 훈련이 담당한다.
- 실용적인 에이전트 시스템의 품질은 모델 성능만으로 결정되지 않고, 폭주 방지 장치와 위험 행동 승인, 문맥 압축 및 하위 에이전트 격리를 얼마나 체계적으로 설계했는지에도 좌우된다.
✅ 액션 아이템
- 에이전틱 루프를 별도 모드 전환이 아닌 동일 LLM의 토큰 예측 반복으로 정의하고, 하네스가 도구 호출/일반 응답을 결정론적으로 분기하도록 설계한다.
- 모델이 구조화된 도구 호출을 내면 하네스가 생성을 멈추고 실행 결과를 문맥에 반영한 뒤 동일 모델을 재호출하는 단일 사이클을 고정한다.
- 무한 반복·위험행동 억제를 위해 반복 횟수, 토큰·비용 예산, 시간 제한을 함께 둔 뒤, 문맥 오염은 절단·요약·선택적 검색·하위 에이전트 분리로 완화한다.
❓ 열린 질문
- 반복 횟수와 토큰·비용 예산의 상한은 어느 값에서 안정성과 작업 완결성이 균형을 이루는가?
- 중요 작업에서 인간 승인 지점을 언제 발동할지, 어떤 실패 유형·결과 패턴을 승인 트리거로 둘 것인가?
- 문맥 누적이 심해질 때 절단·요약·선택적 검색·하위 에이전트 조합 중 어떤 조합이 오염 억제와 정확도 유지에 가장 적합한가?