"하네스 패턴 12선 (1/4) — 좋은 AI 에이전트를 반복 가능하게 만드는 12가지 구조"

좋은 에이전트를 만들겠다고 하면 사람들은 자주 모델 이름이나 프롬프트 문구부터 바꾼다. 하지만 운영에서 반복 가능성을 만드는 것은 대개 기능이 아니라 구조다. 하네스 패턴은 "무엇을 붙일까"보다 "무엇을 어떤 순서로 자라게 할까"를 정리하는 언어에 가깝다.


핵심 요약

  • 하네스 패턴은 에이전트 기능 모음이 아니라, 반복 가능한 작업 환경을 설계하는 재사용 구조다.
  • 모든 패턴을 한꺼번에 넣을 필요는 없다. 실제로는 지시 → 도구 → 검증 → 운영 순서로 자라는 편이 안정적이다.
  • 이번 글의 12개 패턴은 기초, 성장, 운영 세 단계로 묶을 수 있다.
  • 성숙도 로드맵의 핵심은 더 많은 기능을 넣는 것이 아니라, 실패 반경을 줄이면서 재현성을 높이는 것이다.
  • 그래서 좋은 하네스의 질문은 "무엇을 더 붙일까"가 아니라 "지금 단계에서 어떤 패턴이 가장 큰 실패를 줄이는가"다.

1. 왜 패턴 언어가 필요한가

sources/260518_하네스엔지니어링_15장_블로그활용노트.md의 11장 메모가 말하듯, 하네스 설계는 점점 기능 소개가 아니라 패턴 언어로 읽는 편이 유리해지고 있다. 이유는 간단하다.

  • 같은 모델을 써도 작업 환경 구조에 따라 성능 차이가 크다
  • 한 번 성공한 설정을 다른 작업으로 옮기려면 이름 붙은 구조가 필요하다
  • 팀 안에서 설계 논의를 하려면 "이 도구를 붙일까"보다 "어떤 패턴이 비어 있나"가 더 생산적이다

즉 패턴은 장식용 분류가 아니라, 복잡한 설계를 재사용 가능한 단위로 압축하는 도구다.

2. 이번 글의 12개 패턴 지도

이번 D1에서는 12개 패턴을 네 범주로 묶는다.

범주 패턴 수 질문
지시·문맥 3 모델이 어디서 일하는지 분명한가
도구·행동 3 행동 표면이 좁고 명확한가
검증·복구 3 실패를 빨리 감지하고 다시 이어 갈 수 있는가
운영·자산화 3 시간이 지나도 품질과 자산을 소유하는가

이 구성은 시리즈 A와 C에서 다룬 요소들을 전략 언어로 다시 묶는 방식이다. 개별 기술보다 운영에서 반복되는 문제를 기준으로 나눈다.

3. 기초 단계 패턴 4개

기초 단계의 목표는 "일단 돌아가게"가 아니라, 왜 돌아가는지 설명 가능한 최소 구조를 만드는 것이다.

패턴 1. 명시적 지시 표면

AGENTS.md, CLAUDE.md, 시스템 지시처럼 에이전트가 먼저 읽는 규칙판을 분리한다. 긴 백과사전보다 역할, 금지, 산출물 기준이 보이는 표면이 중요하다.

패턴 2. 문맥 계층 분리

사용자 요청, 상시 규칙, 참조 문서, 도구 결과를 한 덩어리로 섞지 않는다. 문맥이 섞이면 충돌이 늘고, 디버깅이 어려워진다.

패턴 3. 좁은 도구 표면

도구 수를 늘리는 대신 이름과 설명이 명확한 작은 표면을 유지한다. drafts/blog/260429_하네스시리즈04_도구와샌드박싱_블로그.md가 말한 것처럼, 도구는 많을수록 좋은 게 아니라 모델이 고르기 쉬울수록 좋다.

패턴 4. 출력 형식 고정

최종 답변, 체크리스트, JSON, frontmatter 같은 결과 형식을 미리 고정한다. 형식이 고정돼야 검증과 후처리가 쉬워진다.

이 네 가지는 성능 최적화보다 작업대 정리에 가깝다. 하지만 이 정리가 없으면 뒤 패턴들이 전부 불안정해진다.

4. 성장 단계 패턴 4개

성장 단계의 목표는 기능 확장이 아니라, 에이전트가 흔들리는 지점을 제어 가능한 루프로 바꾸는 것이다.

패턴 5. 단계형 워크플로

관찰 → 계획 → 행동 → 검증 같은 단계를 암묵적 추론에 맡기지 않고, 필요할 때 외부 단계로 분리한다. 긴 작업일수록 효과가 크다.

패턴 6. 실패 우선 검증

값 비교, schema 검사, 파일 소유권 확인처럼 계산으로 잡히는 실패를 앞단에 둔다. drafts/blog/260519_하네스시리즈C01_에이전트평가하네스_블로그.md가 정리한 fast sensor 원칙과 같은 축이다.

패턴 7. handoff artifact

장시간 작업은 메모리보다 먼저 handoff 파일, 진행 단계, 다음 행동을 외부에 남긴다. 세션이 끊겨도 다시 시작할 수 있어야 한다.

패턴 8. 승인 경계

읽기, 수정, 실행, 외부 전송을 같은 위험도로 취급하지 않는다. 위험한 행동은 별도 승인 또는 차단 경계로 올린다.

이 단계부터 하네스는 단순 자동화가 아니라 운영 가능한 자동화로 이동한다.

