{"content_id":"oswgmcvvui","slug":"loop-engineering-concept-components","locale":"ko","schema_type":"TechArticle","category":"ai_data","category_name":"AI 데이터","title":"루프 엔지니어링의 개념과 필수 구성 요소","summary":"루프 엔지니어링은 인간이 목표와 제약 조건을 정의하면 AI 에이전트가 계획, 실행, 테스트, 수정 과정을 반복해 결과를 개선하도록 만드는 설계 방식이다. 핵심 구성 요소는 오토메이션, 워크트리, 스킬, 플러그인 및 커넥터, 서브 에이전트, 메모리로 정리할 수 있다.","author":{"name":"인조이스 편집팀","url":"https://injoys.com/ko/about"},"key_points":["루프 엔지니어링은 단순 프롬프트 작성이 아니라 AI가 목표 달성까지 반복 실행할 수 있는 작업 시스템을 설계하는 접근이다.","하네스 엔지니어링이 안전한 작업 환경과 규칙을 만든다면, 루프 엔지니어링은 그 환경 안에서 반복 실행 엔진을 작동시킨다.","안전한 루프에는 격리된 작업 공간, 명확한 지침, 도구 연결, 역할 분담, 상태 저장, 중단 조건이 필요하다.","AI 개발 자동화에서 루프는 코드 작성, 테스트 실행, 오류 분석, 재시도, 검토 요청을 하나의 폐쇄형 피드백 주기로 묶는다.","루프 엔지니어링은 생산성을 높일 수 있지만 권한 관리, 비용 통제, 품질 검증, 무한 반복 방지 장치가 없으면 위험해질 수 있다."],"content_markdown":"## 개요\n\n루프 엔지니어링은 AI 에이전트가 하나의 목표를 향해 **계획하고, 실행하고, 결과를 검사하고, 실패 원인을 반영해 다시 시도하는 반복 구조**를 설계하는 방법이다. 특히 소프트웨어 개발, 데이터 처리, 문서 생성, 테스트 자동화처럼 결과 검증이 가능한 작업에서 중요해지고 있다.\n\n이 용어는 아직 모든 표준 문서에서 고정된 학술 용어로 쓰이는 것은 아니다. 다만 실무적으로는 프롬프트 엔지니어링, 컨텍스트 엔지니어링, 하네스 엔지니어링 다음 단계의 개념으로 설명할 수 있다. 핵심은 “AI에게 좋은 지시를 한 번 주는 것”이 아니라 “AI가 안전한 환경 안에서 목표 달성까지 반복할 수 있는 시스템을 만드는 것”이다.\n\n## AI 엔지니어링의 진화: 프롬프트에서 루프까지\n\n| 단계 | 핵심 질문 | 인간의 역할 | AI의 역할 | 대표 산출물 |\n|---|---|---|---|---|\n| 프롬프트 엔지니어링 | 어떻게 물어볼 것인가 | 지시문 작성과 결과 확인 | 단일 응답 생성 | 답변, 초안, 코드 조각 |\n| 컨텍스트 엔지니어링 | 어떤 배경 정보를 줄 것인가 | 문서, 예시, 정책, 데이터 제공 | 주어진 맥락 안에서 추론 | 더 일관된 답변, 맞춤형 결과 |\n| 하네스 엔지니어링 | 어떤 환경과 규칙 안에서 일하게 할 것인가 | 권한, 도구, 절차, 안전 규칙 설계 | 정해진 환경 안에서 도구 사용 | 통제된 에이전트 작업 흐름 |\n| 루프 엔지니어링 | 목표 달성까지 어떻게 반복하게 할 것인가 | 목표, 제약, 평가 기준, 중단 조건 설정 | 실행, 검증, 수정, 재시도 반복 | 자동 개선되는 작업 루프 |\n\n### 프롬프트 엔지니어링\n\n프롬프트 엔지니어링은 AI에게 원하는 결과를 얻기 위해 질문, 명령, 예시, 출력 형식을 정교하게 작성하는 방식이다. 가장 기본적인 상호작용이며, 인간이 매번 지시를 바꾸고 결과를 확인하는 구조에 가깝다.\n\n### 컨텍스트 엔지니어링\n\n컨텍스트 엔지니어링은 모델이 참고할 문서, 정책, 코드베이스 정보, 사용자 선호, 출력 스타일, 과거 대화 등을 함께 제공해 더 정확한 결과를 얻는 방식이다. 긴 컨텍스트 창, 검색 증강 생성, 파일 첨부, 코드베이스 인덱싱 등이 이 단계와 관련된다.\n\n### 하네스 엔지니어링\n\n하네스 엔지니어링은 AI가 도구를 사용하고 여러 단계를 수행할 때 **어떤 절차와 제약 안에서 행동해야 하는지**를 설계한다. 예를 들어 “코드를 수정하기 전에 관련 파일을 읽어라”, “테스트를 통과하지 못하면 병합하지 마라”, “민감 정보가 포함된 파일은 열람하지 마라” 같은 규칙을 환경에 내장한다.\n\n### 루프 엔지니어링\n\n루프 엔지니어링은 하네스가 만든 통제된 작업 환경 위에 **반복 실행 엔진**을 얹는 방식이다. AI 에이전트는 목표를 향해 스스로 다음 행동을 선택하고, 도구를 사용하고, 결과를 평가하고, 실패하면 전략을 수정해 다시 실행한다.\n\n## 루프 엔지니어링의 핵심 정의\n\n루프 엔지니어링은 다음 조건을 만족하는 AI 작업 시스템 설계로 정의할 수 있다.\n\n- 인간은 최종 목표, 허용 범위, 평가 기준, 중단 조건을 정한다.\n- AI 에이전트는 목표 달성을 위해 작업 계획을 세운다.\n- 에이전트는 코드 실행, 테스트, 검색, 파일 수정, API 호출 등 필요한 도구를 사용한다.\n- 실행 결과가 실패하거나 미흡하면 실패 원인을 분석하고 다음 시도를 생성한다.\n- 목표 달성, 예산 초과, 반복 횟수 초과, 위험 신호 발생, 인간 승인 필요 등 중단 조건이 충족되면 루프를 멈춘다.\n\n즉, 루프 엔지니어링의 본질은 **자동화된 피드백 주기**다.\n\n## 왜 루프 엔지니어링이 필요한가\n\n기존 AI 사용 방식에서는 인간이 병목이 되기 쉽다. 인간이 프롬프트를 쓰고, 결과를 확인하고, 다시 수정 요청을 하고, 테스트를 실행하고, 오류 메시지를 복사해 다시 입력해야 하기 때문이다.\n\n루프 엔지니어링은 이 반복 과정을 시스템화한다. 예를 들어 개발 작업에서는 AI가 다음 흐름을 자동으로 반복할 수 있다.\n\n1. 요구사항을 읽고 작업 계획을 세운다.\n2. 별도 작업 공간에서 코드를 수정한다.\n3. 테스트와 린터를 실행한다.\n4. 오류 로그를 분석한다.\n5. 수정 프롬프트 또는 다음 행동을 스스로 만든다.\n6. 다시 코드를 수정한다.\n7. 통과 기준을 만족하면 결과를 정리하고 검토를 요청한다.\n\n이 구조에서는 인간이 모든 중간 단계를 직접 지시하지 않아도 된다. 대신 인간은 목표 설정, 승인, 예외 처리, 최종 품질 판단에 집중한다.\n\n## 루프 엔지니어링의 6가지 필수 구성 요소\n\n### 1. 오토메이션: 루프를 실제로 돌리는 엔진\n\n오토메이션은 루프가 사람의 수동 입력 없이 실행되도록 만드는 기반이다. 작업 큐, 스케줄러, CI/CD 파이프라인, 에이전트 런타임, 이벤트 트리거, 재시도 정책 등이 여기에 포함된다.\n\n오토메이션이 담당하는 기능은 다음과 같다.\n\n- 작업 시작 조건 감지\n- 에이전트 실행\n- 도구 호출과 결과 수집\n- 테스트 또는 검증 단계 실행\n- 실패 시 재시도\n- 로그 저장\n- 인간 승인 단계로 전환\n- 비용, 시간, 반복 횟수 제한\n\n오토메이션은 단순한 “자동 실행”이 아니라 루프의 수명 주기를 관리하는 제어 장치다.\n\n### 2. 워크트리: 안전한 작업 공간\n\n워크트리는 AI가 메인 코드나 실제 운영 데이터를 직접 망치지 않도록 제공하는 격리된 작업 공간이다. Git의 `worktree` 기능처럼 같은 저장소에서 별도 작업 디렉터리를 만들어 독립적으로 수정하고 테스트할 수 있는 방식이 대표적이다.\n\n워크트리가 중요한 이유는 다음과 같다.\n\n- 메인 브랜치 또는 운영 환경을 보호한다.\n- 여러 에이전트가 병렬로 서로 다른 작업을 수행할 수 있다.\n- 실패한 시도를 쉽게 폐기할 수 있다.\n- 변경 사항을 diff로 검토할 수 있다.\n- 테스트가 통과한 변경만 병합 대상으로 삼을 수 있다.\n\n루프 엔지니어링에서 워크트리는 AI의 실험 공간이다. 에이전트가 과감하게 수정하더라도 시스템 전체가 안전하게 유지되려면 작업 공간 격리가 필요하다.\n\n### 3. 스킬: 작업 기준이 되는 지침서\n\n스킬은 AI가 특정 작업을 수행할 때 따라야 하는 지침, 절차, 체크리스트, 코딩 규칙, 설계 원칙, 예시 모음이다. 사람이 신입 팀원에게 온보딩 문서를 제공하듯, 에이전트에게도 업무 수행 기준이 필요하다.\n\n스킬 문서에는 다음 정보가 들어갈 수 있다.\n\n- 프로젝트 구조와 핵심 모듈 설명\n- 코드 스타일과 네이밍 규칙\n- 테스트 작성 방식\n- API 설계 원칙\n- 보안 금지 사항\n- 배포 전 체크리스트\n- 실패했을 때 확인해야 할 로그 위치\n- 결과 보고 형식\n\n스킬이 없으면 에이전트는 매번 일반적인 추론에 의존하게 된다. 반대로 잘 작성된 스킬은 조직의 작업 방식을 AI에게 재사용 가능한 형태로 전달한다.\n\n### 4. 플러그인 및 커넥터: 필요한 도구 접근\n\n플러그인과 커넥터는 AI가 작업 중 필요한 도구와 시스템에 접근하도록 해준다. 예를 들어 코드 저장소, 이슈 트래커, 검색 시스템, 데이터베이스, 문서 저장소, 테스트 실행기, 브라우저, 배포 도구, 알림 시스템 등이 연결 대상이 될 수 있다.\n\n도구 연결이 필요한 이유는 명확하다. 에이전트가 “테스트를 실행해야 한다”고 판단했는데 테스트 실행 권한이 없으면 루프가 멈춘다. “관련 문서를 확인해야 한다”고 판단했는데 문서 접근 경로가 없으면 추측으로 답할 가능성이 높아진다.\n\n좋은 커넥터 설계에는 다음 원칙이 필요하다.\n\n- 최소 권한 원칙을 적용한다.\n- 읽기 권한과 쓰기 권한을 분리한다.\n- 위험한 작업에는 승인 단계를 둔다.\n- 모든 도구 호출을 로그로 남긴다.\n- 민감 정보 접근은 별도 정책으로 제한한다.\n- 실패한 도구 호출도 루프 상태에 기록한다.\n\n### 5. 서브 에이전트: 역할을 나눈 AI 작업자\n\n서브 에이전트는 하나의 메인 에이전트가 모든 일을 처리하지 않고 역할별 에이전트가 협업하도록 만드는 구조다. 사람의 개발팀처럼 설계, 백엔드, 프론트엔드, QA, 보안 검토, 문서화 역할을 분리할 수 있다.\n\n| 역할 | 주요 책임 | 예시 출력 |\n|---|---|---|\n| 플래너 에이전트 | 요구사항 분석, 작업 분해, 우선순위 설정 | 구현 계획, 작업 목록 |\n| 백엔드 에이전트 | API, 데이터 모델, 서버 로직 구현 | 코드 변경, 테스트 |\n| 프론트엔드 에이전트 | UI, 상태 관리, 접근성 개선 | 컴포넌트 수정, 화면 테스트 |\n| QA 에이전트 | 테스트 실행, 버그 재현, 회귀 검증 | 실패 로그, 재현 절차 |\n| 리뷰 에이전트 | 코드 품질, 보안, 스타일 점검 | 리뷰 코멘트, 위험 목록 |\n| 문서 에이전트 | 변경 사항 설명, 사용법 작성 | 릴리스 노트, 사용 가이드 |\n\n서브 에이전트 구조의 장점은 전문성을 나눌 수 있다는 점이다. 그러나 에이전트 간 충돌, 중복 작업, 책임 불명확성도 생길 수 있으므로 조정자 역할과 명확한 작업 계약이 필요하다.\n\n### 6. 메모리: 중단과 재개를 가능하게 하는 상태 저장\n\n메모리는 루프의 현재 상태, 과거 시도, 실패 원인, 결정 이유, 파일 변경, 테스트 결과, 다음 행동 계획을 저장하는 기능이다. 루프가 길어질수록 메모리는 필수에 가까워진다.\n\n메모리는 크게 두 종류로 나눌 수 있다.\n\n- 단기 메모리: 현재 작업 세션의 계획, 로그, 도구 호출 결과, 오류 메시지\n- 장기 메모리: 프로젝트 규칙, 과거 해결 방식, 반복되는 버그 패턴, 사용자 선호, 팀 표준\n\n메모리가 없으면 에이전트는 같은 실수를 반복하거나, 중간에 멈춘 작업을 처음부터 다시 시작할 수 있다. 반대로 잘 설계된 메모리는 루프를 안정적으로 이어가고 비용을 줄인다.\n\n## 루프 엔지니어링의 기본 아키텍처\n\n루프 엔지니어링 시스템은 보통 다음과 같은 구조를 가진다.\n\n1. 목표 입력: 인간이 해결할 문제와 완료 기준을 제공한다.\n2. 컨텍스트 수집: 코드, 문서, 이슈, 로그, 정책을 읽는다.\n3. 계획 수립: 에이전트가 작업을 작은 단계로 나눈다.\n4. 실행: 코드 수정, 파일 생성, 데이터 처리, 도구 호출을 수행한다.\n5. 검증: 테스트, 린트, 타입 검사, 정책 검사, 리뷰를 실행한다.\n6. 평가: 목표 기준을 충족했는지 판단한다.\n7. 반복: 실패하면 원인을 분석하고 새 계획으로 돌아간다.\n8. 종료: 성공, 제한 초과, 위험 감지, 인간 승인 필요 중 하나로 멈춘다.\n9. 보고: 변경 사항, 검증 결과, 남은 위험, 다음 권장 조치를 요약한다.\n\n이 흐름은 “생각만 반복하는 AI”가 아니라 “실제 환경에서 행동하고 결과를 검증하는 AI”를 전제로 한다.\n\n## 하네스 엔지니어링과 루프 엔지니어링의 차이\n\n| 구분 | 하네스 엔지니어링 | 루프 엔지니어링 |\n|---|---|---|\n| 목적 | AI가 안전하게 일할 환경을 만든다 | AI가 목표 달성까지 반복하게 만든다 |\n| 중심 요소 | 규칙, 권한, 도구, 절차, 제한 | 반복 실행, 피드백, 재시도, 상태 저장 |\n| 실패 대응 | 위험한 행동을 막거나 승인 요청 | 실패 원인을 반영해 다음 시도 생성 |\n| 인간 개입 | 정책과 환경 설계에 집중 | 목표 설정, 예외 처리, 최종 승인에 집중 |\n| 비유 | 작업장과 안전장비 | 작업장을 계속 움직이는 생산 라인 |\n\n하네스 없이 루프를 만들면 에이전트가 과도한 권한으로 위험한 행동을 할 수 있다. 루프 없이 하네스만 만들면 안전한 환경은 있지만 생산성이 제한된다. 실무에서는 두 접근이 함께 필요하다.\n\n## 적용 예시: AI 코딩 에이전트의 루프\n\n소프트웨어 개발에서 루프 엔지니어링은 비교적 이해하기 쉽다. 예를 들어 “로그인 오류를 수정하라”는 목표가 주어졌다고 하자.\n\n### 입력\n\n- 목표: 특정 조건에서 로그인 실패가 발생하는 버그 수정\n- 완료 기준: 관련 테스트 통과, 기존 로그인 기능 회귀 없음, 변경 요약 제출\n- 제약: 인증 토큰 저장 방식 변경 금지, 사용자 데이터베이스 직접 수정 금지\n\n### 루프 실행\n\n1. 에이전트가 이슈 설명과 관련 파일을 읽는다.\n2. 워크트리에서 별도 브랜치 또는 작업 디렉터리를 만든다.\n3. 실패 테스트를 재현한다.\n4. 오류 로그와 관련 코드를 분석한다.\n5. 수정안을 적용한다.\n6. 테스트를 실행한다.\n7. 실패하면 원인을 요약하고 다른 수정안을 시도한다.\n8. 성공하면 diff, 테스트 결과, 위험 요소를 정리한다.\n9. 인간 리뷰어에게 병합 승인을 요청한다.\n\n이 예시에서 인간은 매번 오류 로그를 복사해 새 프롬프트를 작성하지 않는다. 대신 루프가 반복 작업을 수행하고, 인간은 최종 판단과 책임이 필요한 단계에 개입한다.\n\n## 설계할 때 반드시 정해야 할 통제 변수\n\n루프 엔지니어링은 무한 반복을 전제로 설명되기도 하지만, 실제 시스템에서 “무한”은 위험하다. 안전한 루프에는 명확한 제한이 필요하다.\n\n| 통제 변수 | 설명 | 예시 |\n|---|---|---|\n| 최대 반복 횟수 | 같은 작업을 몇 번까지 재시도할지 제한 | 최대 5회 재시도 |\n| 시간 예산 | 루프 실행 시간을 제한 | 30분 초과 시 중단 |\n| 비용 예산 | 모델 호출, 도구 사용, 인프라 비용 제한 | 작업당 10달러 이하 |\n| 권한 범위 | 읽기, 쓰기, 실행, 배포 권한을 분리 | 운영 DB 쓰기 금지 |\n| 승인 지점 | 인간 검토가 필요한 순간 정의 | 배포, 삭제, 결제, 외부 전송 전 승인 |\n| 성공 기준 | 완료로 판단할 객관적 조건 | 테스트 통과, 정확도 기준 충족 |\n| 실패 기준 | 중단해야 하는 위험 신호 | 같은 오류 3회 반복, 보안 경고 발생 |\n\n좋은 루프는 많이 도는 루프가 아니라 **적절한 순간에 멈출 줄 아는 루프**다.\n\n## 품질 평가 기준\n\n루프 엔지니어링 시스템을 평가할 때는 단순히 “AI가 답을 냈는가”가 아니라 다음 지표를 함께 봐야 한다.\n\n- 목표 달성률: 주어진 작업을 성공적으로 완료한 비율\n- 첫 성공까지 걸린 반복 횟수: 불필요한 재시도 여부\n- 테스트 통과율: 자동 검증 기준 충족 여부\n- 회귀 발생률: 기존 기능을 깨뜨린 비율\n- 인간 개입 횟수: 자동화가 실제 병목을 줄였는지\n- 비용 대비 효과: 모델 호출 비용과 인프라 비용 대비 성과\n- 감사 가능성: 어떤 도구를 왜 호출했는지 추적 가능한지\n- 안전 위반률: 금지된 파일, API, 데이터에 접근했는지\n- 재현 가능성: 같은 조건에서 유사한 결과가 나오는지\n\n특히 소프트웨어 개발에서는 테스트 통과만으로 충분하지 않을 수 있다. 보안, 성능, 유지보수성, 사용자 경험도 함께 검토해야 한다.\n\n## 흔한 실패 패턴\n\n### 1. 성공 기준이 모호한 경우\n\n“좋게 만들어줘”처럼 완료 기준이 불명확하면 루프는 멈출 근거를 찾기 어렵다. “단위 테스트 3개 추가, 기존 테스트 모두 통과, 응답 시간 200ms 이하 유지”처럼 검증 가능한 기준이 필요하다.\n\n### 2. 도구 권한이 과도한 경우\n\n에이전트에게 운영 데이터베이스 쓰기, 배포, 외부 메일 발송 같은 권한을 무제한으로 주면 작은 판단 오류가 큰 사고로 이어질 수 있다. 위험한 도구는 승인 기반으로 분리해야 한다.\n\n### 3. 메모리가 없거나 오염된 경우\n\n상태 저장이 없으면 같은 실패를 반복한다. 반대로 잘못된 메모리가 축적되면 잘못된 전제를 계속 재사용할 수 있다. 메모리에는 검증된 사실, 추정, 실패 기록을 구분해 저장하는 것이 좋다.\n\n### 4. 서브 에이전트 간 책임이 겹치는 경우\n\n여러 에이전트가 같은 파일을 동시에 수정하면 충돌이 발생할 수 있다. 작업 범위, 파일 소유권, 리뷰 순서, 병합 규칙을 정해야 한다.\n\n### 5. 비용 제한이 없는 경우\n\n루프는 반복 구조이므로 모델 호출과 도구 실행 비용이 빠르게 증가할 수 있다. 반복 횟수, 토큰 사용량, 외부 API 호출 수, 실행 시간을 제한해야 한다.\n\n## 구현 체크리스트\n\n루프 엔지니어링을 실제 프로젝트에 적용할 때는 다음 순서로 점검하는 것이 좋다.\n\n### 목표와 평가 기준\n\n- 해결할 문제를 한 문장으로 정의했는가?\n- 완료 기준이 자동 검증 가능한가?\n- 인간 승인이 필요한 기준을 구분했는가?\n- 실패 시 중단 조건이 있는가?\n\n### 작업 환경\n\n- 메인 코드와 분리된 워크트리가 있는가?\n- 테스트 실행 환경이 재현 가능한가?\n- 비밀 키와 민감 정보 접근을 제한했는가?\n- 변경 사항을 diff로 추적할 수 있는가?\n\n### 지침과 컨텍스트\n\n- 프로젝트 구조 설명이 있는가?\n- 코딩 규칙과 테스트 규칙이 문서화되어 있는가?\n- 금지 행동과 보안 규칙이 명확한가?\n- 에이전트가 참고할 문서가 최신인가?\n\n### 도구와 권한\n\n- 필요한 도구가 사전에 연결되어 있는가?\n- 도구별 권한이 최소화되어 있는가?\n- 위험한 도구 호출에 승인 단계가 있는가?\n- 모든 도구 호출 로그가 남는가?\n\n### 루프 제어\n\n- 최대 반복 횟수와 시간 제한이 있는가?\n- 비용 제한이 있는가?\n- 같은 오류 반복을 감지하는가?\n- 중간 상태를 저장하고 재개할 수 있는가?\n\n## 루프 엔지니어링이 적합한 작업과 부적합한 작업\n\n| 작업 유형 | 적합도 | 이유 |\n|---|---:|---|\n| 테스트가 있는 코드 수정 | 높음 | 실행 결과로 성공 여부를 판단하기 쉽다 |\n| 린트, 포맷팅, 마이그레이션 | 높음 | 반복적이고 검증 기준이 명확하다 |\n| 문서 초안 생성과 검수 | 중간 | 자동화 가능하지만 사실 검증이 필요하다 |\n| 데이터 정제 | 중간~높음 | 규칙과 샘플 검증이 있으면 효과적이다 |\n| 보안 패치 | 중간 | 자동화 가능하지만 전문가 검토가 필요하다 |\n| 법률 판단, 의료 진단, 투자 조언 | 낮음 | 책임과 전문성, 규제 위험이 크다 |\n| 운영 시스템 직접 변경 | 낮음 | 승인 없는 자동 루프는 사고 위험이 크다 |\n\n루프 엔지니어링은 “검증 가능한 작업”에서 가장 강하다. 검증 기준이 불명확하거나 책임이 큰 의사결정은 인간 전문가의 통제가 필수다.\n\n## 실무 적용 로드맵\n\n### 1단계: 단일 작업 루프 만들기\n\n먼저 작은 작업 하나를 대상으로 시작한다. 예를 들어 테스트 실패를 고치는 루프, 문서 링크 오류를 수정하는 루프, 타입 오류를 해결하는 루프처럼 범위를 좁힌다.\n\n### 2단계: 하네스 고정하기\n\n작업 전 확인, 수정 가능 파일, 실행 가능한 명령, 금지 행동, 승인 조건을 문서화한다. 이 단계가 약하면 루프가 커질수록 위험도 함께 커진다.\n\n### 3단계: 워크트리와 로그 체계 만들기\n\n모든 변경은 격리된 공간에서 수행하고, 도구 호출과 테스트 결과를 기록한다. 실패한 시도도 중요한 데이터다.\n\n### 4단계: 스킬 문서화\n\n반복적으로 필요한 지식을 스킬로 만든다. “이 프로젝트에서 테스트를 추가하는 법”, “API 변경 시 체크리스트”, “프론트엔드 접근성 기준” 같은 문서가 유용하다.\n\n### 5단계: 서브 에이전트 분리\n\n작업이 복잡해지면 플래너, 구현자, QA, 리뷰어를 분리한다. 처음부터 과도하게 많은 에이전트를 만들기보다 병목이 확인된 역할부터 나누는 것이 좋다.\n\n### 6단계: 메모리와 평가 지표 개선\n\n반복 실패 원인, 성공 패턴, 비용, 인간 개입 횟수를 기록한다. 이 데이터를 기반으로 루프의 효율과 안전성을 개선한다.\n\n## 결론\n\n루프 엔지니어링은 AI 에이전트를 단순 응답 생성기에서 **목표 지향적 작업 수행 시스템**으로 바꾸는 설계 접근이다. 핵심은 AI에게 무작정 자율성을 주는 것이 아니라, 하네스 엔지니어링으로 통제된 환경을 만들고 그 안에서 오토메이션, 워크트리, 스킬, 플러그인 및 커넥터, 서브 에이전트, 메모리를 결합해 안전한 반복 구조를 만드는 것이다.\n\n잘 설계된 루프는 인간의 반복 지시 부담을 줄이고 작업 속도를 높인다. 그러나 안전장치 없는 루프는 비용 증가, 품질 저하, 권한 오남용, 무한 반복 문제를 만들 수 있다. 따라서 루프 엔지니어링의 핵심 원칙은 “자동화하되, 검증 가능하게 만들고, 필요한 순간에는 반드시 멈추게 하는 것”이다.","content_html":"\u003ch2\u003e\n\u003ca href=\"#%EA%B0%9C%EC%9A%94\" class=\"anchor\" id=\"개요\"\u003e\u003c/a\u003e개요\u003c/h2\u003e\n\u003cp\u003e루프 엔지니어링은 AI 에이전트가 하나의 목표를 향해 \u003cstrong\u003e계획하고, 실행하고, 결과를 검사하고, 실패 원인을 반영해 다시 시도하는 반복 구조\u003c/strong\u003e를 설계하는 방법이다. 특히 소프트웨어 개발, 데이터 처리, 문서 생성, 테스트 자동화처럼 결과 검증이 가능한 작업에서 중요해지고 있다.\u003c/p\u003e\n\u003cp\u003e이 용어는 아직 모든 표준 문서에서 고정된 학술 용어로 쓰이는 것은 아니다. 다만 실무적으로는 프롬프트 엔지니어링, 컨텍스트 엔지니어링, 하네스 엔지니어링 다음 단계의 개념으로 설명할 수 있다. 핵심은 “AI에게 좋은 지시를 한 번 주는 것”이 아니라 “AI가 안전한 환경 안에서 목표 달성까지 반복할 수 있는 시스템을 만드는 것”이다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#ai-%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81%EC%9D%98-%EC%A7%84%ED%99%94-%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8%EC%97%90%EC%84%9C-%EB%A3%A8%ED%94%84%EA%B9%8C%EC%A7%80\" class=\"anchor\" id=\"ai-엔지니어링의-진화-프롬프트에서-루프까지\"\u003e\u003c/a\u003eAI 엔지니어링의 진화: 프롬프트에서 루프까지\u003c/h2\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e단계\u003c/th\u003e\n\u003cth\u003e핵심 질문\u003c/th\u003e\n\u003cth\u003e인간의 역할\u003c/th\u003e\n\u003cth\u003eAI의 역할\u003c/th\u003e\n\u003cth\u003e대표 산출물\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"단계\"\u003e프롬프트 엔지니어링\u003c/td\u003e\n\u003ctd data-label=\"핵심 질문\"\u003e어떻게 물어볼 것인가\u003c/td\u003e\n\u003ctd data-label=\"인간의 역할\"\u003e지시문 작성과 결과 확인\u003c/td\u003e\n\u003ctd data-label=\"AI의 역할\"\u003e단일 응답 생성\u003c/td\u003e\n\u003ctd data-label=\"대표 산출물\"\u003e답변, 초안, 코드 조각\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"단계\"\u003e컨텍스트 엔지니어링\u003c/td\u003e\n\u003ctd data-label=\"핵심 질문\"\u003e어떤 배경 정보를 줄 것인가\u003c/td\u003e\n\u003ctd data-label=\"인간의 역할\"\u003e문서, 예시, 정책, 데이터 제공\u003c/td\u003e\n\u003ctd data-label=\"AI의 역할\"\u003e주어진 맥락 안에서 추론\u003c/td\u003e\n\u003ctd data-label=\"대표 산출물\"\u003e더 일관된 답변, 맞춤형 결과\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"단계\"\u003e하네스 엔지니어링\u003c/td\u003e\n\u003ctd data-label=\"핵심 질문\"\u003e어떤 환경과 규칙 안에서 일하게 할 것인가\u003c/td\u003e\n\u003ctd data-label=\"인간의 역할\"\u003e권한, 도구, 절차, 안전 규칙 설계\u003c/td\u003e\n\u003ctd data-label=\"AI의 역할\"\u003e정해진 환경 안에서 도구 사용\u003c/td\u003e\n\u003ctd data-label=\"대표 산출물\"\u003e통제된 에이전트 작업 흐름\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"단계\"\u003e루프 엔지니어링\u003c/td\u003e\n\u003ctd data-label=\"핵심 질문\"\u003e목표 달성까지 어떻게 반복하게 할 것인가\u003c/td\u003e\n\u003ctd data-label=\"인간의 역할\"\u003e목표, 제약, 평가 기준, 중단 조건 설정\u003c/td\u003e\n\u003ctd data-label=\"AI의 역할\"\u003e실행, 검증, 수정, 재시도 반복\u003c/td\u003e\n\u003ctd data-label=\"대표 산출물\"\u003e자동 개선되는 작업 루프\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003ch3\u003e\n\u003ca href=\"#%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8-%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81\" class=\"anchor\" id=\"프롬프트-엔지니어링\"\u003e\u003c/a\u003e프롬프트 엔지니어링\u003c/h3\u003e\n\u003cp\u003e프롬프트 엔지니어링은 AI에게 원하는 결과를 얻기 위해 질문, 명령, 예시, 출력 형식을 정교하게 작성하는 방식이다. 가장 기본적인 상호작용이며, 인간이 매번 지시를 바꾸고 결과를 확인하는 구조에 가깝다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EC%BB%A8%ED%85%8D%EC%8A%A4%ED%8A%B8-%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81\" class=\"anchor\" id=\"컨텍스트-엔지니어링\"\u003e\u003c/a\u003e컨텍스트 엔지니어링\u003c/h3\u003e\n\u003cp\u003e컨텍스트 엔지니어링은 모델이 참고할 문서, 정책, 코드베이스 정보, 사용자 선호, 출력 스타일, 과거 대화 등을 함께 제공해 더 정확한 결과를 얻는 방식이다. 긴 컨텍스트 창, 검색 증강 생성, 파일 첨부, 코드베이스 인덱싱 등이 이 단계와 관련된다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#%ED%95%98%EB%84%A4%EC%8A%A4-%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81\" class=\"anchor\" id=\"하네스-엔지니어링\"\u003e\u003c/a\u003e하네스 엔지니어링\u003c/h3\u003e\n\u003cp\u003e하네스 엔지니어링은 AI가 도구를 사용하고 여러 단계를 수행할 때 \u003cstrong\u003e어떤 절차와 제약 안에서 행동해야 하는지\u003c/strong\u003e를 설계한다. 예를 들어 “코드를 수정하기 전에 관련 파일을 읽어라”, “테스트를 통과하지 못하면 병합하지 마라”, “민감 정보가 포함된 파일은 열람하지 마라” 같은 규칙을 환경에 내장한다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EB%A3%A8%ED%94%84-%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81\" class=\"anchor\" id=\"루프-엔지니어링\"\u003e\u003c/a\u003e루프 엔지니어링\u003c/h3\u003e\n\u003cp\u003e루프 엔지니어링은 하네스가 만든 통제된 작업 환경 위에 \u003cstrong\u003e반복 실행 엔진\u003c/strong\u003e을 얹는 방식이다. AI 에이전트는 목표를 향해 스스로 다음 행동을 선택하고, 도구를 사용하고, 결과를 평가하고, 실패하면 전략을 수정해 다시 실행한다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EB%A3%A8%ED%94%84-%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81%EC%9D%98-%ED%95%B5%EC%8B%AC-%EC%A0%95%EC%9D%98\" class=\"anchor\" id=\"루프-엔지니어링의-핵심-정의\"\u003e\u003c/a\u003e루프 엔지니어링의 핵심 정의\u003c/h2\u003e\n\u003cp\u003e루프 엔지니어링은 다음 조건을 만족하는 AI 작업 시스템 설계로 정의할 수 있다.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e인간은 최종 목표, 허용 범위, 평가 기준, 중단 조건을 정한다.\u003c/li\u003e\n\u003cli\u003eAI 에이전트는 목표 달성을 위해 작업 계획을 세운다.\u003c/li\u003e\n\u003cli\u003e에이전트는 코드 실행, 테스트, 검색, 파일 수정, API 호출 등 필요한 도구를 사용한다.\u003c/li\u003e\n\u003cli\u003e실행 결과가 실패하거나 미흡하면 실패 원인을 분석하고 다음 시도를 생성한다.\u003c/li\u003e\n\u003cli\u003e목표 달성, 예산 초과, 반복 횟수 초과, 위험 신호 발생, 인간 승인 필요 등 중단 조건이 충족되면 루프를 멈춘다.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e즉, 루프 엔지니어링의 본질은 \u003cstrong\u003e자동화된 피드백 주기\u003c/strong\u003e다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EC%99%9C-%EB%A3%A8%ED%94%84-%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81%EC%9D%B4-%ED%95%84%EC%9A%94%ED%95%9C%EA%B0%80\" class=\"anchor\" id=\"왜-루프-엔지니어링이-필요한가\"\u003e\u003c/a\u003e왜 루프 엔지니어링이 필요한가\u003c/h2\u003e\n\u003cp\u003e기존 AI 사용 방식에서는 인간이 병목이 되기 쉽다. 인간이 프롬프트를 쓰고, 결과를 확인하고, 다시 수정 요청을 하고, 테스트를 실행하고, 오류 메시지를 복사해 다시 입력해야 하기 때문이다.\u003c/p\u003e\n\u003cp\u003e루프 엔지니어링은 이 반복 과정을 시스템화한다. 예를 들어 개발 작업에서는 AI가 다음 흐름을 자동으로 반복할 수 있다.\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e요구사항을 읽고 작업 계획을 세운다.\u003c/li\u003e\n\u003cli\u003e별도 작업 공간에서 코드를 수정한다.\u003c/li\u003e\n\u003cli\u003e테스트와 린터를 실행한다.\u003c/li\u003e\n\u003cli\u003e오류 로그를 분석한다.\u003c/li\u003e\n\u003cli\u003e수정 프롬프트 또는 다음 행동을 스스로 만든다.\u003c/li\u003e\n\u003cli\u003e다시 코드를 수정한다.\u003c/li\u003e\n\u003cli\u003e통과 기준을 만족하면 결과를 정리하고 검토를 요청한다.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e이 구조에서는 인간이 모든 중간 단계를 직접 지시하지 않아도 된다. 대신 인간은 목표 설정, 승인, 예외 처리, 최종 품질 판단에 집중한다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EB%A3%A8%ED%94%84-%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81%EC%9D%98-6%EA%B0%80%EC%A7%80-%ED%95%84%EC%88%98-%EA%B5%AC%EC%84%B1-%EC%9A%94%EC%86%8C\" class=\"anchor\" id=\"루프-엔지니어링의-6가지-필수-구성-요소\"\u003e\u003c/a\u003e루프 엔지니어링의 6가지 필수 구성 요소\u003c/h2\u003e\n\u003ch3\u003e\n\u003ca href=\"#1-%EC%98%A4%ED%86%A0%EB%A9%94%EC%9D%B4%EC%85%98-%EB%A3%A8%ED%94%84%EB%A5%BC-%EC%8B%A4%EC%A0%9C%EB%A1%9C-%EB%8F%8C%EB%A6%AC%EB%8A%94-%EC%97%94%EC%A7%84\" class=\"anchor\" id=\"1-오토메이션-루프를-실제로-돌리는-엔진\"\u003e\u003c/a\u003e1. 오토메이션: 루프를 실제로 돌리는 엔진\u003c/h3\u003e\n\u003cp\u003e오토메이션은 루프가 사람의 수동 입력 없이 실행되도록 만드는 기반이다. 작업 큐, 스케줄러, CI/CD 파이프라인, 에이전트 런타임, 이벤트 트리거, 재시도 정책 등이 여기에 포함된다.\u003c/p\u003e\n\u003cp\u003e오토메이션이 담당하는 기능은 다음과 같다.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e작업 시작 조건 감지\u003c/li\u003e\n\u003cli\u003e에이전트 실행\u003c/li\u003e\n\u003cli\u003e도구 호출과 결과 수집\u003c/li\u003e\n\u003cli\u003e테스트 또는 검증 단계 실행\u003c/li\u003e\n\u003cli\u003e실패 시 재시도\u003c/li\u003e\n\u003cli\u003e로그 저장\u003c/li\u003e\n\u003cli\u003e인간 승인 단계로 전환\u003c/li\u003e\n\u003cli\u003e비용, 시간, 반복 횟수 제한\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e오토메이션은 단순한 “자동 실행”이 아니라 루프의 수명 주기를 관리하는 제어 장치다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#2-%EC%9B%8C%ED%81%AC%ED%8A%B8%EB%A6%AC-%EC%95%88%EC%A0%84%ED%95%9C-%EC%9E%91%EC%97%85-%EA%B3%B5%EA%B0%84\" class=\"anchor\" id=\"2-워크트리-안전한-작업-공간\"\u003e\u003c/a\u003e2. 워크트리: 안전한 작업 공간\u003c/h3\u003e\n\u003cp\u003e워크트리는 AI가 메인 코드나 실제 운영 데이터를 직접 망치지 않도록 제공하는 격리된 작업 공간이다. Git의 \u003ccode\u003eworktree\u003c/code\u003e 기능처럼 같은 저장소에서 별도 작업 디렉터리를 만들어 독립적으로 수정하고 테스트할 수 있는 방식이 대표적이다.\u003c/p\u003e\n\u003cp\u003e워크트리가 중요한 이유는 다음과 같다.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e메인 브랜치 또는 운영 환경을 보호한다.\u003c/li\u003e\n\u003cli\u003e여러 에이전트가 병렬로 서로 다른 작업을 수행할 수 있다.\u003c/li\u003e\n\u003cli\u003e실패한 시도를 쉽게 폐기할 수 있다.\u003c/li\u003e\n\u003cli\u003e변경 사항을 diff로 검토할 수 있다.\u003c/li\u003e\n\u003cli\u003e테스트가 통과한 변경만 병합 대상으로 삼을 수 있다.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e루프 엔지니어링에서 워크트리는 AI의 실험 공간이다. 에이전트가 과감하게 수정하더라도 시스템 전체가 안전하게 유지되려면 작업 공간 격리가 필요하다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#3-%EC%8A%A4%ED%82%AC-%EC%9E%91%EC%97%85-%EA%B8%B0%EC%A4%80%EC%9D%B4-%EB%90%98%EB%8A%94-%EC%A7%80%EC%B9%A8%EC%84%9C\" class=\"anchor\" id=\"3-스킬-작업-기준이-되는-지침서\"\u003e\u003c/a\u003e3. 스킬: 작업 기준이 되는 지침서\u003c/h3\u003e\n\u003cp\u003e스킬은 AI가 특정 작업을 수행할 때 따라야 하는 지침, 절차, 체크리스트, 코딩 규칙, 설계 원칙, 예시 모음이다. 사람이 신입 팀원에게 온보딩 문서를 제공하듯, 에이전트에게도 업무 수행 기준이 필요하다.\u003c/p\u003e\n\u003cp\u003e스킬 문서에는 다음 정보가 들어갈 수 있다.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e프로젝트 구조와 핵심 모듈 설명\u003c/li\u003e\n\u003cli\u003e코드 스타일과 네이밍 규칙\u003c/li\u003e\n\u003cli\u003e테스트 작성 방식\u003c/li\u003e\n\u003cli\u003eAPI 설계 원칙\u003c/li\u003e\n\u003cli\u003e보안 금지 사항\u003c/li\u003e\n\u003cli\u003e배포 전 체크리스트\u003c/li\u003e\n\u003cli\u003e실패했을 때 확인해야 할 로그 위치\u003c/li\u003e\n\u003cli\u003e결과 보고 형식\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e스킬이 없으면 에이전트는 매번 일반적인 추론에 의존하게 된다. 반대로 잘 작성된 스킬은 조직의 작업 방식을 AI에게 재사용 가능한 형태로 전달한다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#4-%ED%94%8C%EB%9F%AC%EA%B7%B8%EC%9D%B8-%EB%B0%8F-%EC%BB%A4%EB%84%A5%ED%84%B0-%ED%95%84%EC%9A%94%ED%95%9C-%EB%8F%84%EA%B5%AC-%EC%A0%91%EA%B7%BC\" class=\"anchor\" id=\"4-플러그인-및-커넥터-필요한-도구-접근\"\u003e\u003c/a\u003e4. 플러그인 및 커넥터: 필요한 도구 접근\u003c/h3\u003e\n\u003cp\u003e플러그인과 커넥터는 AI가 작업 중 필요한 도구와 시스템에 접근하도록 해준다. 예를 들어 코드 저장소, 이슈 트래커, 검색 시스템, 데이터베이스, 문서 저장소, 테스트 실행기, 브라우저, 배포 도구, 알림 시스템 등이 연결 대상이 될 수 있다.\u003c/p\u003e\n\u003cp\u003e도구 연결이 필요한 이유는 명확하다. 에이전트가 “테스트를 실행해야 한다”고 판단했는데 테스트 실행 권한이 없으면 루프가 멈춘다. “관련 문서를 확인해야 한다”고 판단했는데 문서 접근 경로가 없으면 추측으로 답할 가능성이 높아진다.\u003c/p\u003e\n\u003cp\u003e좋은 커넥터 설계에는 다음 원칙이 필요하다.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e최소 권한 원칙을 적용한다.\u003c/li\u003e\n\u003cli\u003e읽기 권한과 쓰기 권한을 분리한다.\u003c/li\u003e\n\u003cli\u003e위험한 작업에는 승인 단계를 둔다.\u003c/li\u003e\n\u003cli\u003e모든 도구 호출을 로그로 남긴다.\u003c/li\u003e\n\u003cli\u003e민감 정보 접근은 별도 정책으로 제한한다.\u003c/li\u003e\n\u003cli\u003e실패한 도구 호출도 루프 상태에 기록한다.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#5-%EC%84%9C%EB%B8%8C-%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8-%EC%97%AD%ED%95%A0%EC%9D%84-%EB%82%98%EB%88%88-ai-%EC%9E%91%EC%97%85%EC%9E%90\" class=\"anchor\" id=\"5-서브-에이전트-역할을-나눈-ai-작업자\"\u003e\u003c/a\u003e5. 서브 에이전트: 역할을 나눈 AI 작업자\u003c/h3\u003e\n\u003cp\u003e서브 에이전트는 하나의 메인 에이전트가 모든 일을 처리하지 않고 역할별 에이전트가 협업하도록 만드는 구조다. 사람의 개발팀처럼 설계, 백엔드, 프론트엔드, QA, 보안 검토, 문서화 역할을 분리할 수 있다.\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e역할\u003c/th\u003e\n\u003cth\u003e주요 책임\u003c/th\u003e\n\u003cth\u003e예시 출력\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"역할\"\u003e플래너 에이전트\u003c/td\u003e\n\u003ctd data-label=\"주요 책임\"\u003e요구사항 분석, 작업 분해, 우선순위 설정\u003c/td\u003e\n\u003ctd data-label=\"예시 출력\"\u003e구현 계획, 작업 목록\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"역할\"\u003e백엔드 에이전트\u003c/td\u003e\n\u003ctd data-label=\"주요 책임\"\u003eAPI, 데이터 모델, 서버 로직 구현\u003c/td\u003e\n\u003ctd data-label=\"예시 출력\"\u003e코드 변경, 테스트\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"역할\"\u003e프론트엔드 에이전트\u003c/td\u003e\n\u003ctd data-label=\"주요 책임\"\u003eUI, 상태 관리, 접근성 개선\u003c/td\u003e\n\u003ctd data-label=\"예시 출력\"\u003e컴포넌트 수정, 화면 테스트\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"역할\"\u003eQA 에이전트\u003c/td\u003e\n\u003ctd data-label=\"주요 책임\"\u003e테스트 실행, 버그 재현, 회귀 검증\u003c/td\u003e\n\u003ctd data-label=\"예시 출력\"\u003e실패 로그, 재현 절차\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"역할\"\u003e리뷰 에이전트\u003c/td\u003e\n\u003ctd data-label=\"주요 책임\"\u003e코드 품질, 보안, 스타일 점검\u003c/td\u003e\n\u003ctd data-label=\"예시 출력\"\u003e리뷰 코멘트, 위험 목록\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"역할\"\u003e문서 에이전트\u003c/td\u003e\n\u003ctd data-label=\"주요 책임\"\u003e변경 사항 설명, 사용법 작성\u003c/td\u003e\n\u003ctd data-label=\"예시 출력\"\u003e릴리스 노트, 사용 가이드\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003e서브 에이전트 구조의 장점은 전문성을 나눌 수 있다는 점이다. 그러나 에이전트 간 충돌, 중복 작업, 책임 불명확성도 생길 수 있으므로 조정자 역할과 명확한 작업 계약이 필요하다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#6-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EC%A4%91%EB%8B%A8%EA%B3%BC-%EC%9E%AC%EA%B0%9C%EB%A5%BC-%EA%B0%80%EB%8A%A5%ED%95%98%EA%B2%8C-%ED%95%98%EB%8A%94-%EC%83%81%ED%83%9C-%EC%A0%80%EC%9E%A5\" class=\"anchor\" id=\"6-메모리-중단과-재개를-가능하게-하는-상태-저장\"\u003e\u003c/a\u003e6. 메모리: 중단과 재개를 가능하게 하는 상태 저장\u003c/h3\u003e\n\u003cp\u003e메모리는 루프의 현재 상태, 과거 시도, 실패 원인, 결정 이유, 파일 변경, 테스트 결과, 다음 행동 계획을 저장하는 기능이다. 루프가 길어질수록 메모리는 필수에 가까워진다.\u003c/p\u003e\n\u003cp\u003e메모리는 크게 두 종류로 나눌 수 있다.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e단기 메모리: 현재 작업 세션의 계획, 로그, 도구 호출 결과, 오류 메시지\u003c/li\u003e\n\u003cli\u003e장기 메모리: 프로젝트 규칙, 과거 해결 방식, 반복되는 버그 패턴, 사용자 선호, 팀 표준\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e메모리가 없으면 에이전트는 같은 실수를 반복하거나, 중간에 멈춘 작업을 처음부터 다시 시작할 수 있다. 반대로 잘 설계된 메모리는 루프를 안정적으로 이어가고 비용을 줄인다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EB%A3%A8%ED%94%84-%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81%EC%9D%98-%EA%B8%B0%EB%B3%B8-%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98\" class=\"anchor\" id=\"루프-엔지니어링의-기본-아키텍처\"\u003e\u003c/a\u003e루프 엔지니어링의 기본 아키텍처\u003c/h2\u003e\n\u003cp\u003e루프 엔지니어링 시스템은 보통 다음과 같은 구조를 가진다.\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e목표 입력: 인간이 해결할 문제와 완료 기준을 제공한다.\u003c/li\u003e\n\u003cli\u003e컨텍스트 수집: 코드, 문서, 이슈, 로그, 정책을 읽는다.\u003c/li\u003e\n\u003cli\u003e계획 수립: 에이전트가 작업을 작은 단계로 나눈다.\u003c/li\u003e\n\u003cli\u003e실행: 코드 수정, 파일 생성, 데이터 처리, 도구 호출을 수행한다.\u003c/li\u003e\n\u003cli\u003e검증: 테스트, 린트, 타입 검사, 정책 검사, 리뷰를 실행한다.\u003c/li\u003e\n\u003cli\u003e평가: 목표 기준을 충족했는지 판단한다.\u003c/li\u003e\n\u003cli\u003e반복: 실패하면 원인을 분석하고 새 계획으로 돌아간다.\u003c/li\u003e\n\u003cli\u003e종료: 성공, 제한 초과, 위험 감지, 인간 승인 필요 중 하나로 멈춘다.\u003c/li\u003e\n\u003cli\u003e보고: 변경 사항, 검증 결과, 남은 위험, 다음 권장 조치를 요약한다.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e이 흐름은 “생각만 반복하는 AI”가 아니라 “실제 환경에서 행동하고 결과를 검증하는 AI”를 전제로 한다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%ED%95%98%EB%84%A4%EC%8A%A4-%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81%EA%B3%BC-%EB%A3%A8%ED%94%84-%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81%EC%9D%98-%EC%B0%A8%EC%9D%B4\" class=\"anchor\" id=\"하네스-엔지니어링과-루프-엔지니어링의-차이\"\u003e\u003c/a\u003e하네스 엔지니어링과 루프 엔지니어링의 차이\u003c/h2\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e구분\u003c/th\u003e\n\u003cth\u003e하네스 엔지니어링\u003c/th\u003e\n\u003cth\u003e루프 엔지니어링\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"구분\"\u003e목적\u003c/td\u003e\n\u003ctd data-label=\"하네스 엔지니어링\"\u003eAI가 안전하게 일할 환경을 만든다\u003c/td\u003e\n\u003ctd data-label=\"루프 엔지니어링\"\u003eAI가 목표 달성까지 반복하게 만든다\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"구분\"\u003e중심 요소\u003c/td\u003e\n\u003ctd data-label=\"하네스 엔지니어링\"\u003e규칙, 권한, 도구, 절차, 제한\u003c/td\u003e\n\u003ctd data-label=\"루프 엔지니어링\"\u003e반복 실행, 피드백, 재시도, 상태 저장\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"구분\"\u003e실패 대응\u003c/td\u003e\n\u003ctd data-label=\"하네스 엔지니어링\"\u003e위험한 행동을 막거나 승인 요청\u003c/td\u003e\n\u003ctd data-label=\"루프 엔지니어링\"\u003e실패 원인을 반영해 다음 시도 생성\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"구분\"\u003e인간 개입\u003c/td\u003e\n\u003ctd data-label=\"하네스 엔지니어링\"\u003e정책과 환경 설계에 집중\u003c/td\u003e\n\u003ctd data-label=\"루프 엔지니어링\"\u003e목표 설정, 예외 처리, 최종 승인에 집중\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"구분\"\u003e비유\u003c/td\u003e\n\u003ctd data-label=\"하네스 엔지니어링\"\u003e작업장과 안전장비\u003c/td\u003e\n\u003ctd data-label=\"루프 엔지니어링\"\u003e작업장을 계속 움직이는 생산 라인\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003e하네스 없이 루프를 만들면 에이전트가 과도한 권한으로 위험한 행동을 할 수 있다. 루프 없이 하네스만 만들면 안전한 환경은 있지만 생산성이 제한된다. 실무에서는 두 접근이 함께 필요하다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EC%A0%81%EC%9A%A9-%EC%98%88%EC%8B%9C-ai-%EC%BD%94%EB%94%A9-%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8%EC%9D%98-%EB%A3%A8%ED%94%84\" class=\"anchor\" id=\"적용-예시-ai-코딩-에이전트의-루프\"\u003e\u003c/a\u003e적용 예시: AI 코딩 에이전트의 루프\u003c/h2\u003e\n\u003cp\u003e소프트웨어 개발에서 루프 엔지니어링은 비교적 이해하기 쉽다. 예를 들어 “로그인 오류를 수정하라”는 목표가 주어졌다고 하자.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EC%9E%85%EB%A0%A5\" class=\"anchor\" id=\"입력\"\u003e\u003c/a\u003e입력\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e목표: 특정 조건에서 로그인 실패가 발생하는 버그 수정\u003c/li\u003e\n\u003cli\u003e완료 기준: 관련 테스트 통과, 기존 로그인 기능 회귀 없음, 변경 요약 제출\u003c/li\u003e\n\u003cli\u003e제약: 인증 토큰 저장 방식 변경 금지, 사용자 데이터베이스 직접 수정 금지\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EB%A3%A8%ED%94%84-%EC%8B%A4%ED%96%89\" class=\"anchor\" id=\"루프-실행\"\u003e\u003c/a\u003e루프 실행\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003e에이전트가 이슈 설명과 관련 파일을 읽는다.\u003c/li\u003e\n\u003cli\u003e워크트리에서 별도 브랜치 또는 작업 디렉터리를 만든다.\u003c/li\u003e\n\u003cli\u003e실패 테스트를 재현한다.\u003c/li\u003e\n\u003cli\u003e오류 로그와 관련 코드를 분석한다.\u003c/li\u003e\n\u003cli\u003e수정안을 적용한다.\u003c/li\u003e\n\u003cli\u003e테스트를 실행한다.\u003c/li\u003e\n\u003cli\u003e실패하면 원인을 요약하고 다른 수정안을 시도한다.\u003c/li\u003e\n\u003cli\u003e성공하면 diff, 테스트 결과, 위험 요소를 정리한다.\u003c/li\u003e\n\u003cli\u003e인간 리뷰어에게 병합 승인을 요청한다.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e이 예시에서 인간은 매번 오류 로그를 복사해 새 프롬프트를 작성하지 않는다. 대신 루프가 반복 작업을 수행하고, 인간은 최종 판단과 책임이 필요한 단계에 개입한다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EC%84%A4%EA%B3%84%ED%95%A0-%EB%95%8C-%EB%B0%98%EB%93%9C%EC%8B%9C-%EC%A0%95%ED%95%B4%EC%95%BC-%ED%95%A0-%ED%86%B5%EC%A0%9C-%EB%B3%80%EC%88%98\" class=\"anchor\" id=\"설계할-때-반드시-정해야-할-통제-변수\"\u003e\u003c/a\u003e설계할 때 반드시 정해야 할 통제 변수\u003c/h2\u003e\n\u003cp\u003e루프 엔지니어링은 무한 반복을 전제로 설명되기도 하지만, 실제 시스템에서 “무한”은 위험하다. 안전한 루프에는 명확한 제한이 필요하다.\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e통제 변수\u003c/th\u003e\n\u003cth\u003e설명\u003c/th\u003e\n\u003cth\u003e예시\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"통제 변수\"\u003e최대 반복 횟수\u003c/td\u003e\n\u003ctd data-label=\"설명\"\u003e같은 작업을 몇 번까지 재시도할지 제한\u003c/td\u003e\n\u003ctd data-label=\"예시\"\u003e최대 5회 재시도\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"통제 변수\"\u003e시간 예산\u003c/td\u003e\n\u003ctd data-label=\"설명\"\u003e루프 실행 시간을 제한\u003c/td\u003e\n\u003ctd data-label=\"예시\"\u003e30분 초과 시 중단\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"통제 변수\"\u003e비용 예산\u003c/td\u003e\n\u003ctd data-label=\"설명\"\u003e모델 호출, 도구 사용, 인프라 비용 제한\u003c/td\u003e\n\u003ctd data-label=\"예시\"\u003e작업당 10달러 이하\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"통제 변수\"\u003e권한 범위\u003c/td\u003e\n\u003ctd data-label=\"설명\"\u003e읽기, 쓰기, 실행, 배포 권한을 분리\u003c/td\u003e\n\u003ctd data-label=\"예시\"\u003e운영 DB 쓰기 금지\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"통제 변수\"\u003e승인 지점\u003c/td\u003e\n\u003ctd data-label=\"설명\"\u003e인간 검토가 필요한 순간 정의\u003c/td\u003e\n\u003ctd data-label=\"예시\"\u003e배포, 삭제, 결제, 외부 전송 전 승인\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"통제 변수\"\u003e성공 기준\u003c/td\u003e\n\u003ctd data-label=\"설명\"\u003e완료로 판단할 객관적 조건\u003c/td\u003e\n\u003ctd data-label=\"예시\"\u003e테스트 통과, 정확도 기준 충족\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"통제 변수\"\u003e실패 기준\u003c/td\u003e\n\u003ctd data-label=\"설명\"\u003e중단해야 하는 위험 신호\u003c/td\u003e\n\u003ctd data-label=\"예시\"\u003e같은 오류 3회 반복, 보안 경고 발생\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003e좋은 루프는 많이 도는 루프가 아니라 \u003cstrong\u003e적절한 순간에 멈출 줄 아는 루프\u003c/strong\u003e다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%ED%92%88%EC%A7%88-%ED%8F%89%EA%B0%80-%EA%B8%B0%EC%A4%80\" class=\"anchor\" id=\"품질-평가-기준\"\u003e\u003c/a\u003e품질 평가 기준\u003c/h2\u003e\n\u003cp\u003e루프 엔지니어링 시스템을 평가할 때는 단순히 “AI가 답을 냈는가”가 아니라 다음 지표를 함께 봐야 한다.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e목표 달성률: 주어진 작업을 성공적으로 완료한 비율\u003c/li\u003e\n\u003cli\u003e첫 성공까지 걸린 반복 횟수: 불필요한 재시도 여부\u003c/li\u003e\n\u003cli\u003e테스트 통과율: 자동 검증 기준 충족 여부\u003c/li\u003e\n\u003cli\u003e회귀 발생률: 기존 기능을 깨뜨린 비율\u003c/li\u003e\n\u003cli\u003e인간 개입 횟수: 자동화가 실제 병목을 줄였는지\u003c/li\u003e\n\u003cli\u003e비용 대비 효과: 모델 호출 비용과 인프라 비용 대비 성과\u003c/li\u003e\n\u003cli\u003e감사 가능성: 어떤 도구를 왜 호출했는지 추적 가능한지\u003c/li\u003e\n\u003cli\u003e안전 위반률: 금지된 파일, API, 데이터에 접근했는지\u003c/li\u003e\n\u003cli\u003e재현 가능성: 같은 조건에서 유사한 결과가 나오는지\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e특히 소프트웨어 개발에서는 테스트 통과만으로 충분하지 않을 수 있다. 보안, 성능, 유지보수성, 사용자 경험도 함께 검토해야 한다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%ED%9D%94%ED%95%9C-%EC%8B%A4%ED%8C%A8-%ED%8C%A8%ED%84%B4\" class=\"anchor\" id=\"흔한-실패-패턴\"\u003e\u003c/a\u003e흔한 실패 패턴\u003c/h2\u003e\n\u003ch3\u003e\n\u003ca href=\"#1-%EC%84%B1%EA%B3%B5-%EA%B8%B0%EC%A4%80%EC%9D%B4-%EB%AA%A8%ED%98%B8%ED%95%9C-%EA%B2%BD%EC%9A%B0\" class=\"anchor\" id=\"1-성공-기준이-모호한-경우\"\u003e\u003c/a\u003e1. 성공 기준이 모호한 경우\u003c/h3\u003e\n\u003cp\u003e“좋게 만들어줘”처럼 완료 기준이 불명확하면 루프는 멈출 근거를 찾기 어렵다. “단위 테스트 3개 추가, 기존 테스트 모두 통과, 응답 시간 200ms 이하 유지”처럼 검증 가능한 기준이 필요하다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#2-%EB%8F%84%EA%B5%AC-%EA%B6%8C%ED%95%9C%EC%9D%B4-%EA%B3%BC%EB%8F%84%ED%95%9C-%EA%B2%BD%EC%9A%B0\" class=\"anchor\" id=\"2-도구-권한이-과도한-경우\"\u003e\u003c/a\u003e2. 도구 권한이 과도한 경우\u003c/h3\u003e\n\u003cp\u003e에이전트에게 운영 데이터베이스 쓰기, 배포, 외부 메일 발송 같은 권한을 무제한으로 주면 작은 판단 오류가 큰 사고로 이어질 수 있다. 위험한 도구는 승인 기반으로 분리해야 한다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#3-%EB%A9%94%EB%AA%A8%EB%A6%AC%EA%B0%80-%EC%97%86%EA%B1%B0%EB%82%98-%EC%98%A4%EC%97%BC%EB%90%9C-%EA%B2%BD%EC%9A%B0\" class=\"anchor\" id=\"3-메모리가-없거나-오염된-경우\"\u003e\u003c/a\u003e3. 메모리가 없거나 오염된 경우\u003c/h3\u003e\n\u003cp\u003e상태 저장이 없으면 같은 실패를 반복한다. 반대로 잘못된 메모리가 축적되면 잘못된 전제를 계속 재사용할 수 있다. 메모리에는 검증된 사실, 추정, 실패 기록을 구분해 저장하는 것이 좋다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#4-%EC%84%9C%EB%B8%8C-%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8-%EA%B0%84-%EC%B1%85%EC%9E%84%EC%9D%B4-%EA%B2%B9%EC%B9%98%EB%8A%94-%EA%B2%BD%EC%9A%B0\" class=\"anchor\" id=\"4-서브-에이전트-간-책임이-겹치는-경우\"\u003e\u003c/a\u003e4. 서브 에이전트 간 책임이 겹치는 경우\u003c/h3\u003e\n\u003cp\u003e여러 에이전트가 같은 파일을 동시에 수정하면 충돌이 발생할 수 있다. 작업 범위, 파일 소유권, 리뷰 순서, 병합 규칙을 정해야 한다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#5-%EB%B9%84%EC%9A%A9-%EC%A0%9C%ED%95%9C%EC%9D%B4-%EC%97%86%EB%8A%94-%EA%B2%BD%EC%9A%B0\" class=\"anchor\" id=\"5-비용-제한이-없는-경우\"\u003e\u003c/a\u003e5. 비용 제한이 없는 경우\u003c/h3\u003e\n\u003cp\u003e루프는 반복 구조이므로 모델 호출과 도구 실행 비용이 빠르게 증가할 수 있다. 반복 횟수, 토큰 사용량, 외부 API 호출 수, 실행 시간을 제한해야 한다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EA%B5%AC%ED%98%84-%EC%B2%B4%ED%81%AC%EB%A6%AC%EC%8A%A4%ED%8A%B8\" class=\"anchor\" id=\"구현-체크리스트\"\u003e\u003c/a\u003e구현 체크리스트\u003c/h2\u003e\n\u003cp\u003e루프 엔지니어링을 실제 프로젝트에 적용할 때는 다음 순서로 점검하는 것이 좋다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EB%AA%A9%ED%91%9C%EC%99%80-%ED%8F%89%EA%B0%80-%EA%B8%B0%EC%A4%80\" class=\"anchor\" id=\"목표와-평가-기준\"\u003e\u003c/a\u003e목표와 평가 기준\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e해결할 문제를 한 문장으로 정의했는가?\u003c/li\u003e\n\u003cli\u003e완료 기준이 자동 검증 가능한가?\u003c/li\u003e\n\u003cli\u003e인간 승인이 필요한 기준을 구분했는가?\u003c/li\u003e\n\u003cli\u003e실패 시 중단 조건이 있는가?\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EC%9E%91%EC%97%85-%ED%99%98%EA%B2%BD\" class=\"anchor\" id=\"작업-환경\"\u003e\u003c/a\u003e작업 환경\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e메인 코드와 분리된 워크트리가 있는가?\u003c/li\u003e\n\u003cli\u003e테스트 실행 환경이 재현 가능한가?\u003c/li\u003e\n\u003cli\u003e비밀 키와 민감 정보 접근을 제한했는가?\u003c/li\u003e\n\u003cli\u003e변경 사항을 diff로 추적할 수 있는가?\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EC%A7%80%EC%B9%A8%EA%B3%BC-%EC%BB%A8%ED%85%8D%EC%8A%A4%ED%8A%B8\" class=\"anchor\" id=\"지침과-컨텍스트\"\u003e\u003c/a\u003e지침과 컨텍스트\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e프로젝트 구조 설명이 있는가?\u003c/li\u003e\n\u003cli\u003e코딩 규칙과 테스트 규칙이 문서화되어 있는가?\u003c/li\u003e\n\u003cli\u003e금지 행동과 보안 규칙이 명확한가?\u003c/li\u003e\n\u003cli\u003e에이전트가 참고할 문서가 최신인가?\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EB%8F%84%EA%B5%AC%EC%99%80-%EA%B6%8C%ED%95%9C\" class=\"anchor\" id=\"도구와-권한\"\u003e\u003c/a\u003e도구와 권한\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e필요한 도구가 사전에 연결되어 있는가?\u003c/li\u003e\n\u003cli\u003e도구별 권한이 최소화되어 있는가?\u003c/li\u003e\n\u003cli\u003e위험한 도구 호출에 승인 단계가 있는가?\u003c/li\u003e\n\u003cli\u003e모든 도구 호출 로그가 남는가?\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EB%A3%A8%ED%94%84-%EC%A0%9C%EC%96%B4\" class=\"anchor\" id=\"루프-제어\"\u003e\u003c/a\u003e루프 제어\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e최대 반복 횟수와 시간 제한이 있는가?\u003c/li\u003e\n\u003cli\u003e비용 제한이 있는가?\u003c/li\u003e\n\u003cli\u003e같은 오류 반복을 감지하는가?\u003c/li\u003e\n\u003cli\u003e중간 상태를 저장하고 재개할 수 있는가?\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EB%A3%A8%ED%94%84-%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81%EC%9D%B4-%EC%A0%81%ED%95%A9%ED%95%9C-%EC%9E%91%EC%97%85%EA%B3%BC-%EB%B6%80%EC%A0%81%ED%95%A9%ED%95%9C-%EC%9E%91%EC%97%85\" class=\"anchor\" id=\"루프-엔지니어링이-적합한-작업과-부적합한-작업\"\u003e\u003c/a\u003e루프 엔지니어링이 적합한 작업과 부적합한 작업\u003c/h2\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e작업 유형\u003c/th\u003e\n\u003cth\u003e적합도\u003c/th\u003e\n\u003cth\u003e이유\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"작업 유형\"\u003e테스트가 있는 코드 수정\u003c/td\u003e\n\u003ctd data-label=\"적합도\"\u003e높음\u003c/td\u003e\n\u003ctd data-label=\"이유\"\u003e실행 결과로 성공 여부를 판단하기 쉽다\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"작업 유형\"\u003e린트, 포맷팅, 마이그레이션\u003c/td\u003e\n\u003ctd data-label=\"적합도\"\u003e높음\u003c/td\u003e\n\u003ctd data-label=\"이유\"\u003e반복적이고 검증 기준이 명확하다\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"작업 유형\"\u003e문서 초안 생성과 검수\u003c/td\u003e\n\u003ctd data-label=\"적합도\"\u003e중간\u003c/td\u003e\n\u003ctd data-label=\"이유\"\u003e자동화 가능하지만 사실 검증이 필요하다\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"작업 유형\"\u003e데이터 정제\u003c/td\u003e\n\u003ctd data-label=\"적합도\"\u003e중간~높음\u003c/td\u003e\n\u003ctd data-label=\"이유\"\u003e규칙과 샘플 검증이 있으면 효과적이다\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"작업 유형\"\u003e보안 패치\u003c/td\u003e\n\u003ctd data-label=\"적합도\"\u003e중간\u003c/td\u003e\n\u003ctd data-label=\"이유\"\u003e자동화 가능하지만 전문가 검토가 필요하다\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"작업 유형\"\u003e법률 판단, 의료 진단, 투자 조언\u003c/td\u003e\n\u003ctd data-label=\"적합도\"\u003e낮음\u003c/td\u003e\n\u003ctd data-label=\"이유\"\u003e책임과 전문성, 규제 위험이 크다\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"작업 유형\"\u003e운영 시스템 직접 변경\u003c/td\u003e\n\u003ctd data-label=\"적합도\"\u003e낮음\u003c/td\u003e\n\u003ctd data-label=\"이유\"\u003e승인 없는 자동 루프는 사고 위험이 크다\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003e루프 엔지니어링은 “검증 가능한 작업”에서 가장 강하다. 검증 기준이 불명확하거나 책임이 큰 의사결정은 인간 전문가의 통제가 필수다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EC%8B%A4%EB%AC%B4-%EC%A0%81%EC%9A%A9-%EB%A1%9C%EB%93%9C%EB%A7%B5\" class=\"anchor\" id=\"실무-적용-로드맵\"\u003e\u003c/a\u003e실무 적용 로드맵\u003c/h2\u003e\n\u003ch3\u003e\n\u003ca href=\"#1%EB%8B%A8%EA%B3%84-%EB%8B%A8%EC%9D%BC-%EC%9E%91%EC%97%85-%EB%A3%A8%ED%94%84-%EB%A7%8C%EB%93%A4%EA%B8%B0\" class=\"anchor\" id=\"1단계-단일-작업-루프-만들기\"\u003e\u003c/a\u003e1단계: 단일 작업 루프 만들기\u003c/h3\u003e\n\u003cp\u003e먼저 작은 작업 하나를 대상으로 시작한다. 예를 들어 테스트 실패를 고치는 루프, 문서 링크 오류를 수정하는 루프, 타입 오류를 해결하는 루프처럼 범위를 좁힌다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#2%EB%8B%A8%EA%B3%84-%ED%95%98%EB%84%A4%EC%8A%A4-%EA%B3%A0%EC%A0%95%ED%95%98%EA%B8%B0\" class=\"anchor\" id=\"2단계-하네스-고정하기\"\u003e\u003c/a\u003e2단계: 하네스 고정하기\u003c/h3\u003e\n\u003cp\u003e작업 전 확인, 수정 가능 파일, 실행 가능한 명령, 금지 행동, 승인 조건을 문서화한다. 이 단계가 약하면 루프가 커질수록 위험도 함께 커진다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#3%EB%8B%A8%EA%B3%84-%EC%9B%8C%ED%81%AC%ED%8A%B8%EB%A6%AC%EC%99%80-%EB%A1%9C%EA%B7%B8-%EC%B2%B4%EA%B3%84-%EB%A7%8C%EB%93%A4%EA%B8%B0\" class=\"anchor\" id=\"3단계-워크트리와-로그-체계-만들기\"\u003e\u003c/a\u003e3단계: 워크트리와 로그 체계 만들기\u003c/h3\u003e\n\u003cp\u003e모든 변경은 격리된 공간에서 수행하고, 도구 호출과 테스트 결과를 기록한다. 실패한 시도도 중요한 데이터다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#4%EB%8B%A8%EA%B3%84-%EC%8A%A4%ED%82%AC-%EB%AC%B8%EC%84%9C%ED%99%94\" class=\"anchor\" id=\"4단계-스킬-문서화\"\u003e\u003c/a\u003e4단계: 스킬 문서화\u003c/h3\u003e\n\u003cp\u003e반복적으로 필요한 지식을 스킬로 만든다. “이 프로젝트에서 테스트를 추가하는 법”, “API 변경 시 체크리스트”, “프론트엔드 접근성 기준” 같은 문서가 유용하다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#5%EB%8B%A8%EA%B3%84-%EC%84%9C%EB%B8%8C-%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8-%EB%B6%84%EB%A6%AC\" class=\"anchor\" id=\"5단계-서브-에이전트-분리\"\u003e\u003c/a\u003e5단계: 서브 에이전트 분리\u003c/h3\u003e\n\u003cp\u003e작업이 복잡해지면 플래너, 구현자, QA, 리뷰어를 분리한다. 처음부터 과도하게 많은 에이전트를 만들기보다 병목이 확인된 역할부터 나누는 것이 좋다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#6%EB%8B%A8%EA%B3%84-%EB%A9%94%EB%AA%A8%EB%A6%AC%EC%99%80-%ED%8F%89%EA%B0%80-%EC%A7%80%ED%91%9C-%EA%B0%9C%EC%84%A0\" class=\"anchor\" id=\"6단계-메모리와-평가-지표-개선\"\u003e\u003c/a\u003e6단계: 메모리와 평가 지표 개선\u003c/h3\u003e\n\u003cp\u003e반복 실패 원인, 성공 패턴, 비용, 인간 개입 횟수를 기록한다. 이 데이터를 기반으로 루프의 효율과 안전성을 개선한다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EA%B2%B0%EB%A1%A0\" class=\"anchor\" id=\"결론\"\u003e\u003c/a\u003e결론\u003c/h2\u003e\n\u003cp\u003e루프 엔지니어링은 AI 에이전트를 단순 응답 생성기에서 \u003cstrong\u003e목표 지향적 작업 수행 시스템\u003c/strong\u003e으로 바꾸는 설계 접근이다. 핵심은 AI에게 무작정 자율성을 주는 것이 아니라, 하네스 엔지니어링으로 통제된 환경을 만들고 그 안에서 오토메이션, 워크트리, 스킬, 플러그인 및 커넥터, 서브 에이전트, 메모리를 결합해 안전한 반복 구조를 만드는 것이다.\u003c/p\u003e\n\u003cp\u003e잘 설계된 루프는 인간의 반복 지시 부담을 줄이고 작업 속도를 높인다. 그러나 안전장치 없는 루프는 비용 증가, 품질 저하, 권한 오남용, 무한 반복 문제를 만들 수 있다. 따라서 루프 엔지니어링의 핵심 원칙은 “자동화하되, 검증 가능하게 만들고, 필요한 순간에는 반드시 멈추게 하는 것”이다.\u003c/p\u003e\n","tags":["AI 에이전트","루프 엔지니어링","자동화","개발 워크플로우","LLMOps"],"faqs":[{"question":"루프 엔지니어링이란 무엇인가?","answer":"루프 엔지니어링은 AI 에이전트가 목표 달성까지 계획, 실행, 검증, 수정, 재시도를 반복하도록 작업 시스템을 설계하는 방법이다. 단순히 좋은 프롬프트를 쓰는 것이 아니라 자동 반복, 도구 사용, 상태 저장, 중단 조건까지 포함한다."},{"question":"루프 엔지니어링과 프롬프트 엔지니어링의 차이는 무엇인가?","answer":"프롬프트 엔지니어링은 AI에게 한 번의 지시를 잘 전달하는 데 초점이 있다. 루프 엔지니어링은 AI가 결과를 확인하고 실패 원인을 반영해 다시 실행하는 폐쇄형 피드백 구조를 설계한다는 점에서 더 시스템적인 접근이다."},{"question":"하네스 엔지니어링과 루프 엔지니어링은 어떻게 다른가?","answer":"하네스 엔지니어링은 AI가 안전하게 일할 규칙, 권한, 도구, 환경을 만드는 일이다. 루프 엔지니어링은 그 통제된 환경 안에서 AI가 목표 달성까지 반복 실행하도록 만드는 일이다."},{"question":"루프 엔지니어링에 워크트리가 필요한 이유는 무엇인가?","answer":"워크트리는 AI가 메인 코드나 운영 환경을 손상시키지 않고 실험할 수 있는 격리된 작업 공간을 제공한다. 실패한 변경을 버리고 성공한 변경만 검토할 수 있어 AI 코딩 루프의 안전성을 높인다."},{"question":"루프 엔지니어링에서 스킬은 무엇을 의미하는가?","answer":"스킬은 AI가 작업할 때 참고하는 지침서, 체크리스트, 코딩 규칙, 테스트 규칙, 보안 정책 같은 문서화된 작업 기준이다. 스킬이 명확할수록 에이전트는 조직의 방식에 맞게 일할 가능성이 높아진다."},{"question":"플러그인과 커넥터는 왜 중요한가?","answer":"플러그인과 커넥터는 AI가 저장소, 문서, 테스트 실행기, 이슈 트래커, 데이터베이스 같은 도구에 접근하도록 해준다. 필요한 도구가 연결되어 있지 않으면 루프가 중간에 멈추거나 추측에 의존할 수 있다."},{"question":"서브 에이전트는 언제 필요한가?","answer":"작업이 설계, 백엔드, 프론트엔드, QA, 리뷰처럼 여러 전문 역할로 나뉠 때 서브 에이전트가 유용하다. 다만 역할과 책임 범위가 불명확하면 충돌이 생길 수 있으므로 조정 규칙이 필요하다."},{"question":"루프 엔지니어링에서 메모리는 어떤 역할을 하는가?","answer":"메모리는 현재 작업 상태, 이전 시도, 실패 원인, 테스트 결과, 다음 계획을 저장한다. 이를 통해 루프가 중단되더라도 이어서 재개할 수 있고 같은 실수를 반복할 가능성을 줄일 수 있다."},{"question":"루프 엔지니어링은 무한 반복을 의미하는가?","answer":"개념적으로는 목표 달성까지 반복한다는 의미가 있지만 실제 시스템에서 무제한 반복은 위험하다. 최대 반복 횟수, 시간 제한, 비용 제한, 실패 감지, 인간 승인 조건을 반드시 설정해야 한다."},{"question":"루프 엔지니어링이 가장 잘 맞는 작업은 무엇인가?","answer":"테스트가 있는 코드 수정, 린트와 포맷팅, 데이터 정제, 문서 검사처럼 검증 기준이 명확한 반복 작업에 잘 맞는다. 법률 판단, 의료 진단, 투자 의사결정처럼 책임이 큰 영역은 자동 루프만으로 처리하면 안 된다."},{"question":"루프 엔지니어링의 가장 큰 위험은 무엇인가?","answer":"주요 위험은 과도한 권한, 무한 재시도, 비용 폭증, 잘못된 메모리 축적, 검증 없는 자동 배포, 민감 정보 접근이다. 따라서 권한 최소화, 로그 기록, 승인 단계, 중단 조건이 필수다."},{"question":"루프 엔지니어링을 처음 도입할 때 가장 좋은 방법은 무엇인가?","answer":"처음에는 실패 테스트 수정, 문서 링크 점검, 타입 오류 수정처럼 작고 검증 가능한 작업 하나로 시작하는 것이 좋다. 이후 워크트리, 스킬 문서, 도구 연결, 메모리, 서브 에이전트를 단계적으로 추가하는 방식이 안전하다."}],"sources":[{"url":"https://git-scm.com/docs/git-worktree","title":"Git documentation: git-worktree","type":"source"},{"url":"https://docs.github.com/en/actions","title":"GitHub Docs: GitHub Actions documentation","type":"source"},{"url":"https://platform.openai.com/docs/guides/function-calling","title":"OpenAI Platform Docs: Function calling","type":"source"},{"url":"https://modelcontextprotocol.io/introduction","title":"Model Context Protocol: Introduction","type":"source"},{"url":"https://langchain-ai.github.io/langgraph/concepts/persistence/","title":"LangGraph documentation: Persistence","type":"source"},{"url":"https://arxiv.org/abs/2210.03629","title":"ReAct: Synergizing Reasoning and Acting in Language Models","type":"source"},{"url":"https://arxiv.org/abs/2303.11366","title":"Reflexion: Language Agents with Verbal Reinforcement Learning","type":"source"}],"images":[{"id":234,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MjMwMSwicHVyIjoiYmxvYl9pZCJ9fQ==--e2cc0e235018c6d93b44f9fe5cf3889bea5aa10a/ai-cccc7ad2.webp","is_representative":true,"generation_method":"ai_image","license":"ai_generated","mime_type":"image/webp","translations":{"ko":{"alt":"중앙 AI 로봇과 순환 화살표, 자동화·문서·검증·데이터 아이콘이 둘러싼 다이어그램","caption":"AI 시스템을 반복적으로 설계, 실행, 검증하는 루프 엔지니어링 흐름을 보여준다.","description":null},"en":{"alt":"Central AI bot surrounded by circular workflow arrows and icons for automation, documents, validation, and data","caption":"The diagram illustrates a loop engineering workflow around an AI system.","description":null},"ja":{"alt":"中央のAIロボットを囲む循環矢印と自動化、文書、検証、データのアイコン","caption":"AIシステムを中心に設計、実行、検証を繰り返す流れを示している。","description":null},"es":{"alt":"Bot de IA central rodeado de flechas circulares e iconos de automatización, documentos, validación y datos","caption":"El diagrama muestra un flujo de ingeniería en bucle alrededor de un sistema de IA.","description":null},"id":{"alt":"Bot AI di tengah dikelilingi panah alur melingkar dan ikon otomasi, dokumen, validasi, serta data","caption":"Diagram ini menunjukkan alur rekayasa loop yang berulang di sekitar sistem AI.","description":null},"pt":{"alt":"Bot de IA central cercado por setas de fluxo circular e ícones de automação, documentos, validação e dados","caption":"O diagrama mostra um fluxo de engenharia em loop em torno de um sistema de IA.","description":null},"zh-hant":{"alt":"中央 AI 機器人周圍有循環箭頭，以及自動化、文件、驗證與資料圖示","caption":"此圖呈現圍繞 AI 系統反覆設計、執行與驗證的迴圈工程流程。","description":null}}},{"id":235,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MjMwNywicHVyIjoiYmxvYl9pZCJ9fQ==--6e96b4db0ce479ff3ba8d0cefc6dafb74a3e9ce0/ai-20876eb8.webp","is_representative":false,"generation_method":"ai_image","license":"ai_generated","mime_type":"image/webp","translations":{"ko":{"alt":"로봇과 연결된 작업대가 순환 파이프라인으로 이어진 자동화 검증 시스템","caption":"보안, 테스트, 피드백이 연결된 루프 엔지니어링 흐름을 시각화합니다.","description":null},"en":{"alt":"Automated validation system with robots, connected stations, and a looping pipeline","caption":"The illustration shows a loop engineering workflow linking security, testing, and feedback.","description":null},"ja":{"alt":"ロボットと接続された端末が循環パイプラインでつながる自動検証システム","caption":"セキュリティ、テスト、フィードバックを結ぶループエンジニアリングの流れを示しています。","description":null},"es":{"alt":"Sistema de validación automatizada con robots, estaciones conectadas y canalización en bucle","caption":"La ilustración muestra un flujo de ingeniería en bucle que conecta seguridad, pruebas y retroalimentación.","description":null},"id":{"alt":"Sistem validasi otomatis dengan robot, stasiun terhubung, dan alur pipa berulang","caption":"Ilustrasi ini menampilkan alur rekayasa loop yang menghubungkan keamanan, pengujian, dan umpan balik.","description":null},"pt":{"alt":"Sistema de validação automatizada com robôs, estações conectadas e pipeline em ciclo","caption":"A ilustração mostra um fluxo de engenharia em loop que conecta segurança, testes e feedback.","description":null},"zh-hant":{"alt":"機器人與連接工作站透過循環管線組成的自動化驗證系統","caption":"這張插圖呈現連結安全、測試與回饋的迴圈工程流程。","description":null}}},{"id":236,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MjMxNiwicHVyIjoiYmxvYl9pZCJ9fQ==--562e36a9d01a89d2d02a19fd67449affcf222f89/ai-e9fb4161.webp","is_representative":false,"generation_method":"ai_infographic","license":"ai_generated","mime_type":"image/webp","visible_locales":["ko"],"translations":{"ko":{"alt":"루프 엔지니어링의 반복 단계와 안전 제어, 필수 구성 요소를 정리한 한국어 인포그래픽","caption":"목표부터 재시도까지 이어지는 루프 엔지니어링 과정과 구성 요소를 한눈에 보여준다.","description":null},"en":{"alt":"Korean infographic showing loop engineering stages, safety controls, and essential components","caption":"The diagram summarizes the loop engineering cycle from goals to retry, with controls and key components.","description":null},"ja":{"alt":"ループエンジニアリングの段階、安全制御、主要構成要素を示す韓国語インフォグラフィック","caption":"目標から再試行までのループエンジニアリングの流れと要素を整理している。","description":null},"es":{"alt":"Infografía en coreano sobre etapas, controles de seguridad y componentes de la ingeniería de bucles","caption":"El diagrama muestra el ciclo de ingeniería de bucles, desde el objetivo hasta el reintento.","description":null},"id":{"alt":"Infografik Korea tentang tahapan, kontrol keamanan, dan komponen penting rekayasa loop","caption":"Diagram ini merangkum siklus rekayasa loop dari tujuan hingga percobaan ulang.","description":null},"pt":{"alt":"Infográfico em coreano sobre etapas, controles de segurança e componentes da engenharia de loop","caption":"O diagrama resume o ciclo da engenharia de loop, do objetivo à nova tentativa.","description":null},"zh-hant":{"alt":"韓文資訊圖表，說明迴圈工程的階段、安全控制與必要組成","caption":"圖表概述從目標到重試的迴圈工程流程與關鍵元素。","description":null}}}],"published_at":"2026-07-20T15:26:45+09:00","updated_at":"2026-07-20T15:26:45+09:00","license":"cc_by","translation_status":"original","available_locales":["ko","en","ja","es"],"data_locales":["ko","en","ja","es","id","pt","zh-hant"],"url":"https://injoys.com/ko/articles/loop-engineering-concept-components"}