AI 에이전트, 프롬프트 엔지니어링의 한계를 넘어 하네스 엔지니어링으로 혁신
프롬프트 엔지니어링(Prompt Engineering)의 한계를 인식하고, AI 에이전트의 출력을 강제하기 위해 하네스 엔지니어링(Harness Engineering)으로 전환
4단계 사고 모델과 시스템 레벨 훅(Hook)을 활용하여 에이전트의 실행 환경을 설계하고, 코드 생성(Code Generation) 프로세스 통제
멀티모델 지원을 위해 AAIF 표준 기반의 AGENTS.md를 도입하여 다양한 모델 간의 일관성 확보
코드-포지(code-forge) 시스템 구축을 통해 에이전트의 조합, 컴파일, 워크플로우 정의를 자동화하고, 개발 생산성 향상
프롬프트 엔지니어링의 한계와 하네스 엔지니어링의 등장
본문에서는 프롬프트 엔지니어링(Prompt Engineering)의 한계점을 지적하며, AI 에이전트의 출력을 제어하기 위한 새로운 접근 방식인 하네스 엔지니어링(Harness Engineering)을 제시한다. 프롬프트는 결국 '부탁'에 불과하며, 에이전트가 이를 무시하는 경우가 발생할 수 있음을 강조한다. 하네스 엔지니어링은 에이전트가 실행되는 환경 자체를 설계하여, 시스템 레벨에서 출력을 강제하는 방식을 취한다. 이는 프롬프트의 유연성을 유지하면서도, 에이전트의 동작을 보다 강력하게 통제할 수 있게 해준다.
4단계 사고 모델과 시스템 레벨 훅(Hook)의 역할
저자는 6단계 사고 모델의 문제점을 개선하여, GROUND, APPLY, VERIFY, ADAPT의 4단계 사고 모델을 구축했다. 특히, VERIFY 단계에서 실패 시 ADAPT 단계를 통해 실패 원인을 분석하고 재시도하는 구조를 도입하여, 에이전트의 안정성을 높였다. 또한, Claude Code의 훅(Hook) 기능을 활용하여 시스템 레벨에서 에이전트의 동작을 제어한다. PreToolUse 훅을 통해 Bash 명령어를 감시하고, 위험한 명령어를 차단하며, SubagentStop 훅을 통해 타입 검사를 수행하는 등, 훅을 활용한 다양한 제어 방식을 제시한다.
멀티모델 지원을 위한 AGENTS.md와 코드-포지(code-forge) 시스템
저자는 멀티모델 환경에서의 일관성을 확보하기 위해 AAIF(Agentic AI Foundation) 표준에 기반한 AGENTS.md를 도입했다. AGENTS.md는 다양한 모델이 공통적으로 이해할 수 있는 에이전트 설정 표준을 제공하며, 이를 통해 Claude, Codex, Cursor 등 여러 모델 간의 호환성을 확보한다. 또한, 코드-포지(code-forge) 시스템을 구축하여 에이전트의 조합, 컴파일, 워크플로우 정의를 자동화했다. /setup, /smith-build, /start 등의 명령어를 통해 개발 프로세스를 단순화하고, 개발 생산성을 향상시켰다.
하네스 엔지니어링의 3층 구조와 멀티모델 협업
하네스 엔지니어링은 3층 구조로 설계되어, 시스템 레벨에서 AI 에이전트의 출력을 강제한다. Layer 1(hooks)은 시스템 레벨의 가드레일 역할을 하며, 어떤 모델이 코드를 생성하든 동일한 규칙을 적용한다. Layer 2(프롬프트)는 유연성을 제공하며, Layer 3(에이전트)는 각 방의 출입 카드와 같은 역할을 수행한다. 또한, 멀티모델 협업을 통해 AI 에이전트의 성능을 향상시킨다. Codex와 Claude 간의 상호 검증을 통해 코드의 품질을 높이고, 다양한 관점에서 문제점을 발견한다. 이는 하네스 엔지니어링의 핵심 가치인 '단순하게 설계하고, 단순하게 채운다'는 철학을 반영한다.
코드-포지(code-forge) 시스템의 구성 요소
코드-포지(code-forge) 시스템은 대장간 메타포를 기반으로 설계되었으며, 각 구성 요소는 특정 역할을 수행한다. Smith(대장장이)는 에이전트 빌드 시스템으로, STATE와 ACT를 조합하여 에이전트를 생성한다. Blueprint(설계도)는 사고 모델과 규칙을 정의하며, 모든 작업의 기준이 된다. Assayer(감정사)는 테스트 생성 및 검증을 담당하고, Bellows(풀무)는 사용량 로깅 및 통계를 통해 개선 방향을 제시한다. Whetstone(숫돌)은 코딩 연습을 위한 도구로, 개발자의 실력 향상을 돕는다. 이러한 구성 요소들은 하네스 엔지니어링의 핵심 원칙인 단순화와 실동작을 구현하는 데 기여한다.