
유튜브 '아는 개발자' 분의 영상을 보고 정리하고 싶었던 하네스 엔지니어링... 밑에 출처에 남기겠지만 이 분 영상을 보고 정리했다고 보면 될 것 같다 (사실 영상으로 보는게 나을 것 같기도 하하)
최근 채용 공고에 AI 활용 역량을 요구하는 경우도 많아지고있기에 한 번쯤 짚고 가면 좋을 것 같아 정리하게 되었다!
'에이전트의 반복되는 같은 실수를 어떻게 해결할 수 있을까'에서 시작
🏇 Harness Engineering
에이전트가 실수를 할 때마다, 그 실수가 다시는 반복되지 않도록 엔지니어링 하는 것
공식으로 치면 에이전트 = 모델 + 하네스 로 표현한다
AI를 야생말로 생각해보면, 하네스는 마구라고 할 수 있다!
마구를 채운다고 말이 느려지는 게 아니라 그 힘이 올바른 방향으로 모여 더 빠르고 정확해지도록 한다
AI도 마찬가지로 AI를 올바른 방향으로 이끌어 잘 쓰기 위해서는 하네스가 필요!
사실 우리가 쓰는 대화 채팅창 자체도 일종의 하네스라고 볼 수 있다
→ 이전 메시지를 기억하고 그것을 배경으로 대화를 이어가기 때문
넓게 보면 모델을 둘러싸고 에이전트의 행동을 조정하는 것들이 모두 하네스가 될 수 있다
CLAUDE.md
AGENTS.md
MCP
Skills
Hooks
Test
권한
메모리 ...
| 구분 | 주요 방식 | 한계 |
|---|---|---|
| 프롬프트 엔지니어링 | 구체적인 지시, 조건 및 형식 지정, 예시 제공 | 프로젝트 상황을 모르면 좋은 프롬프트만으로 정확한 작업이 어려움 |
| 컨텍스트 엔지니어링 | 프로젝트 구조, 코드 스타일, 관련 문서 같은 배경 상황을 알려줌 | 필요한 정보를 제공해도 실제 행동과 결과를 강제하거나 검증하는 데 한계가 있음 |
| 하네스 엔지니어링 | 가이드, 도구, 테스트, 권한, 메모리, 실행 루프 등을 함께 설계 | 실행 환경 전체를 설계하고 지속적으로 관리해야 함 |
이런 한계에서 나아가 정확하게 일할 수 있는 환경 자체를 설계해 보자 해서 나온 게 하네스 엔지니어링
프롬프트는 모델이 말하는 것을, 컨텍스트는 모델이 보는 것을, 하네스는 모델이 할 수 있는 것을 결정
컨텍스트 창은 AI가 한 번에 볼 수 있는 정보의 양
작업이 길어질수록 컨텍스트 창이 꽉 차며 AI는 앞 내용을 잊어버리기 시작한다
AI가 정보를 다 알고 있어도 이걸 가지고 엉뚱한 작업을 할 수 있다
이를테면 결제 기능을 만드는 일을 시켰는데 갑자기 DB 테이블을 삭제할 수도 있다
→ "이건 절대 하면 안 돼"라는 구조적 제약이 없어서 일어나는 일
CLAUDE.md 가 잡아준다핵심은 구조
프롬프트로 부탁하는 게 아닌 하네스로 강제하는 것
규칙이 사람 판단이 아닌 시스템에 내장되어, 실수 자체가 불가능한 구조를 만드는 것이 중요
AGENTS.md, CLAUDE.md)컨텍스트 파일 작성
CLAUDE.md파일은 온보딩 문서
Claude가 새 세션을 시작할 때 가장 먼저 읽는 파일
사용 시 주의할 점
원칙
# 기본 템플릿
PROJECT: [이름]
LANGUAGE: [주 언어]
BUILD: [정확한 빌드 명령]
TEST: [정확한 테스트 명령]
LINT: [정확한 린트 명령]
RULES:
- /config는 묻지 않고 수정하지 않는다
- 코드 변경 후에는 반드시 테스트를 돌린다
- [케이스]에는 [패턴]을 쓴다
ANTI-PATTERNS:
- [실제로 있었던 실패, 날짜 포함]
- [관찰된 또 다른 실패 유형]
# 절대 하지 말아야 할 것들
- 내 허락 없이 파일 삭제하지 말 것
- 모르면 추측하지 말고 물어볼 것
- 작업 중간에 임의로 다른 방향으로 바꾸지 말 것
실수를 하게 되면 추가하면서 점진적으로 개선해 가면 된다
최대한 많은 MCP를 연결하려고 하면 많이 연결할수록 Claude의 인스트럭션 예산을 잡아먹는다
인스트럭션 예산 = 지시 사항을 처리할 수 있는 용량
인스트럭션이 도구 설명으로 꽉 차버리면 정작 사용자의 명령을 처리할 공간이 없어짐MCP는 지금 써야 하는 것, 꼭 필요한 것만 쓰는 것이 중요진행 파일 CLAUDE-PROGRESS.TXT - 인수인계 문서
작업 목록 feature_list.json - 작업 목록 관리
passes: true, 미완료는 passes: false로 표시-- 한 번에 하나의 기능만 하기! --
1. 기능 하나를 완료하고 Git 커밋 → 메시지는 자세하게 쓰기
2. 진행 파일을 업데이트
3. 다음 세션은 깔끔한 상태에서 시작
-- fork (맥락이 쌓인 세션을 그대로 복제) --
1. 맥락이 충분히 쌓인 메인 세션에서 포크(Fork)실행
2. 복제본에서 세부작업을 진행한다 → 컨텍스트가 오염돼도 메인은 안전
3. 작업 완료 후 복제본은 폐기 → 메인 세션은 그대로 보존
구현 작업이 끝났을 때 이상적인 컨텍스트 상한선: 40%
초과 시
하네스는 잘못된 목표를 고쳐주지 않으며
틀린 기준에는 틀린 결과물이 나오게 된다는걸 유의하자
따라서, 하네스 이전에 기준, 검증을 잘 세우는게 중요하다!
AI 에이전트 하네스 엔지니어링 6계층 가이드 — AGENTS.md 템플릿부터 프로덕션 체크리스트까지
AI 운영 실무 안정성을 높이는 방법, 하네스 엔지니어링(Harness Engineering)
AI 에이전트 하네스 엔지니어링 6계층 가이드 — AGENTS.md 템플릿부터 프로덕션 체크리스트까지
하네스 공식문서 100번 읽은 것처럼 만들어드림
[실전편 EP1] 바로 써먹는 하네스 6단계 로드맵 총정리