"하네스 설계의 7가지 결정 (2/4) — 단일 에이전트 vs 멀티 에이전트, 얇은 하네스 vs 두꺼운 하네스"
하네스 설계에는 정답 하나가 없다. 대신 반복해서 마주치는 결정 축이 있다. 단일 에이전트로 끝낼지, 멀티 에이전트로 분리할지. 얇은 하네스로 빠르게 갈지, 두꺼운 하네스로 통제를 늘릴지. 무엇을 모델에게 맡기고 무엇을 시스템이 소유할지. 이 글은 그 결정을 기능 비교가 아니라 운영 트레이드오프로 정리한다.
핵심 요약
- 하네스 설계는 도구 카탈로그보다 의사결정 표에 가깝다.
- 가장 중요한 축은
에이전트 수,하네스 두께,도구 노출 범위,검증 위치,메모리 소유,권한 경계,오케스트레이션 책임이다. 단일 vs 멀티,얇은 vs 두꺼운은 취향 문제가 아니라 실패 비용과 운영 복잡도의 문제다.- 좋은 선택은 "가장 고급 구조"가 아니라, 현재 실패를 줄이는 가장 작은 구조다.
- 그래서 설계 결정을 논할 때는 기능 장점보다 먼저
언제 깨지는가,누가 소유하는가,어디서 되돌릴 수 있는가를 물어야 한다.
1. 왜 하네스 설계를 결정 표로 봐야 하는가
sources/260518_하네스엔지니어링_15장_블로그활용노트.md의 12장 메모는 중요한 전환점을 준다. 하네스 설계의 핵심은 제품 기능 나열이 아니라, 운영에서 살아남는 선택을 미리 표로 드러내는 것이라는 점이다.
예를 들어 아래 질문은 전부 아키텍처 결정이다.
- 한 에이전트가 전부 처리하게 할까, 역할을 나눌까
- 도구를 넓게 열어 줄까, 단계별 최소 표면만 보여 줄까
- 검증을 뒤에서 한 번 할까, 앞단에 자주 끼워 넣을까
- 메모리와 정책을 공급자에게 맡길까, 우리 저장소가 소유할까
이 질문을 숨기고 구현으로 바로 들어가면, 나중에 구조가 꼬였을 때 무엇을 바꿔야 하는지 설명하기 어려워진다.
2. 결정 1: 단일 에이전트 vs 멀티 에이전트
가장 눈에 띄는 선택이다. 하지만 대부분의 팀은 너무 일찍 멀티에이전트 쪽으로 간다.
| 선택 | 장점 | 비용 |
|---|---|---|
| 단일 에이전트 | 단순함, 디버깅 쉬움, 컨텍스트 일관성 | 역할 충돌이 생기면 프롬프트가 비대해짐 |
| 멀티 에이전트 | 역할 분리, 병렬화, 평가자 분리 가능 | handoff, 관측성, 실패 전파 관리가 어려움 |
권장 기준은 단순하다.
- 한 작업대에서 충분하면 단일 에이전트
- 역할 충돌이 반복되면 분리
- 단지 "더 똑똑해 보인다"는 이유로는 분리하지 않기
특히 생성자와 평가자를 분리할 실익이 분명할 때만 멀티에이전트가 값을 낸다.
3. 결정 2: 얇은 하네스 vs 두꺼운 하네스
얇은 하네스는 모델과 기본 도구를 빠르게 연결하는 구조다. 두꺼운 하네스는 승인, 정책, 검증, 관측성, handoff를 하네스가 많이 책임진다.
| 선택 | 잘 맞는 상황 | 위험 |
|---|---|---|
| 얇은 하네스 | 탐색, 프로토타입, 저위험 개인 작업 | 실패가 생기면 통제 수단이 부족 |
| 두꺼운 하네스 | 팀 운영, 고위험 자동화, 장시간 작업 | 구현 속도와 유지비가 커짐 |
중요한 점은 두께 자체가 미덕이 아니라는 것이다.
하네스는 가능한 한 얇게 시작하되, 실패가 반복되는 지점만 선택적으로 두껍게 만들어야 한다.
예를 들어 모든 작업에 승인 루프를 걸면 과하다. 하지만 외부 발행이나 광범위 수정만 두껍게 감싸는 것은 합리적이다.
4. 결정 3: 전면 도구 노출 vs 단계별 최소 도구 노출
모든 도구를 항상 보여 줄지, 작업 단계에 따라 필요한 것만 보여 줄지의 문제다.
drafts/blog/260429_하네스시리즈04_도구와샌드박싱_블로그.md와 drafts/blog/260429_하네스시리즈05_라우팅_블로그.md를 같이 보면 답이 보인다. 도구는 많다고 좋은 게 아니라 선택 비용이 있다.
| 선택 | 장점 | 위험 |
|---|---|---|
| 전면 노출 | 구현 단순, 유연성 큼 | 잘못된 도구 선택, 권한 과노출 |
| 단계별 최소 노출 | 오선택 감소, 정책 경계 명확 | 오케스트레이션 설계 필요 |
초기에는 좁은 도구 표면이 거의 항상 유리하다. 특히 승인, 발행, 삭제처럼 위험도가 다른 행동은 단계별 분리가 안전하다.
5. 결정 4: ReAct형 즉시 행동 vs 계획 후 실행
모델이 생각하면서 바로 행동하게 할지, 먼저 계획을 만들고 그다음 실행할지의 문제다.
| 선택 | 강점 | 약점 |
|---|---|---|
| 즉시 행동 | 빠름, 단순 작업에 적합 | 장기 작업에서 헤매기 쉬움 |
| 계획 후 실행 | 범위 통제, 검토 용이 | 초기 오버헤드 증가 |
짧고 저위험한 일은 즉시 행동이 낫다. 반대로 여러 파일, 긴 글, 다단계 검증이 들어가면 계획 후 실행이 더 안정적이다. 이 저장소처럼 지정 파일과 금지 경계가 분명한 환경에서는 계획이 곧 소유권 확인 장치가 되기도 한다.
6. 결정 5: 검증을 뒤에 둘까, 중간중간 넣을까
많은 팀이 검증을 마지막 단계 하나로 생각하지만, 운영에서는 중간 검증이 더 싸다.
| 선택 | 장점 | 위험 |
|---|---|---|
| 종료 시 일괄 검증 | 흐름 단순 | 늦게 실패를 발견해 재작업 큼 |
| 중간 삽입 검증 | 조기 실패 감지, 비용 절감 | 설계가 조금 더 복잡 |
drafts/blog/260519_하네스시리즈C01_에이전트평가하네스_블로그.md가 말한 fast sensor 원칙을 그대로 적용하면 된다. 소유권, 형식, 금지 규칙처럼 계산형 실패는 앞단에 두고, 의미 평가는 뒤로 보내는 편이 낫다.
7. 결정 6: 공급자 의존 메모리 vs 소유 메모리
메모리와 정책 기록을 어디에 둘지도 큰 결정이다.
| 선택 | 장점 | 위험 |
|---|---|---|
| 공급자 의존 | 빠른 시작, 관리 편함 | 락인, 이식성 약함, 감사 한계 |
| 소유 메모리 | 이식성, 정책 통제, 감사 가능 | 설계와 운영 책임 증가 |
이 선택은 단지 저장소 기술 문제가 아니다. 장기적으로는 누가 사용자 경험과 조직 기억을 소유하는가의 문제다. drafts/blog/260519_하네스시리즈C04_메모리소유권_블로그.md가 이 축을 이미 잘 설명하고 있다.
8. 결정 7: 책임을 모델에 둘까, 하네스에 둘까
가장 근본적인 선택이다. 무엇을 모델의 판단에 맡기고, 무엇을 시스템 규칙으로 끌어내릴지 정해야 한다.
대표적으로 이런 항목들이 있다.
| 책임 영역 | 모델 중심 | 하네스 중심 |
|---|---|---|
| 도구 선택 | 프롬프트로 유도 | 노출 범위 자체를 제한 |
| 형식 준수 | 잘 써 달라고 요청 | schema, template, post-check로 강제 |
| 안전 경계 | 지시로 경고 | permission, sandbox, approval로 강제 |
| 작업 재개 | 대화 맥락에 의존 | handoff artifact로 외부화 |
운영이 커질수록 반복 규칙은 모델이 아니라 하네스로 내려오는 편이 낫다. 모델은 변동성이 있고, 하네스는 강제 가능한 구조이기 때문이다.
9. 단일 vs 멀티, 얇은 vs 두꺼운을 같이 읽으면
이 두 축은 따로 보면 오해하기 쉽다. 실제로는 같이 읽어야 한다.
| 조합 | 잘 맞는 경우 | 주의점 |
|---|---|---|
| 단일 + 얇은 | 개인용 초안, 탐색형 작업 | 운영 안전성 약함 |
| 단일 + 두꺼운 | 규칙 많은 실무 워크플로 | 프롬프트 비대화 주의 |
| 멀티 + 얇은 | 실험적 위임 구조 | 관측성과 책임 추적 약함 |
| 멀티 + 두꺼운 | 고위험 장시간 자동화 | 가장 비싸고 복잡함 |
대부분의 시스템은 단일 + 얇은에서 출발해, 필요한 지점만 단일 + 두꺼운으로 간다. 멀티에이전트는 그다음 문제다.
10. 우리 워크스페이스에 적용하면
이 저장소는 이미 몇 가지 결정을 비교적 명확하게 내려 둔 상태다.
- 외부 발행은 자동화보다 승인 경계를 우선한다
config/는 소유권과 위험도를 이유로 수정 금지다- 작업 범위는 지정 파일 중심으로 좁게 설정한다
- 사용자-facing 출력 언어와 내부 문서 언어를 분리한다
이런 규칙은 단순한 스타일이 아니라, "무엇을 모델에 맡기지 않을 것인가"에 대한 결정이다. 즉 하네스 설계는 결국 기능보다 통제의 배치다.
11. 흔한 실패
멀티에이전트를 기본값으로 잡는다
역할 분리의 이득보다 handoff 비용이 더 큰 경우가 많다.
얇은 하네스를 미덕으로만 본다
초기 속도는 좋지만, 운영 실패가 반복되면 오히려 비싸진다.
검증을 마지막에만 둔다
조기 차단 가능한 실패를 너무 늦게 발견한다.
소유 결정을 미룬다
메모리, 로그, 정책이 여기저기 흩어지면 나중에 이동과 감사가 어려워진다.
12. 실무용 결정 체크리스트
설계 논의에서 아래 질문에 먼저 답하면 과잉 구조를 줄일 수 있다.
- 지금 가장 비싼 실패는 무엇인가
- 그 실패는 단일 구조로 해결 가능한가, 역할 분리가 필요한가
- 승인과 검증을 어느 단계까지 앞당겨야 하는가
- 도구와 메모리의 소유 경계를 누가 책임지는가
- 이 결정을 바꿨을 때 무엇으로 효과를 확인할 것인가
결국 좋은 하네스 설계는 유행어 선택이 아니다. 어디서 복잡도를 사고, 어디서 단순함을 지킬지 결정하는 일이다.
참고 자료
docs/blog_series_하네스엔지니어링_총괄_design.mdsources/260518_하네스엔지니어링_15장_블로그활용노트.mddrafts/blog/260429_하네스시리즈04_도구와샌드박싱_블로그.mddrafts/blog/260429_하네스시리즈05_라우팅_블로그.mddrafts/blog/260429_하네스시리즈06_평가운영_블로그.mddrafts/blog/260519_하네스시리즈C01_에이전트평가하네스_블로그.mddrafts/blog/260519_하네스시리즈C04_메모리소유권_블로그.md
이 글은 패턴·전략·사례 시리즈의 2/4 편입니다. 이전 편: 하네스 패턴 12선. 다음 편: 하네스가 전부다 — ACI와 agent-first engineering 관점.
시리즈 전체 안내: 하네스 엔지니어링 시리즈 안내
댓글
댓글 쓰기