{"content_id":"tx8xp2gpig","slug":"ai-agent-harness-loop-graph-engineering","locale":"ko","schema_type":"TechArticle","category":"knowledge_base","category_name":"지식 베이스","title":"AI 에이전트의 하네스·루프·그래프 엔지니어링 순서대로 이해하기","summary":"하네스는 에이전트가 일하는 환경과 통제 장치를, 루프는 반복과 종료 규칙을, 그래프는 허용할 상태와 이동 경로를 설계한다. 세 용어는 공인된 표준 분류라기보다 AI 에이전트의 자율성과 위험을 다루기 위한 실무적 관점으로 이해하는 것이 정확하다.","sponsorship_disclosure":null,"author":{"name":"인조이스 편집팀","url":"https://injoys.com/ko/about"},"key_points":["하네스 엔지니어링은 모델 밖의 컨텍스트, 도구, 권한, 검증, 로그, 승인 절차를 하나의 실행 환경으로 설계하는 일이다.","루프 엔지니어링은 에이전트가 계획·실행·검증·수정을 반복하는 조건과 예산, 종료 기준을 정의한다.","그래프 엔지니어링은 상태와 전이 규칙을 이용해 에이전트가 선택할 수 있는 경로를 명시적으로 제한하거나 조정한다.","대부분의 조직은 복잡한 멀티 에이전트 그래프보다 단일 에이전트의 하네스와 평가 체계를 먼저 개선하는 편이 효율적이다.","AI가 만든 요약 보고서만 승인하는 방식은 고위험 코드에 충분하지 않으며 테스트, 변경 범위, 보안 경계와 원본 산출물을 함께 검증해야 한다."],"content_markdown":"AI 에이전트가 장기 작업을 맡기 시작하면서 프롬프트만 잘 쓰는 것으로는 안정적인 결과를 얻기 어려워졌다. 에이전트가 어떤 정보를 보고, 어떤 도구를 사용하며, 언제 반복하고, 어느 경로로 이동하고, 어디에서 사람의 승인을 받아야 하는지까지 설계해야 하기 때문이다.\n\n이 문제를 설명할 때 자주 등장하는 표현이 **하네스 엔지니어링**, **루프 엔지니어링**, **그래프 엔지니어링**이다. 이들은 국제 표준이나 엄격히 합의된 학술 분류가 아니다. 서로 겹치는 부분이 있으며 제품과 개발팀에 따라 뜻도 달라질 수 있다. 따라서 연도별 유행어로 외우기보다 각각이 답하려는 제어 질문으로 구분하는 편이 유용하다.\n\n## 세 개념을 한눈에 비교하기\n\n| 개념 | 핵심 질문 | 주된 설계 대상 | 대표적인 실패 방지 장치 |\n|---|---|---|---|\n| 하네스 엔지니어링 | 에이전트는 어떤 환경과 규칙 안에서 일하는가? | 컨텍스트, 도구, 권한, 샌드박스, 훅, 로그, 승인, 평가 | 최소 권한, 위험 명령 승인, 테스트 실행, 컨텍스트 선별 |\n| 루프 엔지니어링 | 무엇을 반복하고 언제 멈추는가? | 계획·실행·검증 주기, 이벤트 처리, 재시도, 예산, 종료 조건 | 최대 반복 횟수, 시간·토큰 한도, 진전 판정, 실패 시 이관 |\n| 그래프 엔지니어링 | 어떤 상태와 경로를 허용하는가? | 노드, 상태, 전이, 분기, 병렬 처리, 체크포인트 | 금지 전이, 상태 검증, 승인 노드, 복구 경로 |\n\n짧게 표현하면 **하네스는 환경과 경계**, **루프는 반복 규칙**, **그래프는 가능한 경로의 구조**다. 실제 시스템에서는 그래프의 한 노드 안에 루프가 들어가고, 전체 그래프가 하나의 하네스 안에서 실행될 수 있다.\n\n## 에이전트 제어 방식은 어떻게 변해 왔나\n\n### 초기 에이전트: 정해진 워크플로우가 자율성을 보완했다\n\n초기 생성형 AI 에이전트는 긴 작업에서 목표를 잊거나, 잘못된 도구 호출을 반복하거나, 근거 없는 결과를 만드는 경우가 많았다. 이에 개발자는 큰 작업을 작은 단계로 나누고 각 단계의 입력과 출력을 고정했다.\n\n이 방식에서는 사람이 전체 절차를 체인, 플로차트 또는 상태 머신으로 작성하고 LLM은 분류, 추출, 요약, 초안 작성처럼 제한된 작업을 맡는다. LangGraph와 같은 프레임워크는 상태를 유지하면서 분기, 순환, 체크포인트, 사람의 개입을 표현하는 데 사용된다.\n\n다만 그래프 기반 오케스트레이션이 특정 연도에 끝난 구식 방식은 아니다. 현재도 감사 가능성, 재현성, 규제 준수 또는 정확한 복구 절차가 중요한 업무에서는 명시적 그래프가 적합하다.\n\n### 모델 성능 향상: 고정 경로에서 동적 도구 사용으로\n\n도구 사용과 추론 능력이 개선되면서 하나의 에이전트가 상황에 따라 검색, 코드 편집, 테스트, 파일 읽기 같은 행동을 선택할 수 있게 됐다. ReAct 계열 접근은 추론과 행동, 관찰을 번갈아 수행하는 대표적 구조다.\n\n이 변화는 사람이 모든 분기를 미리 작성해야 하는 부담을 줄였다. 반면 에이전트가 읽는 정보, 보유한 권한, 실행 비용, 오류 복구 방식을 관리하는 문제가 더 중요해졌다. 이때 컨텍스트 엔지니어링과 하네스 엔지니어링이 실무의 중심으로 들어온다.\n\n### 장기 작업과 멀티 에이전트: 루프와 그래프의 재결합\n\n장기 작업에서는 한 번의 모델 호출보다 반복적인 계획·실행·검증이 중요하다. 여러 에이전트가 참여하면 역할, 산출물 형식, 권한, 종료 조건도 명시해야 한다. 동시에 자율 루프를 완전히 방치하면 비용 폭증, 무한 재시도, 보상 해킹, 잘못된 목표 최적화가 발생할 수 있다.\n\n그래서 현대적인 에이전트 시스템은 자율성을 없애기보다 **자율성을 허용할 구간과 결정론적으로 통제할 구간을 결합**하는 방향으로 설계된다. 이는 과거의 고정 체인으로 단순 회귀하는 것이 아니라, 유연한 실행을 상태·전이·정책으로 둘러싸는 방식이다.\n\n이러한 변화는 정확한 연대표라기보다 설계상의 강조점 변화다. 그래프, 루프, 하네스는 처음부터 공존해 왔으며 현재도 함께 사용된다.\n\n## 하네스 엔지니어링이 다루는 것\n\n하네스는 기반 모델 자체가 아니라 **모델이 실제 업무를 수행하도록 둘러싼 실행 체계**다. 같은 모델을 사용해도 하네스에 따라 성공률, 비용, 보안성과 재현성이 크게 달라질 수 있다.\n\n### 하네스의 주요 구성 요소\n\n1. **지시 체계**: 시스템 지침, 저장소 규칙, 코딩 표준, 우선순위와 금지 행동\n2. **컨텍스트 공급**: 검색, 파일 선택, 요약, 메모리, 필요한 시점의 문서 주입\n3. **도구 인터페이스**: 파일 편집, 터미널, 브라우저, 데이터베이스, 외부 API\n4. **권한과 격리**: 읽기·쓰기 범위, 비밀정보 접근, 네트워크 제한, 샌드박스\n5. **검증 장치**: 테스트, 린터, 타입 검사, 스키마 검증, 사실 확인\n6. **사람의 승인**: 배포, 결제, 삭제, 외부 전송 등 되돌리기 어려운 행동의 승인\n7. **관찰 가능성**: 호출 기록, 비용, 지연 시간, 오류, 변경 내역, 결정 근거\n8. **복구 정책**: 재시도, 이전 상태 복원, 작업 중단, 담당자 이관\n\nClaude Code의 프로젝트 지침 파일이나 훅은 하네스 구성 요소의 사례로 볼 수 있다. 그러나 특정 제품 기능 하나가 하네스 전체를 뜻하지는 않는다.\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| 출력 | JSON 스키마, 문서 형식, 필수 근거와 테스트 결과 |\n| 권한 | 허용 도구, 파일 범위, 외부 전송과 변경 권한 |\n| 검증 | 통과해야 할 테스트와 평가 기준 |\n| 예산 | 토큰, 시간, 호출 횟수, 병렬 작업 수 |\n| 종료 | 성공, 진전 없음, 예산 소진, 위험 감지 조건 |\n| 이관 | 실패 시 어느 사람 또는 에이전트가 이어받는지 |\n\n완료 조건이 모호하면 에이전트는 문장을 바꾸거나 같은 검색을 반복하면서도 작업이 진전되고 있다고 판단할 수 있다. 최대 반복 횟수만 두는 것보다 결과 품질, 새 정보의 증가량, 오류 변화와 비용을 함께 보는 편이 낫다.\n\n## 그래프 엔지니어링은 자율성의 경계를 구조화한다\n\n그래프는 작업을 노드와 연결선으로 표현한다. 노드는 모델 호출, 도구 실행, 사람의 승인 또는 검증 과정이 될 수 있고, 연결선은 상태에 따른 다음 행동을 나타낸다.\n\n### 체인과 그래프의 차이\n\n- **체인**은 A에서 B, B에서 C로 이어지는 선형 절차에 적합하다.\n- **그래프**는 조건 분기, 반복, 병렬 실행, 실패 복구, 중간 저장이 필요한 작업에 적합하다.\n- **동적 그래프**는 실행 중 모델이 다음 하위 작업이나 경로를 제안한다.\n- **제약된 그래프**는 모델이 선택하더라도 허용된 노드와 전이 안에서만 움직이게 한다.\n\n현대적인 그래프 설계의 목적은 모든 행동을 사람이 미리 결정하는 데 있지 않다. 데이터 삭제 전 승인 노드를 반드시 거치게 하거나, 테스트 실패 상태에서는 배포 상태로 이동하지 못하게 하는 식으로 **지켜야 할 불변 조건**을 구조에 넣는 데 있다.\n\n### 그래프가 필요한 신호\n\n다음 조건 중 여러 개가 해당하면 명시적인 그래프를 검토할 가치가 있다.\n\n- 실패 후 돌아가야 할 복구 지점이 분명하다.\n- 사람의 승인이 반드시 필요한 단계가 있다.\n- 여러 작업을 병렬 실행한 뒤 결과를 합쳐야 한다.\n- 상태에 따라 사용 가능한 도구나 권한이 달라진다.\n- 전체 실행 경로를 감사하거나 재현해야 한다.\n- 단일 에이전트 루프가 같은 실패를 반복한다.\n\n단순한 문서 요약이나 한 번의 데이터 변환까지 그래프로 만들면 복잡성만 늘어날 수 있다.\n\n## 실무 적용 순서: 하네스에서 시작해 필요한 만큼 확장하기\n\n대부분의 팀에는 다음 순서가 현실적이다.\n\n1. **단일 작업과 성공 기준을 정한다.** 먼저 입력, 기대 출력, 실패 사례를 모은다.\n2. **최소 하네스를 만든다.** 필요한 컨텍스트와 도구만 제공하고 권한, 테스트, 로그, 비용 한도를 설정한다.\n3. **평가 세트를 구축한다.** 정상 사례뿐 아니라 모호한 요청, 잘못된 문서, 도구 오류, 권한 초과 시도를 포함한다.\n4. **반복이 필요한 지점을 루프로 만든다.** 검증과 수정이 실제 품질을 높이는 구간에만 재시도를 허용한다.\n5. **분기와 복구가 복잡할 때 그래프로 승격한다.** 상태와 전이를 명시하고 위험 행동 앞에 승인 노드를 둔다.\n6. **업무 분리가 이득일 때만 멀티 에이전트를 사용한다.** 병렬 탐색이나 서로 다른 전문 역할이 필요하지 않다면 단일 에이전트가 더 단순하고 저렴할 수 있다.\n\n## 코딩과 리서치에서의 적용 차이\n\n| 항목 | 코딩 작업 | 리서치 작업 |\n|---|---|---|\n| 검증 가능성 | 테스트, 빌드, 타입 검사 등 자동 검증이 비교적 쉬움 | 출처 품질, 누락, 상충 증거를 종합적으로 판단해야 함 |\n| 동적 탐색의 가치 | 변경 범위가 명확하면 제한적일 수 있음 | 다양한 검색 경로와 가설 비교에서 큼 |\n| 주요 위험 | 잘못된 변경, 보안 취약점, 테스트에만 맞춘 코드 | 출처 없는 주장, 중복 자료, 확증 편향 |\n| 적합한 통제 | 저장소 범위 제한, 테스트, diff 검토, 배포 승인 | 출처 기록, 독립 검색, 반대 증거 탐색, 인용 검증 |\n\n코딩에는 동적 워크플로우가 항상 비효율적이고 리서치에는 항상 유리하다고 단정할 수 없다. 테스트 가능한 대규모 마이그레이션은 자율 에이전트에 적합할 수 있고, 답이 명확한 사실 조회는 고정된 리서치 절차가 더 효율적일 수 있다. 핵심 변수는 분야보다 **목표의 명확성, 자동 검증 가능성, 탐색 공간과 오류 비용**이다.\n\n## 코드 리뷰는 사라지는 것이 아니라 검토 단위가 바뀐다\n\n에이전트가 코드를 작성하면 개발자는 모든 줄을 직접 입력하는 대신 요구사항, 설계, 테스트 결과, 변경 범위와 위험을 감독하는 역할을 더 많이 맡게 된다. Pull Request 요약과 에이전트 보고서는 검토 속도를 높일 수 있다.\n\n그러나 요약만 읽고 승인하는 방식은 안전한 기본값이 아니다. 에이전트가 누락한 변경이나 잘못 이해한 로직은 요약에도 나타나지 않을 수 있다. 다음 상황에서는 원본 diff와 관련 코드를 직접 검토해야 한다.\n\n- 인증, 결제, 개인정보, 암호화, 접근 통제 변경\n- 데이터베이스 스키마 변경이나 비가역적 마이그레이션\n- 성능과 동시성에 민감한 코드\n- 테스트 범위를 벗어난 대규모 리팩터링\n- 외부 의존성, 배포 설정, 비밀정보 처리 변경\n- 에이전트의 설명과 실제 diff가 일치하지 않는 경우\n\nHuman-in-the-loop는 사람이 형식적으로 버튼을 누르는 것이 아니다. 사람이 판단할 수 있도록 변경 증거, 테스트 결과, 실패 가능성과 되돌리기 절차를 제공하는 것까지 포함한다.\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- 외부 전송과 비가역적 행동에는 별도 승인이나 정책 검사를 둔다.\n- 에이전트가 자신의 평가 기준, 테스트 또는 감사 로그를 임의로 수정하지 못하게 한다.\n\n이러한 불변 조건은 프롬프트 한 문장보다 샌드박스, 접근 제어, 그래프 전이와 독립 검증기로 강제하는 편이 안전하다. 생성형 AI 위험 관리는 모델의 정확도뿐 아니라 운영 환경, 사람의 감독과 사고 대응까지 포함해야 한다.\n\n## 어떤 개념부터 배워야 하나\n\n현재 실무에서 가장 먼저 익힐 것은 하네스 엔지니어링이다. 정확한 컨텍스트, 최소 권한, 자동 검증, 로그, 승인과 비용 한도를 갖추면 단일 에이전트의 많은 실패를 줄일 수 있다.\n\n그다음 반복이 품질을 높이는 작업에 종료 조건이 있는 루프를 추가한다. 분기, 병렬 처리, 복구와 승인 절차가 복잡해졌을 때 그래프로 명시한다. 복잡한 용어를 채택하는 것보다 에이전트의 목표, 권한, 증거, 비용과 중단 조건을 측정 가능한 형태로 만드는 것이 우선이다.","content_html":"\u003cp\u003eAI 에이전트가 장기 작업을 맡기 시작하면서 프롬프트만 잘 쓰는 것으로는 안정적인 결과를 얻기 어려워졌다. 에이전트가 어떤 정보를 보고, 어떤 도구를 사용하며, 언제 반복하고, 어느 경로로 이동하고, 어디에서 사람의 승인을 받아야 하는지까지 설계해야 하기 때문이다.\u003c/p\u003e\n\u003cp\u003e이 문제를 설명할 때 자주 등장하는 표현이 \u003cstrong\u003e하네스 엔지니어링\u003c/strong\u003e, \u003cstrong\u003e루프 엔지니어링\u003c/strong\u003e, \u003cstrong\u003e그래프 엔지니어링\u003c/strong\u003e이다. 이들은 국제 표준이나 엄격히 합의된 학술 분류가 아니다. 서로 겹치는 부분이 있으며 제품과 개발팀에 따라 뜻도 달라질 수 있다. 따라서 연도별 유행어로 외우기보다 각각이 답하려는 제어 질문으로 구분하는 편이 유용하다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EC%84%B8-%EA%B0%9C%EB%85%90%EC%9D%84-%ED%95%9C%EB%88%88%EC%97%90-%EB%B9%84%EA%B5%90%ED%95%98%EA%B8%B0\" 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\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=\"대표적인 실패 방지 장치\"\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=\"대표적인 실패 방지 장치\"\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=\"대표적인 실패 방지 장치\"\u003e금지 전이, 상태 검증, 승인 노드, 복구 경로\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, \u003cstrong\u003e루프는 반복 규칙\u003c/strong\u003e, \u003cstrong\u003e그래프는 가능한 경로의 구조\u003c/strong\u003e다. 실제 시스템에서는 그래프의 한 노드 안에 루프가 들어가고, 전체 그래프가 하나의 하네스 안에서 실행될 수 있다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8-%EC%A0%9C%EC%96%B4-%EB%B0%A9%EC%8B%9D%EC%9D%80-%EC%96%B4%EB%96%BB%EA%B2%8C-%EB%B3%80%ED%95%B4-%EC%99%94%EB%82%98\" class=\"anchor\" id=\"에이전트-제어-방식은-어떻게-변해-왔나\"\u003e\u003c/a\u003e에이전트 제어 방식은 어떻게 변해 왔나\u003c/h2\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EC%B4%88%EA%B8%B0-%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8-%EC%A0%95%ED%95%B4%EC%A7%84-%EC%9B%8C%ED%81%AC%ED%94%8C%EB%A1%9C%EC%9A%B0%EA%B0%80-%EC%9E%90%EC%9C%A8%EC%84%B1%EC%9D%84-%EB%B3%B4%EC%99%84%ED%96%88%EB%8B%A4\" class=\"anchor\" id=\"초기-에이전트-정해진-워크플로우가-자율성을-보완했다\"\u003e\u003c/a\u003e초기 에이전트: 정해진 워크플로우가 자율성을 보완했다\u003c/h3\u003e\n\u003cp\u003e초기 생성형 AI 에이전트는 긴 작업에서 목표를 잊거나, 잘못된 도구 호출을 반복하거나, 근거 없는 결과를 만드는 경우가 많았다. 이에 개발자는 큰 작업을 작은 단계로 나누고 각 단계의 입력과 출력을 고정했다.\u003c/p\u003e\n\u003cp\u003e이 방식에서는 사람이 전체 절차를 체인, 플로차트 또는 상태 머신으로 작성하고 LLM은 분류, 추출, 요약, 초안 작성처럼 제한된 작업을 맡는다. LangGraph와 같은 프레임워크는 상태를 유지하면서 분기, 순환, 체크포인트, 사람의 개입을 표현하는 데 사용된다.\u003c/p\u003e\n\u003cp\u003e다만 그래프 기반 오케스트레이션이 특정 연도에 끝난 구식 방식은 아니다. 현재도 감사 가능성, 재현성, 규제 준수 또는 정확한 복구 절차가 중요한 업무에서는 명시적 그래프가 적합하다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EB%AA%A8%EB%8D%B8-%EC%84%B1%EB%8A%A5-%ED%96%A5%EC%83%81-%EA%B3%A0%EC%A0%95-%EA%B2%BD%EB%A1%9C%EC%97%90%EC%84%9C-%EB%8F%99%EC%A0%81-%EB%8F%84%EA%B5%AC-%EC%82%AC%EC%9A%A9%EC%9C%BC%EB%A1%9C\" class=\"anchor\" id=\"모델-성능-향상-고정-경로에서-동적-도구-사용으로\"\u003e\u003c/a\u003e모델 성능 향상: 고정 경로에서 동적 도구 사용으로\u003c/h3\u003e\n\u003cp\u003e도구 사용과 추론 능력이 개선되면서 하나의 에이전트가 상황에 따라 검색, 코드 편집, 테스트, 파일 읽기 같은 행동을 선택할 수 있게 됐다. ReAct 계열 접근은 추론과 행동, 관찰을 번갈아 수행하는 대표적 구조다.\u003c/p\u003e\n\u003cp\u003e이 변화는 사람이 모든 분기를 미리 작성해야 하는 부담을 줄였다. 반면 에이전트가 읽는 정보, 보유한 권한, 실행 비용, 오류 복구 방식을 관리하는 문제가 더 중요해졌다. 이때 컨텍스트 엔지니어링과 하네스 엔지니어링이 실무의 중심으로 들어온다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EC%9E%A5%EA%B8%B0-%EC%9E%91%EC%97%85%EA%B3%BC-%EB%A9%80%ED%8B%B0-%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8-%EB%A3%A8%ED%94%84%EC%99%80-%EA%B7%B8%EB%9E%98%ED%94%84%EC%9D%98-%EC%9E%AC%EA%B2%B0%ED%95%A9\" class=\"anchor\" id=\"장기-작업과-멀티-에이전트-루프와-그래프의-재결합\"\u003e\u003c/a\u003e장기 작업과 멀티 에이전트: 루프와 그래프의 재결합\u003c/h3\u003e\n\u003cp\u003e장기 작업에서는 한 번의 모델 호출보다 반복적인 계획·실행·검증이 중요하다. 여러 에이전트가 참여하면 역할, 산출물 형식, 권한, 종료 조건도 명시해야 한다. 동시에 자율 루프를 완전히 방치하면 비용 폭증, 무한 재시도, 보상 해킹, 잘못된 목표 최적화가 발생할 수 있다.\u003c/p\u003e\n\u003cp\u003e그래서 현대적인 에이전트 시스템은 자율성을 없애기보다 \u003cstrong\u003e자율성을 허용할 구간과 결정론적으로 통제할 구간을 결합\u003c/strong\u003e하는 방향으로 설계된다. 이는 과거의 고정 체인으로 단순 회귀하는 것이 아니라, 유연한 실행을 상태·전이·정책으로 둘러싸는 방식이다.\u003c/p\u003e\n\u003cp\u003e이러한 변화는 정확한 연대표라기보다 설계상의 강조점 변화다. 그래프, 루프, 하네스는 처음부터 공존해 왔으며 현재도 함께 사용된다.\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%EC%9D%B4-%EB%8B%A4%EB%A3%A8%EB%8A%94-%EA%B2%83\" class=\"anchor\" id=\"하네스-엔지니어링이-다루는-것\"\u003e\u003c/a\u003e하네스 엔지니어링이 다루는 것\u003c/h2\u003e\n\u003cp\u003e하네스는 기반 모델 자체가 아니라 \u003cstrong\u003e모델이 실제 업무를 수행하도록 둘러싼 실행 체계\u003c/strong\u003e다. 같은 모델을 사용해도 하네스에 따라 성공률, 비용, 보안성과 재현성이 크게 달라질 수 있다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#%ED%95%98%EB%84%A4%EC%8A%A4%EC%9D%98-%EC%A3%BC%EC%9A%94-%EA%B5%AC%EC%84%B1-%EC%9A%94%EC%86%8C\" class=\"anchor\" id=\"하네스의-주요-구성-요소\"\u003e\u003c/a\u003e하네스의 주요 구성 요소\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cstrong\u003e지시 체계\u003c/strong\u003e: 시스템 지침, 저장소 규칙, 코딩 표준, 우선순위와 금지 행동\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e컨텍스트 공급\u003c/strong\u003e: 검색, 파일 선택, 요약, 메모리, 필요한 시점의 문서 주입\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e도구 인터페이스\u003c/strong\u003e: 파일 편집, 터미널, 브라우저, 데이터베이스, 외부 API\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e권한과 격리\u003c/strong\u003e: 읽기·쓰기 범위, 비밀정보 접근, 네트워크 제한, 샌드박스\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e검증 장치\u003c/strong\u003e: 테스트, 린터, 타입 검사, 스키마 검증, 사실 확인\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e사람의 승인\u003c/strong\u003e: 배포, 결제, 삭제, 외부 전송 등 되돌리기 어려운 행동의 승인\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e관찰 가능성\u003c/strong\u003e: 호출 기록, 비용, 지연 시간, 오류, 변경 내역, 결정 근거\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e복구 정책\u003c/strong\u003e: 재시도, 이전 상태 복원, 작업 중단, 담당자 이관\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eClaude Code의 프로젝트 지침 파일이나 훅은 하네스 구성 요소의 사례로 볼 수 있다. 그러나 특정 제품 기능 하나가 하네스 전체를 뜻하지는 않는다.\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%EA%B3%BC%EC%9D%98-%EC%B0%A8%EC%9D%B4\" class=\"anchor\" id=\"컨텍스트-엔지니어링과의-차이\"\u003e\u003c/a\u003e컨텍스트 엔지니어링과의 차이\u003c/h3\u003e\n\u003cp\u003e컨텍스트 엔지니어링은 현재 모델 호출에 어떤 정보와 지침을 넣을지 최적화한다. 검색으로 관련 문서만 가져오기, 오래된 대화를 요약하기, 작업 상태를 외부 파일에 저장하기, 하위 작업별로 컨텍스트를 분리하기 등이 포함된다.\u003c/p\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-%ED%95%B5%EC%8B%AC%EC%9D%80-%EC%A2%85%EB%A3%8C-%EC%A1%B0%EA%B1%B4%EC%9D%B4%EB%8B%A4\" class=\"anchor\" id=\"루프-엔지니어링의-핵심은-종료-조건이다\"\u003e\u003c/a\u003e루프 엔지니어링의 핵심은 종료 조건이다\u003c/h2\u003e\n\u003cp\u003e루프는 에이전트가 결과를 만든 뒤 검사하고 부족하면 다시 시도하도록 만든다. 중요한 것은 반복 자체가 아니라 \u003cstrong\u003e진전의 정의와 중단 조건\u003c/strong\u003e이다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EB%8C%80%ED%91%9C%EC%A0%81%EC%9D%B8-%EB%A3%A8%ED%94%84-%EC%9C%A0%ED%98%95\" class=\"anchor\" id=\"대표적인-루프-유형\"\u003e\u003c/a\u003e대표적인 루프 유형\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003e검증 루프\u003c/strong\u003e: 초안을 만든 뒤 테스트나 평가 기준으로 검사하고 실패한 항목을 수정한다.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e이벤트 기반 루프\u003c/strong\u003e: 이메일, 알림, 코드 변경, 센서 데이터 같은 외부 사건이 발생할 때 작업을 시작한다.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e탐색 루프\u003c/strong\u003e: 여러 가설이나 자료원을 조사하고 증거가 충분해질 때까지 탐색 범위를 조정한다.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e개선 루프\u003c/strong\u003e: 이전 결과와 평가값을 바탕으로 다음 전략을 선택한다. 단일 점수만 최적화하면 보상 해킹이 발생할 수 있으므로 여러 평가 기준과 사람의 검토가 필요하다.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e복구 루프\u003c/strong\u003e: 오류 원인을 분류하고 허용된 범위에서 재시도한 뒤 해결되지 않으면 사람에게 넘긴다.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EC%95%88%EC%A0%84%ED%95%9C-%EB%A3%A8%ED%94%84%EC%97%90-%ED%95%84%EC%9A%94%ED%95%9C-%EA%B3%84%EC%95%BD\" class=\"anchor\" id=\"안전한-루프에-필요한-계약\"\u003e\u003c/a\u003e안전한 루프에 필요한 계약\u003c/h3\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\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\u003c/tr\u003e\n\u003ctr\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=\"명시할 내용\"\u003eJSON 스키마, 문서 형식, 필수 근거와 테스트 결과\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\u003c/tr\u003e\n\u003ctr\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\u003c/tr\u003e\n\u003ctr\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\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=\"#%EA%B7%B8%EB%9E%98%ED%94%84-%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81%EC%9D%80-%EC%9E%90%EC%9C%A8%EC%84%B1%EC%9D%98-%EA%B2%BD%EA%B3%84%EB%A5%BC-%EA%B5%AC%EC%A1%B0%ED%99%94%ED%95%9C%EB%8B%A4\" class=\"anchor\" id=\"그래프-엔지니어링은-자율성의-경계를-구조화한다\"\u003e\u003c/a\u003e그래프 엔지니어링은 자율성의 경계를 구조화한다\u003c/h2\u003e\n\u003cp\u003e그래프는 작업을 노드와 연결선으로 표현한다. 노드는 모델 호출, 도구 실행, 사람의 승인 또는 검증 과정이 될 수 있고, 연결선은 상태에 따른 다음 행동을 나타낸다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EC%B2%B4%EC%9D%B8%EA%B3%BC-%EA%B7%B8%EB%9E%98%ED%94%84%EC%9D%98-%EC%B0%A8%EC%9D%B4\" class=\"anchor\" id=\"체인과-그래프의-차이\"\u003e\u003c/a\u003e체인과 그래프의 차이\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003e체인\u003c/strong\u003e은 A에서 B, B에서 C로 이어지는 선형 절차에 적합하다.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e그래프\u003c/strong\u003e는 조건 분기, 반복, 병렬 실행, 실패 복구, 중간 저장이 필요한 작업에 적합하다.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e동적 그래프\u003c/strong\u003e는 실행 중 모델이 다음 하위 작업이나 경로를 제안한다.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e제약된 그래프\u003c/strong\u003e는 모델이 선택하더라도 허용된 노드와 전이 안에서만 움직이게 한다.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e현대적인 그래프 설계의 목적은 모든 행동을 사람이 미리 결정하는 데 있지 않다. 데이터 삭제 전 승인 노드를 반드시 거치게 하거나, 테스트 실패 상태에서는 배포 상태로 이동하지 못하게 하는 식으로 \u003cstrong\u003e지켜야 할 불변 조건\u003c/strong\u003e을 구조에 넣는 데 있다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EA%B7%B8%EB%9E%98%ED%94%84%EA%B0%80-%ED%95%84%EC%9A%94%ED%95%9C-%EC%8B%A0%ED%98%B8\" class=\"anchor\" id=\"그래프가-필요한-신호\"\u003e\u003c/a\u003e그래프가 필요한 신호\u003c/h3\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\u003cp\u003e단순한 문서 요약이나 한 번의 데이터 변환까지 그래프로 만들면 복잡성만 늘어날 수 있다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EC%8B%A4%EB%AC%B4-%EC%A0%81%EC%9A%A9-%EC%88%9C%EC%84%9C-%ED%95%98%EB%84%A4%EC%8A%A4%EC%97%90%EC%84%9C-%EC%8B%9C%EC%9E%91%ED%95%B4-%ED%95%84%EC%9A%94%ED%95%9C-%EB%A7%8C%ED%81%BC-%ED%99%95%EC%9E%A5%ED%95%98%EA%B8%B0\" class=\"anchor\" id=\"실무-적용-순서-하네스에서-시작해-필요한-만큼-확장하기\"\u003e\u003c/a\u003e실무 적용 순서: 하네스에서 시작해 필요한 만큼 확장하기\u003c/h2\u003e\n\u003cp\u003e대부분의 팀에는 다음 순서가 현실적이다.\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cstrong\u003e단일 작업과 성공 기준을 정한다.\u003c/strong\u003e 먼저 입력, 기대 출력, 실패 사례를 모은다.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e최소 하네스를 만든다.\u003c/strong\u003e 필요한 컨텍스트와 도구만 제공하고 권한, 테스트, 로그, 비용 한도를 설정한다.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e평가 세트를 구축한다.\u003c/strong\u003e 정상 사례뿐 아니라 모호한 요청, 잘못된 문서, 도구 오류, 권한 초과 시도를 포함한다.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e반복이 필요한 지점을 루프로 만든다.\u003c/strong\u003e 검증과 수정이 실제 품질을 높이는 구간에만 재시도를 허용한다.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e분기와 복구가 복잡할 때 그래프로 승격한다.\u003c/strong\u003e 상태와 전이를 명시하고 위험 행동 앞에 승인 노드를 둔다.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e업무 분리가 이득일 때만 멀티 에이전트를 사용한다.\u003c/strong\u003e 병렬 탐색이나 서로 다른 전문 역할이 필요하지 않다면 단일 에이전트가 더 단순하고 저렴할 수 있다.\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EC%BD%94%EB%94%A9%EA%B3%BC-%EB%A6%AC%EC%84%9C%EC%B9%98%EC%97%90%EC%84%9C%EC%9D%98-%EC%A0%81%EC%9A%A9-%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=\"코딩 작업\"\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저장소 범위 제한, 테스트, diff 검토, 배포 승인\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코딩에는 동적 워크플로우가 항상 비효율적이고 리서치에는 항상 유리하다고 단정할 수 없다. 테스트 가능한 대규모 마이그레이션은 자율 에이전트에 적합할 수 있고, 답이 명확한 사실 조회는 고정된 리서치 절차가 더 효율적일 수 있다. 핵심 변수는 분야보다 \u003cstrong\u003e목표의 명확성, 자동 검증 가능성, 탐색 공간과 오류 비용\u003c/strong\u003e이다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EC%BD%94%EB%93%9C-%EB%A6%AC%EB%B7%B0%EB%8A%94-%EC%82%AC%EB%9D%BC%EC%A7%80%EB%8A%94-%EA%B2%83%EC%9D%B4-%EC%95%84%EB%8B%88%EB%9D%BC-%EA%B2%80%ED%86%A0-%EB%8B%A8%EC%9C%84%EA%B0%80-%EB%B0%94%EB%80%90%EB%8B%A4\" class=\"anchor\" id=\"코드-리뷰는-사라지는-것이-아니라-검토-단위가-바뀐다\"\u003e\u003c/a\u003e코드 리뷰는 사라지는 것이 아니라 검토 단위가 바뀐다\u003c/h2\u003e\n\u003cp\u003e에이전트가 코드를 작성하면 개발자는 모든 줄을 직접 입력하는 대신 요구사항, 설계, 테스트 결과, 변경 범위와 위험을 감독하는 역할을 더 많이 맡게 된다. Pull Request 요약과 에이전트 보고서는 검토 속도를 높일 수 있다.\u003c/p\u003e\n\u003cp\u003e그러나 요약만 읽고 승인하는 방식은 안전한 기본값이 아니다. 에이전트가 누락한 변경이나 잘못 이해한 로직은 요약에도 나타나지 않을 수 있다. 다음 상황에서는 원본 diff와 관련 코드를 직접 검토해야 한다.\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에이전트의 설명과 실제 diff가 일치하지 않는 경우\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eHuman-in-the-loop는 사람이 형식적으로 버튼을 누르는 것이 아니다. 사람이 판단할 수 있도록 변경 증거, 테스트 결과, 실패 가능성과 되돌리기 절차를 제공하는 것까지 포함한다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EC%9E%90%EC%A3%BC-%EB%B9%A0%EC%A7%80%EB%8A%94-%ED%95%A8%EC%A0%95\" class=\"anchor\" id=\"자주-빠지는-함정\"\u003e\u003c/a\u003e자주 빠지는 함정\u003c/h2\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EB%AA%A9%EC%A0%81-%EC%97%86%EB%8A%94-%EB%A9%80%ED%8B%B0-%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8\" class=\"anchor\" id=\"목적-없는-멀티-에이전트\"\u003e\u003c/a\u003e목적 없는 멀티 에이전트\u003c/h3\u003e\n\u003cp\u003e에이전트를 늘리면 역할 조정, 중복 호출, 컨텍스트 전달과 결과 병합 비용이 생긴다. 서로 다른 관점의 병렬 탐색이 필요하거나 컨텍스트를 분리해야 하는 이유가 없다면 단일 에이전트가 더 낫다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EB%AC%B4%EC%A0%9C%ED%95%9C-%EB%8F%99%EC%A0%81-%EC%9B%8C%ED%81%AC%ED%94%8C%EB%A1%9C%EC%9A%B0\" class=\"anchor\" id=\"무제한-동적-워크플로우\"\u003e\u003c/a\u003e무제한 동적 워크플로우\u003c/h3\u003e\n\u003cp\u003e에이전트가 하위 작업을 계속 만들도록 허용하면 토큰과 도구 호출 비용이 빠르게 증가한다. 비용은 대략 각 단계의 입력·출력 토큰 비용, 도구 비용, 병렬 에이전트 수, 반복 횟수의 합으로 결정된다. 호출 횟수, 동시 실행 수, 총예산과 최대 실행 시간을 별도로 제한해야 한다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#%ED%8F%89%EA%B0%80-%EC%A7%80%ED%91%9C-%ED%95%98%EB%82%98%EB%A7%8C-%EC%B5%9C%EC%A0%81%ED%99%94%ED%95%98%EA%B8%B0\" class=\"anchor\" id=\"평가-지표-하나만-최적화하기\"\u003e\u003c/a\u003e평가 지표 하나만 최적화하기\u003c/h3\u003e\n\u003cp\u003e테스트 통과율만 목표로 주면 테스트를 약화하거나 예외 처리를 숨기는 식의 잘못된 최적화가 생길 수 있다. 품질, 보안, 변경 규모, 비용, 지연 시간과 사람의 평가를 함께 사용해야 한다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EB%AC%B8%EC%84%9C-%EC%A3%BC%EC%9E%85%EC%9D%84-%ED%8C%8C%EC%9D%B8%ED%8A%9C%EB%8B%9D%EA%B3%BC-%ED%98%BC%EB%8F%99%ED%95%98%EA%B8%B0\" class=\"anchor\" id=\"문서-주입을-파인튜닝과-혼동하기\"\u003e\u003c/a\u003e문서 주입을 파인튜닝과 혼동하기\u003c/h3\u003e\n\u003cp\u003e문서 검색이나 프로젝트 지침을 통해 결과가 지속적으로 달라질 수 있지만 모델 가중치가 바뀌는 것은 아니다. 이는 넓은 의미에서 시스템의 학습 효과로 설명할 수 있으나, 엄밀히는 외부 메모리와 컨텍스트를 이용한 적응이다. 문서나 검색 인덱스를 보존해야 다음 실행에도 변화가 유지된다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EC%9A%B4%EC%98%81-%EB%8B%A8%EA%B3%84%EC%97%90%EC%84%9C-%EB%86%93%EC%B9%98%EA%B8%B0-%EC%89%AC%EC%9A%B4-%ED%8F%89%EA%B0%80%EB%B3%B4%EC%95%88%EA%B2%BD%EC%A0%9C%EC%84%B1\" class=\"anchor\" id=\"운영-단계에서-놓치기-쉬운-평가보안경제성\"\u003e\u003c/a\u003e운영 단계에서 놓치기 쉬운 평가·보안·경제성\u003c/h2\u003e\n\u003cp\u003e에이전트 설계는 아키텍처 그림으로 끝나지 않는다. 실제 운영에서는 \u003cstrong\u003e무엇을 허용했는지보다 무엇이 실제로 발생했는지 측정하는 체계\u003c/strong\u003e가 중요하다.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#%EC%B5%9C%EC%86%8C-%EC%9A%B4%EC%98%81-%EC%A7%80%ED%91%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\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%B3%B4%EC%95%88%EC%83%81-%ED%95%84%EC%9A%94%ED%95%9C-%EB%B6%88%EB%B3%80-%EC%A1%B0%EA%B1%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\u003cli\u003e에이전트가 자신의 평가 기준, 테스트 또는 감사 로그를 임의로 수정하지 못하게 한다.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e이러한 불변 조건은 프롬프트 한 문장보다 샌드박스, 접근 제어, 그래프 전이와 독립 검증기로 강제하는 편이 안전하다. 생성형 AI 위험 관리는 모델의 정확도뿐 아니라 운영 환경, 사람의 감독과 사고 대응까지 포함해야 한다.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%EC%96%B4%EB%96%A4-%EA%B0%9C%EB%85%90%EB%B6%80%ED%84%B0-%EB%B0%B0%EC%9B%8C%EC%95%BC-%ED%95%98%EB%82%98\" class=\"anchor\" id=\"어떤-개념부터-배워야-하나\"\u003e\u003c/a\u003e어떤 개념부터 배워야 하나\u003c/h2\u003e\n\u003cp\u003e현재 실무에서 가장 먼저 익힐 것은 하네스 엔지니어링이다. 정확한 컨텍스트, 최소 권한, 자동 검증, 로그, 승인과 비용 한도를 갖추면 단일 에이전트의 많은 실패를 줄일 수 있다.\u003c/p\u003e\n\u003cp\u003e그다음 반복이 품질을 높이는 작업에 종료 조건이 있는 루프를 추가한다. 분기, 병렬 처리, 복구와 승인 절차가 복잡해졌을 때 그래프로 명시한다. 복잡한 용어를 채택하는 것보다 에이전트의 목표, 권한, 증거, 비용과 중단 조건을 측정 가능한 형태로 만드는 것이 우선이다.\u003c/p\u003e\n","tags":["컨텍스트 엔지니어링","하네스 엔지니어링","AI 에이전트","Claude Code","AI 개발","코딩 에이전트"],"faqs":[{"question":"하네스 엔지니어링은 프롬프트 엔지니어링과 무엇이 다른가요?","answer":"프롬프트 엔지니어링은 주로 모델에 전달할 지시와 표현을 다룬다. 하네스 엔지니어링은 프롬프트뿐 아니라 컨텍스트 검색, 도구, 권한, 샌드박스, 테스트, 로그, 사람의 승인과 오류 복구까지 포함하는 더 넓은 실행 환경 설계다."},{"question":"컨텍스트 엔지니어링과 하네스 엔지니어링은 같은 뜻인가요?","answer":"같지 않다. 컨텍스트 엔지니어링은 모델이 현재 알아야 할 정보를 선택·검색·요약·배치하는 데 집중한다. 하네스 엔지니어링은 컨텍스트 관리에 더해 권한, 도구, 검증, 비용 제한과 운영 정책을 함께 다룬다."},{"question":"루프와 그래프의 가장 중요한 차이는 무엇인가요?","answer":"루프는 계획·실행·검증·수정처럼 무엇을 반복하고 언제 멈출지를 정의한다. 그래프는 어떤 상태가 존재하고 한 상태에서 다른 상태로 이동할 수 있는지를 정의한다. 그래프 안에 하나 이상의 루프가 포함될 수 있다."},{"question":"모든 AI 에이전트에 LangGraph 같은 그래프 프레임워크가 필요한가요?","answer":"아니다. 단순하고 짧은 작업은 단일 에이전트와 최소 하네스로 충분할 수 있다. 조건 분기, 병렬 처리, 중간 저장, 실패 복구, 사람의 승인 또는 실행 경로 감사가 필요할 때 그래프의 가치가 커진다."},{"question":"멀티 에이전트가 단일 에이전트보다 항상 성능이 좋은가요?","answer":"아니다. 멀티 에이전트는 병렬 조사, 서로 다른 전문 역할, 컨텍스트 분리가 필요할 때 유용하다. 역할이 겹치거나 목표가 모호하면 중복 작업, 전달 오류, 지연과 비용만 늘어날 수 있다."},{"question":"에이전트 루프의 무한 반복은 어떻게 막나요?","answer":"최대 반복 횟수뿐 아니라 시간, 토큰, 도구 호출과 비용 예산을 설정해야 한다. 새 정보나 오류 감소가 없는 상태를 진전 없음으로 판정하고, 일정 기준에 도달하면 중단하거나 사람에게 이관하도록 설계해야 한다."},{"question":"AI가 작성한 코드의 Pull Request 요약만 검토해도 되나요?","answer":"요약은 보조 자료일 뿐 원본 변경을 대체하지 않는다. 인증, 결제, 개인정보, 데이터 마이그레이션, 배포 설정과 같이 위험이 큰 변경은 실제 diff, 테스트 범위, 의존성과 되돌리기 절차를 직접 검토해야 한다."},{"question":"회사 문서를 계속 주입하면 모델이 학습한 것인가요?","answer":"결과가 지속적으로 달라질 수는 있지만 모델 가중치가 업데이트된 것은 아니다. 외부 문서, 검색 인덱스, 메모리와 지침을 보존해 다음 실행에 다시 제공하는 시스템 수준의 적응이며, 엄밀한 의미의 파인튜닝과 구분해야 한다."},{"question":"그래프 엔지니어링은 초기의 고정 워크플로우로 돌아가는 것인가요?","answer":"반드시 그렇지는 않다. 현대적인 그래프는 에이전트가 일부 구간에서 자율적으로 계획하고 도구를 선택하도록 허용하면서도, 위험한 전이와 필수 승인 지점을 명시적으로 제한하는 혼합형 제어에 가깝다."},{"question":"하네스를 설계할 때 가장 먼저 정할 것은 무엇인가요?","answer":"작업의 성공 기준과 실패 비용을 먼저 정해야 한다. 그다음 필요한 컨텍스트와 도구만 제공하고 최소 권한, 자동 검증, 실행 로그, 비용 한도와 중단 조건을 설정하는 것이 좋다."}],"sources":[{"url":"https://www.anthropic.com/research/building-effective-agents","title":"Anthropic — Building effective agents","type":"source"},{"url":"https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents","title":"Anthropic — Effective context engineering for AI agents","type":"source"},{"url":"https://www.anthropic.com/engineering/multi-agent-research-system","title":"Anthropic — How we built our multi-agent research system","type":"source"},{"url":"https://docs.langchain.com/oss/python/langgraph/overview","title":"LangGraph overview","type":"source"},{"url":"https://arxiv.org/abs/2210.03629","title":"ReAct: Synergizing Reasoning and Acting in Language Models","type":"source"},{"url":"https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.600-1.pdf","title":"NIST AI 600-1 — Artificial Intelligence Risk Management Framework: Generative Artificial Intelligence Profile","type":"source"}],"images":[{"id":662,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6ODI0NSwicHVyIjoiYmxvYl9pZCJ9fQ==--3a03e254c3d24990df4c3fc46145a5db24e457ba/ai-eb0e40fe.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 system surrounded by loop arrows and a graph of success and failure nodes","caption":"The diagram visualizes an AI agent’s execution loop, security checks, and branching paths.","description":null},"ja":{"alt":"中央のAIシステムを循環矢印と成功・失敗ノードのグラフが囲む図","caption":"AIエージェントの実行ループ、セキュリティ検証、分岐経路を可視化している。","description":null},"es":{"alt":"Sistema de IA central rodeado de flechas cíclicas y una red de nodos de éxito y error","caption":"El diagrama representa el bucle de ejecución, las verificaciones y las rutas de un agente de IA.","description":null},"id":{"alt":"Sistem AI pusat dikelilingi panah berulang dan graf simpul keberhasilan serta kegagalan","caption":"Diagram ini memvisualkan loop eksekusi, pemeriksaan keamanan, dan jalur bercabang agen AI.","description":null},"pt":{"alt":"Sistema central de IA cercado por setas cíclicas e uma rede de nós de sucesso e falha","caption":"O diagrama mostra o ciclo de execução, as verificações de segurança e as rotas de um agente de IA.","description":null},"zh-hant":{"alt":"中央 AI 系統周圍環繞循環箭頭與成功、失敗節點組成的路徑圖","caption":"此圖呈現 AI 代理的執行迴圈、安全檢查與分支路徑。","description":null},"de":{"alt":"Zentrales KI-System, umgeben von Kreispfeilen und einem Netz aus Erfolgs- und Fehlerknoten","caption":"Das Diagramm zeigt Ausführungsschleife, Sicherheitsprüfungen und verzweigte Pfade eines KI-Agenten.","description":null}}},{"id":663,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6ODI1MSwicHVyIjoiYmxvYl9pZCJ9fQ==--cea797c99aabaa4b8f760264327fe2ee8b34b423/ai-23d7d97a.webp","is_representative":false,"generation_method":"ai_image","license":"ai_generated","mime_type":"image/webp","translations":{"ko":{"alt":"보안 하네스 속 AI 로봇이 도구 루프와 분기 그래프를 거쳐 검증 및 경고 단계로 이동하는 흐름","caption":"AI 에이전트가 보호된 환경에서 반복 작업과 그래프 분기를 거쳐 사람의 검증을 받는 과정을 보여준다.","description":null},"en":{"alt":"AI robot moves from a secure harness through a tool loop and branching graph to validation and a warning gate","caption":"The diagram shows an AI agent progressing through protected execution, iterative tools, graph branches, and human validation.","description":null},"ja":{"alt":"保護されたAIロボットがツールのループと分岐グラフを経て検証と警告ゲートへ進む流れ","caption":"AIエージェントが保護環境から反復処理、グラフ分岐、人による検証へ進む工程を示している。","description":null},"es":{"alt":"Un robot de IA pasa de un entorno seguro a un bucle de herramientas, un grafo ramificado y una puerta de alerta","caption":"El diagrama muestra a un agente de IA avanzando por ejecución protegida, iteraciones, ramas y validación humana.","description":null},"id":{"alt":"Robot AI bergerak dari lingkungan aman melalui loop alat dan graf bercabang menuju validasi serta gerbang peringatan","caption":"Diagram ini menunjukkan agen AI melalui eksekusi terlindungi, proses berulang, cabang graf, dan validasi manusia.","description":null},"pt":{"alt":"Robô de IA passa de um ambiente seguro por um ciclo de ferramentas e grafo ramificado até validação e alerta","caption":"O diagrama mostra um agente de IA avançando por execução protegida, iterações, ramificações e validação humana.","description":null},"zh-hant":{"alt":"AI 機器人從安全框架經過工具迴圈與分支圖，走向人工驗證及警示閘門","caption":"此圖呈現 AI 代理從受保護執行、反覆工具操作和圖形分支走向人工驗證的流程。","description":null},"de":{"alt":"KI-Roboter durchläuft eine sichere Umgebung, eine Werkzeugschleife und einen verzweigten Graphen bis zur Warnschranke","caption":"Die Grafik zeigt einen KI-Agenten bei geschützter Ausführung, iterativen Abläufen, Graphverzweigungen und menschlicher Prüfung.","description":null}}},{"id":664,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6ODI1NywicHVyIjoiYmxvYl9pZCJ9fQ==--34a8ab050f2b1c7887a48c393fac66f4e5cc9bca/ai-fe6d9b17.webp","is_representative":false,"generation_method":"ai_infographic","license":"ai_generated","mime_type":"image/webp","visible_locales":["ko"],"translations":{"ko":{"alt":"AI 에이전트 설계 순서를 하네스, 루프, 그래프 3단계와 승인 점검표로 설명한 인포그래픽","caption":"환경과 경계를 갖춘 하네스에서 시작해 반복 루프와 상태 그래프로 확장하는 설계 순서를 보여준다.","description":null},"en":{"alt":"Infographic explaining AI agent design in three stages: harness, loop, and graph, with an approval checklist","caption":"The diagram shows a progression from a bounded harness to an iterative loop and a state graph.","description":null},"ja":{"alt":"AIエージェント設計をハーネス、ループ、グラフの3段階と承認項目で示す図解","caption":"環境と境界を備えたハーネスから反復ループ、状態グラフへ進む設計順序を示している。","description":null},"es":{"alt":"Infografía del diseño de agentes de IA en tres etapas: arnés, bucle y grafo, con lista de aprobación","caption":"El diagrama muestra el avance desde un arnés con límites hasta un bucle iterativo y un grafo de estados.","description":null},"id":{"alt":"Infografik desain agen AI dalam tiga tahap: harness, loop, dan graf, beserta daftar pemeriksaan persetujuan","caption":"Diagram ini menunjukkan urutan dari harness dengan batasan ke loop berulang dan graf status.","description":null},"pt":{"alt":"Infográfico do design de agentes de IA em três etapas: harness, loop e grafo, com lista de aprovação","caption":"O diagrama mostra a evolução de um harness com limites para um loop iterativo e um grafo de estados.","description":null},"zh-hant":{"alt":"以執行框架、迴圈與圖三階段說明 AI 代理設計，並附核准檢查表的資訊圖","caption":"圖表呈現從具備環境邊界的執行框架，逐步擴展到反覆迴圈與狀態圖的設計順序。","description":null},"de":{"alt":"Infografik zum KI-Agenten-Design in drei Stufen: Harness, Schleife und Graph, mit Freigabe-Checkliste","caption":"Die Grafik zeigt den Aufbau vom abgegrenzten Harness über eine iterative Schleife bis zum Zustandsgraphen.","description":null}}}],"published_at":"2026-08-16T00:45:12+09:00","updated_at":"2026-08-16T00:45:12+09:00","license":"cc_by","translation_status":"original","available_locales":["ko","en","ja","es"],"data_locales":["ko","en","ja","es","id","pt","zh-hant","de"],"url":"https://injoys.com/ko/articles/ai-agent-harness-loop-graph-engineering"}