Reviewed technical note

Loop Engineering은 에이전트 런타임의 설계 단위다

프롬프트 한 번이 아니라 관측, 판단, 실행, 검증이 반복되는 루프를 시스템 단위로 다루는 이유.

LLM 에이전트를 운영할 때 실패하는 지점은 대개 모델 호출 그 자체가 아니다. 실패는 루프의 경계가 흐릴 때 생긴다. 무엇을 관측했는지, 어떤 상태에서 다음 행동을 골랐는지, 실행 결과를 어떻게 검증했는지, 실패 시 어디로 되돌아가는지가 코드와 로그에 남지 않으면 에이전트는 디버깅할 수 없는 자동화가 된다.

프롬프트가 아니라 루프가 운영 단위다

단발 프롬프트는 입력과 출력만 가진다. 반면 운영 가능한 에이전트는 반복 구조를 가진다.

  1. 현재 상태와 외부 신호를 관측한다.
  2. 목표와 제약에 비춰 다음 행동을 고른다.
  3. 도구나 코드를 실행한다.
  4. 결과를 검증한다.
  5. 성공, 재시도, 중단, 사람 승인 중 하나로 전이한다.

이 반복이 명시돼야 비용, 지연, 실패율, 검증 누락을 측정할 수 있다. 그래서 loop engineering의 핵심은 “더 긴 프롬프트”가 아니라 반복 가능한 제어 구조다.

좋은 루프에는 중단 조건이 있다

자동화는 계속 돌 수 있다는 점 때문에 위험하다. 좋은 루프는 다음 조건을 코드로 가진다.

  • 성공 판정: 산출물이 어떤 테스트나 관측값을 만족해야 하는가.
  • 실패 판정: 어떤 오류는 재시도하지 않고 중단해야 하는가.
  • 예산: 토큰, 시간, 도구 호출 수, 외부 API 비용의 상한은 얼마인가.
  • 승인 경계: 어떤 변경은 사람이 승인해야 하는가.

이 조건이 없으면 에이전트는 “열심히 일하는 것처럼 보이는” 무한 재시도 장치가 된다.

블로그 자동 운영에도 같은 원리가 필요하다

나래위키 기반 블로그 운영 루프도 동일하다.

주제 후보 수집 → 근거 검색 → 초안 작성 → 출처 검증 → MDX 생성 → 리뷰 → 배포

여기서 자동화 가능한 단계와 사람이 봐야 하는 단계를 분리해야 한다. 초안 생성은 자동화할 수 있다. 그러나 출처가 불명확하거나 원문 요약에 가까운 글은 자동 발행하면 안 된다. draftreviewed 상태를 나누는 이유가 여기에 있다.

결론

에이전트 시스템의 최소 운영 단위는 모델 호출이 아니라 루프다. 루프를 명시하면 실패를 재현할 수 있고, 검증을 자동화할 수 있고, 사람이 개입해야 하는 경계를 코드로 남길 수 있다.