개요
루프 엔지니어링은 AI 에이전트가 하나의 목표를 향해 계획하고, 실행하고, 결과를 검사하고, 실패 원인을 반영해 다시 시도하는 반복 구조를 설계하는 방법이다. 특히 소프트웨어 개발, 데이터 처리, 문서 생성, 테스트 자동화처럼 결과 검증이 가능한 작업에서 중요해지고 있다.
이 용어는 아직 모든 표준 문서에서 고정된 학술 용어로 쓰이는 것은 아니다. 다만 실무적으로는 프롬프트 엔지니어링, 컨텍스트 엔지니어링, 하네스 엔지니어링 다음 단계의 개념으로 설명할 수 있다. 핵심은 “AI에게 좋은 지시를 한 번 주는 것”이 아니라 “AI가 안전한 환경 안에서 목표 달성까지 반복할 수 있는 시스템을 만드는 것”이다.
AI 엔지니어링의 진화: 프롬프트에서 루프까지
| 단계 | 핵심 질문 | 인간의 역할 | AI의 역할 | 대표 산출물 |
|---|---|---|---|---|
| 프롬프트 엔지니어링 | 어떻게 물어볼 것인가 | 지시문 작성과 결과 확인 | 단일 응답 생성 | 답변, 초안, 코드 조각 |
| 컨텍스트 엔지니어링 | 어떤 배경 정보를 줄 것인가 | 문서, 예시, 정책, 데이터 제공 | 주어진 맥락 안에서 추론 | 더 일관된 답변, 맞춤형 결과 |
| 하네스 엔지니어링 | 어떤 환경과 규칙 안에서 일하게 할 것인가 | 권한, 도구, 절차, 안전 규칙 설계 | 정해진 환경 안에서 도구 사용 | 통제된 에이전트 작업 흐름 |
| 루프 엔지니어링 | 목표 달성까지 어떻게 반복하게 할 것인가 | 목표, 제약, 평가 기준, 중단 조건 설정 | 실행, 검증, 수정, 재시도 반복 | 자동 개선되는 작업 루프 |
프롬프트 엔지니어링
프롬프트 엔지니어링은 AI에게 원하는 결과를 얻기 위해 질문, 명령, 예시, 출력 형식을 정교하게 작성하는 방식이다. 가장 기본적인 상호작용이며, 인간이 매번 지시를 바꾸고 결과를 확인하는 구조에 가깝다.
컨텍스트 엔지니어링
컨텍스트 엔지니어링은 모델이 참고할 문서, 정책, 코드베이스 정보, 사용자 선호, 출력 스타일, 과거 대화 등을 함께 제공해 더 정확한 결과를 얻는 방식이다. 긴 컨텍스트 창, 검색 증강 생성, 파일 첨부, 코드베이스 인덱싱 등이 이 단계와 관련된다.
하네스 엔지니어링
하네스 엔지니어링은 AI가 도구를 사용하고 여러 단계를 수행할 때 어떤 절차와 제약 안에서 행동해야 하는지를 설계한다. 예를 들어 “코드를 수정하기 전에 관련 파일을 읽어라”, “테스트를 통과하지 못하면 병합하지 마라”, “민감 정보가 포함된 파일은 열람하지 마라” 같은 규칙을 환경에 내장한다.
루프 엔지니어링
루프 엔지니어링은 하네스가 만든 통제된 작업 환경 위에 반복 실행 엔진을 얹는 방식이다. AI 에이전트는 목표를 향해 스스로 다음 행동을 선택하고, 도구를 사용하고, 결과를 평가하고, 실패하면 전략을 수정해 다시 실행한다.
루프 엔지니어링의 핵심 정의
루프 엔지니어링은 다음 조건을 만족하는 AI 작업 시스템 설계로 정의할 수 있다.
- 인간은 최종 목표, 허용 범위, 평가 기준, 중단 조건을 정한다.
- AI 에이전트는 목표 달성을 위해 작업 계획을 세운다.
- 에이전트는 코드 실행, 테스트, 검색, 파일 수정, API 호출 등 필요한 도구를 사용한다.
- 실행 결과가 실패하거나 미흡하면 실패 원인을 분석하고 다음 시도를 생성한다.
- 목표 달성, 예산 초과, 반복 횟수 초과, 위험 신호 발생, 인간 승인 필요 등 중단 조건이 충족되면 루프를 멈춘다.
즉, 루프 엔지니어링의 본질은 자동화된 피드백 주기다.
왜 루프 엔지니어링이 필요한가
기존 AI 사용 방식에서는 인간이 병목이 되기 쉽다. 인간이 프롬프트를 쓰고, 결과를 확인하고, 다시 수정 요청을 하고, 테스트를 실행하고, 오류 메시지를 복사해 다시 입력해야 하기 때문이다.
루프 엔지니어링은 이 반복 과정을 시스템화한다. 예를 들어 개발 작업에서는 AI가 다음 흐름을 자동으로 반복할 수 있다.
- 요구사항을 읽고 작업 계획을 세운다.
- 별도 작업 공간에서 코드를 수정한다.
- 테스트와 린터를 실행한다.
- 오류 로그를 분석한다.
- 수정 프롬프트 또는 다음 행동을 스스로 만든다.
- 다시 코드를 수정한다.
- 통과 기준을 만족하면 결과를 정리하고 검토를 요청한다.
이 구조에서는 인간이 모든 중간 단계를 직접 지시하지 않아도 된다. 대신 인간은 목표 설정, 승인, 예외 처리, 최종 품질 판단에 집중한다.
루프 엔지니어링의 6가지 필수 구성 요소
1. 오토메이션: 루프를 실제로 돌리는 엔진
오토메이션은 루프가 사람의 수동 입력 없이 실행되도록 만드는 기반이다. 작업 큐, 스케줄러, CI/CD 파이프라인, 에이전트 런타임, 이벤트 트리거, 재시도 정책 등이 여기에 포함된다.
오토메이션이 담당하는 기능은 다음과 같다.
- 작업 시작 조건 감지
- 에이전트 실행
- 도구 호출과 결과 수집
- 테스트 또는 검증 단계 실행
- 실패 시 재시도
- 로그 저장
- 인간 승인 단계로 전환
- 비용, 시간, 반복 횟수 제한
오토메이션은 단순한 “자동 실행”이 아니라 루프의 수명 주기를 관리하는 제어 장치다.
2. 워크트리: 안전한 작업 공간
워크트리는 AI가 메인 코드나 실제 운영 데이터를 직접 망치지 않도록 제공하는 격리된 작업 공간이다. Git의 worktree 기능처럼 같은 저장소에서 별도 작업 디렉터리를 만들어 독립적으로 수정하고 테스트할 수 있는 방식이 대표적이다.
워크트리가 중요한 이유는 다음과 같다.
- 메인 브랜치 또는 운영 환경을 보호한다.
- 여러 에이전트가 병렬로 서로 다른 작업을 수행할 수 있다.
- 실패한 시도를 쉽게 폐기할 수 있다.
- 변경 사항을 diff로 검토할 수 있다.
- 테스트가 통과한 변경만 병합 대상으로 삼을 수 있다.
루프 엔지니어링에서 워크트리는 AI의 실험 공간이다. 에이전트가 과감하게 수정하더라도 시스템 전체가 안전하게 유지되려면 작업 공간 격리가 필요하다.
3. 스킬: 작업 기준이 되는 지침서
스킬은 AI가 특정 작업을 수행할 때 따라야 하는 지침, 절차, 체크리스트, 코딩 규칙, 설계 원칙, 예시 모음이다. 사람이 신입 팀원에게 온보딩 문서를 제공하듯, 에이전트에게도 업무 수행 기준이 필요하다.
스킬 문서에는 다음 정보가 들어갈 수 있다.
- 프로젝트 구조와 핵심 모듈 설명
- 코드 스타일과 네이밍 규칙
- 테스트 작성 방식
- API 설계 원칙
- 보안 금지 사항
- 배포 전 체크리스트
- 실패했을 때 확인해야 할 로그 위치
- 결과 보고 형식
스킬이 없으면 에이전트는 매번 일반적인 추론에 의존하게 된다. 반대로 잘 작성된 스킬은 조직의 작업 방식을 AI에게 재사용 가능한 형태로 전달한다.
4. 플러그인 및 커넥터: 필요한 도구 접근
플러그인과 커넥터는 AI가 작업 중 필요한 도구와 시스템에 접근하도록 해준다. 예를 들어 코드 저장소, 이슈 트래커, 검색 시스템, 데이터베이스, 문서 저장소, 테스트 실행기, 브라우저, 배포 도구, 알림 시스템 등이 연결 대상이 될 수 있다.
도구 연결이 필요한 이유는 명확하다. 에이전트가 “테스트를 실행해야 한다”고 판단했는데 테스트 실행 권한이 없으면 루프가 멈춘다. “관련 문서를 확인해야 한다”고 판단했는데 문서 접근 경로가 없으면 추측으로 답할 가능성이 높아진다.
좋은 커넥터 설계에는 다음 원칙이 필요하다.
- 최소 권한 원칙을 적용한다.
- 읽기 권한과 쓰기 권한을 분리한다.
- 위험한 작업에는 승인 단계를 둔다.
- 모든 도구 호출을 로그로 남긴다.
- 민감 정보 접근은 별도 정책으로 제한한다.
- 실패한 도구 호출도 루프 상태에 기록한다.
5. 서브 에이전트: 역할을 나눈 AI 작업자
서브 에이전트는 하나의 메인 에이전트가 모든 일을 처리하지 않고 역할별 에이전트가 협업하도록 만드는 구조다. 사람의 개발팀처럼 설계, 백엔드, 프론트엔드, QA, 보안 검토, 문서화 역할을 분리할 수 있다.
| 역할 | 주요 책임 | 예시 출력 |
|---|---|---|
| 플래너 에이전트 | 요구사항 분석, 작업 분해, 우선순위 설정 | 구현 계획, 작업 목록 |
| 백엔드 에이전트 | API, 데이터 모델, 서버 로직 구현 | 코드 변경, 테스트 |
| 프론트엔드 에이전트 | UI, 상태 관리, 접근성 개선 | 컴포넌트 수정, 화면 테스트 |
| QA 에이전트 | 테스트 실행, 버그 재현, 회귀 검증 | 실패 로그, 재현 절차 |
| 리뷰 에이전트 | 코드 품질, 보안, 스타일 점검 | 리뷰 코멘트, 위험 목록 |
| 문서 에이전트 | 변경 사항 설명, 사용법 작성 | 릴리스 노트, 사용 가이드 |
서브 에이전트 구조의 장점은 전문성을 나눌 수 있다는 점이다. 그러나 에이전트 간 충돌, 중복 작업, 책임 불명확성도 생길 수 있으므로 조정자 역할과 명확한 작업 계약이 필요하다.
6. 메모리: 중단과 재개를 가능하게 하는 상태 저장
메모리는 루프의 현재 상태, 과거 시도, 실패 원인, 결정 이유, 파일 변경, 테스트 결과, 다음 행동 계획을 저장하는 기능이다. 루프가 길어질수록 메모리는 필수에 가까워진다.
메모리는 크게 두 종류로 나눌 수 있다.
- 단기 메모리: 현재 작업 세션의 계획, 로그, 도구 호출 결과, 오류 메시지
- 장기 메모리: 프로젝트 규칙, 과거 해결 방식, 반복되는 버그 패턴, 사용자 선호, 팀 표준
메모리가 없으면 에이전트는 같은 실수를 반복하거나, 중간에 멈춘 작업을 처음부터 다시 시작할 수 있다. 반대로 잘 설계된 메모리는 루프를 안정적으로 이어가고 비용을 줄인다.
루프 엔지니어링의 기본 아키텍처
루프 엔지니어링 시스템은 보통 다음과 같은 구조를 가진다.
- 목표 입력: 인간이 해결할 문제와 완료 기준을 제공한다.
- 컨텍스트 수집: 코드, 문서, 이슈, 로그, 정책을 읽는다.
- 계획 수립: 에이전트가 작업을 작은 단계로 나눈다.
- 실행: 코드 수정, 파일 생성, 데이터 처리, 도구 호출을 수행한다.
- 검증: 테스트, 린트, 타입 검사, 정책 검사, 리뷰를 실행한다.
- 평가: 목표 기준을 충족했는지 판단한다.
- 반복: 실패하면 원인을 분석하고 새 계획으로 돌아간다.
- 종료: 성공, 제한 초과, 위험 감지, 인간 승인 필요 중 하나로 멈춘다.
- 보고: 변경 사항, 검증 결과, 남은 위험, 다음 권장 조치를 요약한다.
이 흐름은 “생각만 반복하는 AI”가 아니라 “실제 환경에서 행동하고 결과를 검증하는 AI”를 전제로 한다.
하네스 엔지니어링과 루프 엔지니어링의 차이
| 구분 | 하네스 엔지니어링 | 루프 엔지니어링 |
|---|---|---|
| 목적 | AI가 안전하게 일할 환경을 만든다 | AI가 목표 달성까지 반복하게 만든다 |
| 중심 요소 | 규칙, 권한, 도구, 절차, 제한 | 반복 실행, 피드백, 재시도, 상태 저장 |
| 실패 대응 | 위험한 행동을 막거나 승인 요청 | 실패 원인을 반영해 다음 시도 생성 |
| 인간 개입 | 정책과 환경 설계에 집중 | 목표 설정, 예외 처리, 최종 승인에 집중 |
| 비유 | 작업장과 안전장비 | 작업장을 계속 움직이는 생산 라인 |
하네스 없이 루프를 만들면 에이전트가 과도한 권한으로 위험한 행동을 할 수 있다. 루프 없이 하네스만 만들면 안전한 환경은 있지만 생산성이 제한된다. 실무에서는 두 접근이 함께 필요하다.