하네스 엔지니어링, 지시문을 구조로 옮겨 개선하기
회사에서 이번년도 초 부터 클로드 코드를 적극적으로 사용하면서 바이브 코딩을 진행하고 있다. 최근에 나온 Fable5 모델을 주로 사용하고 있는데 Fable5 모델은 토근 사용량이 Opus5 모델보다 현저히 적어 Fable5에 모든 작업을 온전히 맡길 경우 빠르게 토큰이 소진되는 문제가 있어 업무를 진행하는데 불편함을 느꼈다. 그래서 분석,검증 부분은 Fable5에 맡기고 기능 구현은 Opus5 모델에게 맡기는 전략을 적용하기로 했다. 이번 글은 Fable5 모델을 최대한 잘 사용하기 위해 하네스 엔지니어링과 오케스트레이션 전략에 대해 고민하고 토큰을 아끼기 위해 고민한 것을 공유하기 위한 글이다. 개선한 내용을 설명하기에 앞서, 하네스 엔지니어링과 오케스트레이션이 무엇인지 설명을 간단하게 하고 넘어가고자 한다. 하네스 엔지니어링(Harness Engineering)은 AI 에이전트가 오작동하지 않고 안전하고 안정적으로 자율 업무를 수행할 수 있도록, 외부에서 작업 환경, 가드레일, 피드백 루프를 함께 설계하고 제어하는 운용 체계 구축 기술을 뜻한다. AI 오케스트레이션(AI Orchestration)은 여러 AI 모델, 에이전트, 데이터, 도구를 오케스트라의 지휘자처럼 유기적으로 연결하고 조율하여 하나의 복잡한 작업을 수행하도록 관리하는 기술을 뜻한다. 하네스 엔지니어링부터 적용하기 AI 코딩 에이전트에게 "하지 마"라고 적어두는 것과, 하려는 순간 AI가 막도록 만드는 것은 다른 일이다. 바이브 코딩을 통해 개발하면서 자주 지시문으로 지시했던 것을 뽑아 규칙들로 정의하고 훅,상태,절차로 옮겨서 적용하려고 했다. 클로드 코드를 쓰다 보면 CLAUDE.md(프로젝트 지시문)에 규칙이 쌓인다. "커밋 메시지에 AI 흔적 넣지 마", "main 에 직접 커밋하지 마", "검증 끝나기 전에 커밋하지 마". 등등.. 문제는 이 규칙들이 확률적으로만 지켜진다는 것이다. 컨텍스트가 길어지면 잊히고, 병행 세션이 돌면 서로의 상태를 모르고, 모델이 바뀌면 준수율이 달라진다.
오또니