9달러짜리 AI와 200달러짜리 AI의 차이 — 하네스 엔지니어링 개념과 Claude Code 실전 가이드
같은 모델입니다. 같은 작업을 시켰습니다. 그런데 결과는 완전히 달랐습니다.
한쪽은 20분 만에 9달러를 쓰고 끝났는데, 캐릭터가 화면에 나오기는 하지만 조작이 전혀 안 되는 앱이 나왔습니다. 다른 한쪽은 6시간에 200달러가 들었지만, 실제로 동작하는 완성된 앱이 나왔습니다. Anthropic이 올해 3월 공식 블로그에서 직접 공개한 실험 결과입니다. (사실과 다를 수 있음.)
무엇이 달랐을까요?
모델이 아니었습니다. 환경이었습니다. 이 환경을 설계하는 행위에 최근 이름이 붙었습니다. 바로 하네스 엔지니어링(Harness Engineering)입니다.
하네스 엔지니어링이란 무엇인가
하네스(Harness)는 원래 말을 원하는 방향으로 이끌 때 쓰는 마구(馬具)를 뜻합니다. AI도 아무리 똑똑해도 방향을 잡아주지 않으면 제멋대로 달릴 수 있습니다. 그 방향을 잡아주는 환경이 하네스입니다.
HashiCorp 공동 창립자 미첼 해시모토는 이렇게 정의했습니다. "하네스 엔지니어링은 에이전트가 실수를 저지를 때마다 그 실수를 다시는 반복하지 않도록 솔루션을 설계하는 데 시간을 투자하는 것이다."
핵심은 이겁니다. AI가 실수하면 AI를 탓하는 게 아니라, 그 실수가 다시 나오지 않도록 환경을 고치는 것이 하네스 엔지니어링입니다.
사실 이미 하고 있던 일입니다. Claude Code로 개발할 때 CLAUDE.md에 프로젝트 규칙을 적어두고, 위험한 명령은 퍼미션으로 막아두는 것. 이 모든 게 하네스 엔지니어링이었습니다. 이제 체계적으로 이름이 붙은 것뿐입니다.
환경 없는 AI가 실패하는 3가지 패턴
왜 환경이 없으면 9달러짜리 결과가 나올까요? Anthropic이 두 차례 공식 블로그에서 밝힌 원인을 정리하면 세 가지입니다.
첫 번째는 세션 간 기억 소실입니다. AI는 새로운 대화가 시작되면 이전 대화에서 무엇을 했는지 전혀 기억하지 못합니다. Anthropic은 이를 "교대 근무하는 엔지니어가 이전 담당자가 뭘 했는지 전혀 모르는 채로 출근하는 것"에 비유했습니다. 그래서 다음 세션의 AI가 아직 절반밖에 안 된 작업을 "이미 다 됐네"라고 끝내 버리는 일이 생깁니다.
두 번째는 컨텍스트 포화로 인한 조기 종료입니다. 긴 작업을 시키면 대화가 길어질수록 컨텍스트 윈도우가 차오릅니다. 일관성을 잃기 시작하고, 할 일이 아직 남아 있는데도 AI가 스스로 작업을 마무리해 버립니다.
세 번째는 자기 평가 편향입니다. 자신이 만든 결과물을 자신이 평가하면 무조건 잘했다고 합니다. Anthropic에 따르면 품질이 명백히 떨어지는 경우에도 AI는 자신 있게 결과를 칭찬하는 경향이 있습니다. 만드는 AI와 평가하는 AI가 같으면 문제를 찾아도 스스로 "별거 아니다"라고 넘겨 버립니다.
이 세 가지는 AI가 부족해서가 아닙니다. 환경이 없어서 생기는 구조적 문제입니다.
Claude Code에서 하네스를 구성하는 5가지 방법
9달러가 아닌 200달러짜리 결과를 얻으려면 어떻게 해야 할까요? Claude Code 기준으로 하네스를 구성하는 방법은 다섯 가지입니다.
1. CLAUDE.md — 규칙을 문서로 전달한다
AI가 실수를 할 때마다 그 실수를 방지하는 규칙을 CLAUDE.md에 적습니다. 새 세션이 시작될 때마다 자동으로 로드되기 때문에 세션 간 기억 소실 문제를 이 방법으로 해결할 수 있습니다. 단, CLAUDE.md는 맥락이자 부탁입니다. AI가 안 지킬 수도 있다는 한계가 있습니다.
2. 퍼미션 — 위험한 것은 아예 차단한다
부탁과 강제는 다릅니다. 파일 읽기는 허용하되 파일 삭제는 실행 자체를 막는 것처럼, 퍼미션은 AI가 어길 수 없는 경계를 만들어 줍니다. CLAUDE.md가 "하지 마세요"라면, 퍼미션은 "불가능합니다"입니다.
3. 훅 — 검증을 자동으로 강제한다
CLAUDE.md에 "테스트를 꼭 해달라"고 적어둘 수 있지만, 이는 부탁입니다. 훅은 다릅니다. 특정 행동이 일어날 때 자동으로 실행되기 때문에 AI가 우회할 수 없습니다. Playwright MCP 같은 도구를 훅으로 연결하면 코드 작성 후 실제 브라우저 테스트가 자동으로 강제됩니다.
4. 테스트 도구 — AI에게 직접 확인할 수단을 준다
코드만 보면 문제없어 보이는데 실제로 실행하면 버튼이 안 눌리거나 화면이 깨지는 경우가 있습니다. Playwright나 Puppeteer 같은 도구를 연결해서 AI가 실제 브라우저를 열고 사용자처럼 클릭하며 확인하게 만들면, Anthropic 실험에서도 성능이 크게 향상되었다고 합니다.
5. 생성-검증 AI 분리 — 만드는 AI와 평가하는 AI를 나눈다
자기 평가 편향을 구조적으로 해결하는 방법입니다. 코드를 생성하는 에이전트(Generator)와 그 결과를 검증하는 에이전트(Evaluator)를 아예 분리합니다. 같은 AI에게 "비판적으로 봐라"고 시키는 것보다, 처음부터 검증 전용 AI를 따로 두는 것이 훨씬 효과적입니다. Claude Code의 서브에이전트가 이 원리를 적용하는 도구입니다.
하네스는 완성이 없다
마지막으로 한 가지 원칙을 덧붙입니다.
하네스에 적어둔 규칙 하나하나는 "AI 모델이 이것을 혼자 못 한다"는 가정입니다. 그런데 모델은 계속 발전합니다. Anthropic도 Opus 4.6이 출시된 후 스프린트 구조를 통째로 하네스에서 제거했습니다. 모델이 좋아지니 그 제약이 더 이상 필요 없어진 것입니다.
하네스 엔지니어링은 한 번 만들고 끝나는 설정 파일이 아닙니다. 모델이 발전하면 불필요해진 규칙은 지우고, 새로운 실패 패턴이 생기면 즉시 추가하는 살아있는 문서입니다.
9달러와 200달러의 차이는 모델이 아니었습니다. 환경이었습니다. 그리고 그 환경은 누군가 설계해야 합니다. AI가 이상한 결과를 낼 때, 모델을 탓하기 전에 먼저 환경을 돌아보시기 바랍니다. CLAUDE.md에 규칙 한 줄을 추가하는 것만으로도 결과가 달라질 수 있습니다.
댓글
댓글 쓰기