AI 에이전트 개발에서 **루프 엔지니어링(Loop Engineering)**이 중요한 화두로 떠오르고 있지만, 이를 단순한 하나의 기법으로 취급해서는 안 됩니다. 루프 엔지니어링의 본질은 개발자가 에이전트를 한 턴씩 수동으로 조종하는 대신, 에이전트를 조율하는 시스템을 설계하는 것입니다.
에이전트 루프 시스템은 언제나 두 가지 핵심 질문에 답해야 합니다:
- 무엇이 실행을 시작하는가? (Trigger)
- 무엇이 작업 완료를 결정하는가? (Exit Condition)
Avi Chawla의 분석을 바탕으로 시스템에 위임하는 범위에 따른 에이전트 루프의 4가지 유형과 태스크 유형별 최적 선택 기준을 정리합니다.
Sources
1. 에이전트 루프의 4가지 유형
1) Turn-based Loops (턴 기반 루프)
- 트리거: 사용자 프롬프트 입력
- 동작 방식: 에이전트가 단일 턴 내에서 컨텍스트 수집, 액션 실행, 자체 검증을 수행하고 종료합니다. 이후 사람이 출력물을 직접 확인하고 다음 프롬프트를 작성합니다.
- 적용 시점: 요구사항이 아직 구체화되지 않은 탐색형(Exploratory) 작업. 직전 턴의 결과물에 따라 다음 프롬프트의 지시 방향이 계속 달라질 때 가장 적합합니다.
2) Goal-based Loops (목표 기반 루프)
- 트리거:
/goal커맨드 (성공 기준 및 시도 예산 포함, 예: “Lighthouse 점수 90점 도달할 때까지 최대 5회 시도”) - 동작 방식: 에이전트가 작업을 끝내려 할 때 **평가자 모델(Evaluator Model)**이 성공 기준 충족 여부를 판정하며, 미달성 시 에이전트를 다시 작업 루프로 돌려보냅니다.
- 적용 시점: 성공 여부가 테스트 코드나 지표로 명확히 측정 가능(Measurable)하여 중간 과정에 인간의 개입이 필요 없을 때 최적입니다.
3) Time-based Loops (시간/스케줄 기반 루프)
- 트리거: 시간 간격 또는 크론 스케줄 (Clock)
- 동작 방식: 정해진 주기마다 고정된 프롬프트(예: “PR 검토 및 CI 실패 수정”)를 실행하고 다음 틱까지 대기합니다. 로컬에서는
/loop, 클라우드 스케줄러에서는/schedule을 통해 로컬 머신이 꺼져도 작업을 유지합니다. - 적용 시점: 수행할 작업이 사전에 명확히 정의되어 있고 주기적으로 반복(Recurring)되는 정기 유지보수 및 모니터링 업무.
4) Proactive Loops (능동적/이벤트 기반 루프)
- 트리거: 이벤트 감시 루틴 (인간 개입 없음)
- 동작 방식: 채널이나 메시지 큐를 상시 모니터링하다가 이벤트가 발생하면 워크플로우를 가동합니다. 분류(Triage) 에이전트 → 해결(Fix) 에이전트 → 적대적 검증자(Reviewer) 에이전트 파이프라인을 거쳐 작업 완료를 확정합니다.
- 적용 시점: 언제 어떤 이슈가 인입될지 예측할 수 없지만 상시 대기하고 대응해야 하는 상시형(Standing) 책임 업무.
2. 위임의 단계와 시스템 매핑 전략
각 루프 유형은 이전 단계보다 하나의 역할을 시스템에 더 위임합니다:
- Turn-based: 시작과 검증을 모두 인간이 통제
- Goal-based: **검증(Checking)**을 시스템에 위임
- Time-based: **시작 트리거(Trigger)**를 시스템에 위임
- Proactive: 시작·검증·런타임 워크플로우 분기 결정까지 모두 시스템에 위임
따라서 설계의 핵심 질문은 *“어떤 루프가 기술적으로 가장 고도화되었는가?"*가 아니라, **“풀고자 하는 문제가 탐색형, 측정형, 반복형, 상시형 중 어디에 속하는가?”**에 맞추어 적절한 루프 구조를 매핑하는 것입니다.