AI Sparkup

최신 AI 쉽게 깊게 따라잡기⚡

AI 에이전트 팁 – 루프 엔지니어링: 에이전트를 직접 프롬프트하는 시대의 종말

루프 엔지니어링(loop engineering)은 AI 에이전트와 협업하는 방식의 패러다임 전환이다. 개발자가 직접 에이전트에 프롬프트를 입력하는 것이 아니라, 에이전트를 대신 프롬프트하는 시스템(루프)을 설계하는 방법론이다. Boris Cherny(Anthropic Claude Code 팀장)는 “나는 더 이상 Claude에 직접 프롬프트하지 않는다. Claude를 프롬프트하고 할 일을 결정하는 루프를 실행한다”고 말했다.

루프 엔지니어링이란

루프는 목적을 정의하면 AI가 완료될 때까지 반복하는 재귀적 목표 구조다. 과거에는 bash 스크립트로 직접 구현해야 했지만, 이제 Claude Code·Codex 등 주요 에이전트 도구가 이 구성요소를 기본으로 제공한다.

5가지 핵심 구성요소

1. Automations — 루프의 심장박동

스케줄에 따라 작업을 자동 탐지·분류한다. Claude Code에서는 /loop(주기적 재실행), /goal(조건 충족 시 중단), cron 스케줄, hooks, GitHub Actions로 구현한다.

특히 /goal은 중요하다. “auth 테스트 전체 통과 + lint 정리”처럼 검증 가능한 종료 조건을 정의하면, 코드를 작성한 에이전트가 아닌 별도의 소형 모델이 조건 달성 여부를 확인한다. 만든 에이전트와 검증 에이전트를 분리하는 것이다.

2. Worktrees — 병렬 에이전트 간 충돌 방지

두 에이전트가 같은 파일을 동시에 수정하면 충돌이 발생한다. Git worktree는 같은 레포지토리 히스토리를 공유하면서 각 에이전트에게 독립된 작업 디렉터리를 제공한다.

Claude Code에서는 git worktree, --worktree 플래그, 서브에이전트의 isolation: worktree 설정으로 각 에이전트가 완료 후 자동 정리되는 격리된 체크아웃을 받을 수 있다.

3. Skills — 프로젝트 지식의 재사용 캡슐화

에이전트는 세션마다 콜드 스타트한다. 매번 프로젝트 컨텍스트를 다시 설명하는 대신, 컨벤션·빌드 단계·”이 사건 때문에 이렇게 하지 않는다” 같은 의도(intent)를 SKILL.md 파일로 한 번 정리해두면 루프가 매 실행마다 읽는다.

Skills가 없으면 루프는 매 사이클마다 프로젝트를 처음부터 재파악한다. Skills는 이 의도 비용이 누적되지 않게 만드는 장치다.

4. Plugins/Connectors — 실제 도구에 루프를 연결

파일시스템만 볼 수 있는 루프는 좁은 루프다. MCP 기반 커넥터를 통해 이슈 트래커, 데이터베이스, 슬랙, 스테이징 API 등 실제 환경에 에이전트를 연결한다. 루프가 “수정 방법을 알려줄게”가 아니라 PR을 직접 열고, 티켓을 업데이트하고, CI 통과 후 채널에 알림을 보낼 수 있게 된다.

5. Sub-agents — 만든 에이전트와 검증 에이전트를 분리

루프에서 가장 중요한 구조적 원칙이다. 코드를 작성한 모델은 자신의 코드를 점검할 때 지나치게 관대하다. 별도 지침(또는 다른 모델)을 가진 두 번째 에이전트가 첫 번째 에이전트가 합리화한 것을 잡아낸다.

Claude Code에서는 .claude/agents/ 디렉터리에 서브에이전트를 정의하고 에이전트 팀을 구성할 수 있다. 탐색 에이전트 → 구현 에이전트 → 검증 에이전트로 이어지는 파이프라인이 대표적인 패턴이다.

+1. State — 루프의 척추

루프가 재시작되어도 기억이 지속되어야 한다. 마크다운 파일이나 Linear 보드처럼 에이전트 컨텍스트 외부에 “무엇을 시도했는지, 무엇이 통과했는지, 무엇이 남았는지”를 기록한다. 에이전트는 잊지만 레포지토리는 잊지 않는다.

실제 루프 예시

  1. 자동화가 매일 아침 레포를 탐색 → 어제 CI 실패, 오픈 이슈, 최근 커밋을 읽어 마크다운 파일이나 Linear에 기록
  2. 각 항목마다 격리된 worktree를 열고 서브에이전트가 수정안 작성
  3. 두 번째 서브에이전트가 프로젝트 스킬과 기존 테스트에 맞게 검증
  4. 커넥터가 PR을 열고 티켓을 업데이트
  5. 루프가 처리하지 못한 항목은 Triage로 넘어와 사람이 확인

이 루프를 한 번 설계하면 각 단계를 직접 프롬프트할 필요가 없다.

루프가 해결하지 못하는 것

루프는 일을 바꾸지, 사람을 제거하지 않는다. 세 가지 문제는 루프가 좋아질수록 더 날카로워진다:

  • 검증: 루프는 실수도 무인으로 저지른다. 검증 에이전트가 있어도 “완료”는 주장이지 증명이 아니다.
  • 이해 부채: 내가 작성하지 않은 코드가 빠르게 쌓이면 코드베이스와의 거리가 벌어진다. 루프가 만든 것을 읽지 않으면 이 부채는 가속된다.
  • 인지적 항복: 루프가 스스로 돌아갈수록 그냥 결과를 받아들이고 싶은 유혹이 생긴다. 루프를 판단력으로 설계하면 가속기가 되고, 생각을 피하려고 설계하면 부채 생성기가 된다.

참고 자료



AI Sparkup 구독하기

최신 게시물 요약과 더 심층적인 정보를 이메일로 받아 보세요! (무료)