빅데이타 & 머신러닝/Agentic coding

AI 코딩의 발전단계 - 하네스 엔지니어링과 완전 자율형 에이전트

Terry Cho 2026. 3. 16. 13:44

근래에 하네스 엔지니어링에 대한 리서치를 하다가 매우 흥미 있는 글을 하나 찾았는데, 내가 존경하는 마틴파울러님 사이트에, 올라온 Keif Morris의 글이다. 

참고 : https://martinfowler.com/articles/exploring-gen-ai/humans-and-agents.html 

이 글은 개발에서, AI 에이전트와 사람간의 상호 작용을 단계별로 정의한 모델인데, 지금까지 명확하지 않은 AI 기반 개발에 대한 개념을 꽤 명확하게 설명하였다. 

 

이 글의 이해를 위해서는 두 가지 Loop의 개념을 이해해야 한다. 

  • Why Loop : 소프트웨어를 만들기 위한 아이디어를 정의하고, 어떤 소프트웨어를  만들어낼것인가를 정의하는 부분이다. 일종의 기획과 검증에 해당한다.  
  • How Loop : 기획에 정의된 대로 소프트웨어를 실제로 구현하는 부분이다.

1단계. Human Outside the Loop

Human outside the loop는 사람이 소프트웨어 개발에는 관여하지 않고, 기획과 아이디어에 해당하는 Why loop 만 담당해서, AI가 소프트웨어를 개발하도록 하는 방식이다. 우리가 흔히 이야기 하는 Vibe Coding이 이 모델에 해당한다. 사람은 소프트웨어 내부 (코드가 무엇으로 되어 있는지, 코드가 얼마나 깔끔한지)에는 신경쓰지 않고, 외부 (기능, 성능, 깔끔하게 작동하는지)에 집중을 한다.

2단계 Human in the Loop

사람이 소프트웨어를 개발하는 과정까지 깊게 개입해서, AI와 상호작용을 하는 모델로, 일일이 코드 단위로 다 체크하는 방식이라고 보면 된다. 즉 사람이 How loop안에서 AI와 함께 존재하는 모델이다. 

기존의 Cursor와 같은 IDE를 사용하면서 채팅 인터페이스를 통해서 명령을 내리고 생성된 코드를 검증하는 것과 같이 실시간으로 AI와 상호 작용을 하는 모델이라고 보면 된다. 


3단계 Human on the Loop

2번 In the Loop 단계가 , 일일이 AI에게 지시를 내리고 일일이 작업 내용을 확인했다고 하면, On the Loop는 AI 모델에게 일을하기 위한 가이드를 주고, AI가 스스로 해결하도록 하게 하는 것이다. 

가이드란 예를 들어서, 아키텍처나,코딩 스타일이나, 테스트를 어떻게 하라던가, 어떤 프레임웍을 사용하는 것과 같이 개발에 대한 구체적인 가이드가 될 수 있다.

이러한 가이드를 요즘은 “harness (하네스)”라고 한다. 

Claude Code와 같은 CLI기반의 툴이 Anthropic의 Claude 모델을 코딩 전용 기능으로 감싸놓은 가이드(하네스)라고 할 수 있다. 


"in the loop"와 "on the loop"의 차이는 agent가 뭔가 마음에 안 드는 결과를 냈을 때 가장 선명하게 나타난다..

 

  • In the loop 방식: 결과물을 직접 고친다. 코드를 직접 편집하거나, agent에게 "이 부분을 이렇게 고쳐"라고 지시한다.
  • On the loop 방식: harness를 고친다. 왜 이런 결과가 나왔는지 분석하고, 다음에는 agent 스스로 더 나은 결과를 내도록 harness를 개선한다.

결과물이 아니라 결과물을 만들어내는 시스템을 개선하는 것이다.

요즘 유행하는 Claude Code, MOAI, OpenCode 들이 개발 과정에 대한 하네스로 Human on the Loop 개념에 해당한다고 볼 수 있다.

참고 : 하네스 엔지니어링에 대해서는 향후에 다른 글에서 자세하게 설명한다. 

다음 단계 : Agent Flywheel

3단계의 Human on the Loop에서, 더 진화한 완전 자동화 단계라고 보면 된다. 사람이 초기에 Harness를 설정해주기는 하겠지만, AI가 스스로 테스트와 실패를 통해서 스스로 학습하여 Harness를 보강해 나가는 개념이다. 

 

이 개념을 완성하기 위해서는 기획→개발→테스트 루프가 반복이 되어야 하는데, 이렇게 반복을 하면서 스스로를 개선해나가는 루프 모델을 랄프 루프라고 한다. 이 개념은 Geoffrey Huntley에 의해서 소개 되었는데, AI 모델에게 목표를 주면 AI가 단일 프로세스내에서 실행,검증,수정을 통해서 스스로를 진화 시켜나가면서 문제를 끝까지 해결해나가는 모델이다. 즉 AI가 Harness를 스스로 보강해나가면서 진화하는 개념을 내포하고 있다. 

 

완전 자율형 코딩 에이전트에 대한 많은 시도들이 이루어지고 있으나, 가트너 리포트에 따르면 AI Agent가 실제 Production Coding에 적용되는 비율은 아직까지도 11%에 불가하며, 제대로 통제되지 않은 AI가 Production 코드 수정을 통해서 많은 문제를 일으키는 사례가 보고 되었다. 

 

아래는 Amazon의 사례이다. 

  • AI 에이전트의 운영 서버 삭제 (2025년 12월): 아마존의 내부 AI 에이전트인 **'키로(Kiro)'**가 엔지니어의 권한을 물려받아 라이브 운영(Production) 환경을 무단으로 삭제하고 재생성하는 대형 사고가 발생함. 이로 인해 고객용 비용 계산기 시스템 등이 무려 13시간 동안 다운되는 사태가 발생했음.
  • 장바구니 및 배송 오류 (2026년 3월 2일): 아마존 쇼핑몰 고객 장바구니에 잘못된 배송 시간이 표기되고 결제가 막히는 오류가 발생함. 약 160만 건의 웹사이트 에러와 12만 건의 주문 손실을 냈는데, 내부 조사 결과 아마존의 AI 코딩 어시스턴트 **'Amazon Q'**로 작성된 코드가 핵심 원인 중 하나로 지목된 사례가 있음.
  • 북미 주문량 99% 증발 사태 (2026년 3월 5일): 불과 며칠 뒤, 북미 시장 전체의 주문이 일시적으로 99% 급감하며 단 하루 만에 630만 건의 주문이 증발. 안전망이 완전히 갖춰지지 않은 상태에서 AI가 개입된 코드 변경 사항이 정식 승인 절차 없이 배포된 것이 원인

결과적으로, Amazon은 사람이 모든 코드에 대한 교차 검증을 하도록 프로세스를 변경하고, 핵심 시스템에 대한 다시 코드 검사를 수행하기로 하였다. 

 

현재는 3단계가 주류로 올라오고 있는 상황이며, 4단계에 대한 연구나 시도가 진행되기 위한 과도기적인 단계이다. AI가 코딩에서 어느정도를 자동화할 수 있을지는 모르겠지만 전반적인 흐름은 사람이 방향성과 가이드를 제공하고, AI가 이를 통해서 스스로 발전하는 방향으로 가고 있다고 보인다.