오늘 끝나면
하네스 엔지니어링
- ✓하네스 엔지니어링의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 하네스이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
에이전트를 감싸는 실행 환경을 설계 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
바이브코딩 · 07
하네스
엔지니어링
모델 자체는 글만 뱉음.
그 모델을 감싸 실행을 조율하는 환경이 하네스임.
좋은 하네스가 좋은 결과를 만듦.
하네스 = 에이전트를 감싸는 실행 환경
에이전트는 LLM + 도구 루프임. 그럼 그 루프를 누가 돌리나? 하네스임.
하네스는 모델을 감싸 실행을 조율하는 바깥 환경임.
도구를 쥐여주고 · 루프를 돌리고 · 결과를 검증하고 · 컨텍스트를 채움.
모델만 떼어놓으면 한 번 답하고 끝나는 텍스트 생성기일 뿐임.
하네스가 그걸 일을 끝까지 끌고 가는 에이전트로 만듦.
그래서 같은 모델이어도 하네스가 다르면 결과가 달라짐.
하네스 엔지니어링은 모델 바깥을 설계하는 일임.
글을 한 번 뱉고 끝. 파일을 못 만지고 결과도 못 확인함.
도구로 손대고 · 루프로 고치고 · 검증으로 확인하며 일을 끝냄.
무엇을 감싸나 — 도구·검증·메모리·루프
하네스가 책임지는 건 크게 네 겹임. 오른쪽 다이어그램을 직접 눌러 보셈.
도구는 모델이 바깥 세계에 손대는 통로임 / 파일 읽기·쓰기·명령 실행.
검증은 결과가 맞는지 확인하는 장치임 / 테스트·린트·빌드.
메모리는 무엇을 컨텍스트 창에 채울지 고름 / 기억할 것·버릴 것.
루프 제어는 사이클을 몇 번 돌고 언제 멈출지 정함.
가운데 코어는 모델 그대로임.
네 겹 중 하나만 빠져도 에이전트는 절름발이가 됨.
모델은 글만 뱉음. 도구·검증·메모리·루프 제어가 그 모델을 감싸 일을 끝까지 끌고 감.
네 겹 중 하나를 눌러 무엇을 책임지는지 보셈.
루프를 돌리고 · 재시도를 시킨다
하네스의 심장은 루프임. 한 방에 끝내는 게 아니라 돌려가며 고침.
모델이 생각하고 · 도구를 호출하고 · 결과를 받아 다시 생각함.
이 사이클을 하네스가 돌림. 검증이 실패하면 그대로 끝내지 않고 루프로 되돌려보냄.
재시도·중단 조건도 하네스 몫임.
몇 번까지 다시 시도할지 · 무한 루프를 어떻게 끊을지 · 언제 사람에게 넘길지.
모델은 “다시 해라”를 스스로 못 챙김.
그 판단을 바깥에서 대신 해주는 게 하네스의 루프 제어임.
재시도·중단도 하네스가 정함
하네스가 결과를 좌우한다
핵심은 이거임. 모델이 같아도 하네스가 좋으면 결과가 좋아짐.
빈약한 하네스는 도구를 안 주고 · 검증 없이 한 번에 답하고 · 컨텍스트를 대충 채움.
그럼 똑똑한 모델도 헛다리를 짚고 끝남.
좋은 하네스는 알맞은 도구를 쥐여주고 · 결과를 테스트로 검증하고 · 실패하면 재시도시키고 · 필요한 맥락만 골라 채움.
그럼 같은 모델이 일을 끝까지 끌고 감.
그래서 Claude Code·Codex 같은 코딩 에이전트의 실력은 모델 절반 · 하네스 절반임.
바이브코더가 손볼 수 있는 쪽이 바로 하네스임.
- 도구 없음
- 검증 없이 한 방
- 맥락 대충
- 재시도 없음
- 알맞은 도구
- 테스트로 검증
- 맥락만 골라
- 실패면 재시도
정리 — 모델 바깥을 설계한다
하네스 엔지니어링은 모델을 더 똑똑하게 만드는 일이 아님. 모델 바깥을 잘 짜는 일임.
도구·루프·검증·재시도·컨텍스트 관리 — 이게 전부 하네스의 영역임.
모델 안쪽은 못 건드려도 바깥쪽은 우리가 설계함.
다음 강에선 이 하네스 안에서 작업을 쪼개 여러 서브에이전트로 팬아웃하는 멀티 에이전트를 다룸.
Q. 하네스 엔지니어링이 다루는 것은? (모델 가중치 · 에이전트 바깥의 실행 환경 · 토큰 임베딩 · GPU 배선)
정답은 에이전트 바깥의 실행 환경임.도구 제공 · 루프 제어 · 검증 · 재시도 · 컨텍스트 관리가 하네스의 일임.
모델 가중치나 임베딩은 모델 안쪽이라 하네스가 손대지 않음.
같은 모델이어도 바깥의 하네스가 결과를 좌우함.
| 도구 제공 | 바깥 세계에 손대게 |
| 루프 제어 | 사이클을 돌림 |
| 검증 | 결과가 맞는지 확인 |
| 재시도 | 실패면 되돌려보냄 |
| 컨텍스트 관리 | 맥락을 골라 채움 |