5. 운영 단계 패턴 4개

운영 단계의 목표는 더 똑똑한 데모가 아니라, 시간이 지나도 무너지지 않는 시스템이다.

패턴 9. 회귀 평가셋

잘 된 예시보다 실패 사례를 축적해 regression 세트로 삼는다. 모델, 지시, 도구가 바뀌어도 무엇이 깨졌는지 빨리 보이게 한다.

패턴 10. 관측 가능성

비용, 지연시간, 도구 호출, 실패 사유를 남긴다. 좋은 답을 냈는가뿐 아니라 왜 느려졌고 어디서 막혔는가를 봐야 운영이 된다.

패턴 11. 메모리 소유권

장기 메모리를 공급자 API 안에만 두지 않고, 가능한 한 조직이 소유하는 저장소와 스키마로 관리한다. 이식성과 감사 가능성의 문제다.

패턴 12. 역할 분리

생성자와 평가자, 실행자와 승인자, 본 에이전트와 서브에이전트처럼 역할을 분리한다. 목표는 화려한 멀티에이전트가 아니라 편향과 실패 반경의 분리다.

6. 12개 패턴을 성숙도 로드맵으로 읽는 법

이제 중요한 점은 "12개를 다 도입했는가"가 아니다. 어느 단계에서 어느 패턴이 가장 큰 효과를 내는지를 보는 것이다.

단계 먼저 챙길 패턴 주된 실패 우선 목표
초기 1, 2, 3, 4 지시 충돌, 도구 오선택, 형식 불안정 재현 가능한 최소 루프
성장 5, 6, 7, 8 긴 작업 붕괴, 규칙 위반, 검증 누락 통제 가능한 실행 흐름
운영 9, 10, 11, 12 회귀 미탐지, 비용 폭주, 락인, 책임 불명확 지속 가능한 품질 체계

이 표를 보면 패턴 도입 순서가 보인다. 예를 들어 아직 출력 형식도 흔들리는데 멀티에이전트부터 붙이면, 문제를 분산시킬 뿐 해결하지 못한다.

7. 우리 워크스페이스에 대응시키면

이 저장소는 이미 여러 패턴을 서로 다른 문서와 경계에 나눠 갖고 있다.

패턴 저장소 대응 예
명시적 지시 표면 AGENTS.md, CLAUDE.md
문맥 계층 분리 tasks/plan.md, docs/memory-map.md, 사용자 요청 분리
handoff artifact tasks/handoffs/, tasks/sessions/
승인 경계 외부 발행 전 사용자 확인, config/ 비수정
회귀 평가셋 scripts/** 검증 흐름과 운영 체크

이 연결이 중요한 이유는 패턴이 추상 개념으로만 남지 않게 해 주기 때문이다. 좋은 패턴 언어는 결국 어느 문서, 어느 훅, 어느 저장소 경계가 그 역할을 맡는지까지 내려와야 한다.

8. 흔한 실패

패턴을 체크리스트처럼 수집한다

도입 이유 없이 기능처럼 쌓으면 복잡도만 늘어난다.

초기에 운영 패턴부터 과하게 붙인다

작은 작업에도 무거운 오케스트레이션을 붙이면 속도와 이해도가 같이 떨어진다.

멀티에이전트를 성숙도의 상징으로 착각한다

역할 분리는 마지막 축에 가깝다. 기초 패턴이 흔들리면 오히려 더 나빠진다.

패턴과 소유 경계를 연결하지 않는다

패턴 이름만 있고 실제 문서, 훅, 저장 위치가 없으면 운영 자산이 되지 못한다.

9. 실무 적용: 지금 무엇부터 도입할까

패턴 언어를 실제로 쓰려면 아래 질문으로 시작하는 편이 좋다.

  1. 최근 실패가 주로 어디서 나는가
  2. 그 실패를 줄이는 가장 작은 패턴은 무엇인가
  3. 그 패턴을 문서, 도구, 검증, 승인 중 어디에 둘 것인가
  4. 도입 후 성공 여부를 무엇으로 확인할 것인가

핵심은 성숙도 상승을 기능 추가로 오해하지 않는 것이다. 좋은 하네스는 보통 더 많은 것을 하게 만드는 구조가 아니라, 덜 망가지게 만드는 구조에서 출발한다.

참고 자료

  • docs/blog_series_하네스엔지니어링_총괄_design.md
  • sources/260518_하네스엔지니어링_15장_블로그활용노트.md
  • drafts/blog/260429_하네스시리즈04_도구와샌드박싱_블로그.md
  • drafts/blog/260429_하네스시리즈05_라우팅_블로그.md
  • drafts/blog/260429_하네스시리즈06_평가운영_블로그.md
  • drafts/blog/260519_하네스시리즈C01_에이전트평가하네스_블로그.md

이 글은 패턴·전략·사례 시리즈의 1/4 편입니다. 다음 편: 하네스 설계의 7가지 결정 — 단일 vs 멀티, 얇은 하네스 vs 두꺼운 하네스, 소유 경계는 어디에 둘 것인가.

시리즈 전체 안내: 하네스 엔지니어링 시리즈 안내

댓글

이 블로그의 인기 게시물

"LLM 핵심 학습 (1/6) — 기본: 토큰화·임베딩·어텐션·위치 인코딩"

"LLM 핵심 학습 (2/6) — 파인튜닝: LoRA·QLoRA·증류·Adapter"

"ML 기초 학습 (1/9) — 머신러닝과 sklearn: 학습의 좌표계"