AX LABS
← 블로그 에이전트 제품 설계

모델은 런타임에서 길들여진다

하네스 주입 계층이 에이전트 품질을 정한다

모델은 런타임에서 길들여진다

현장에서 에이전트를 붙여 보면 같은 장면이 반복된다. 첫 데모는 잘 된다. 그런데 업무 흐름에 들어가면 모델은 이전 지시를 잊고, 도구를 과하게 호출하고, 금지된 파일을 건드리고, 완료 기준이 흐려진다. 그래서 팀은 프롬프트를 더 길게 쓴다. 효과는 잠깐이다. 문제는 프롬프트가 짧아서가 아니라 런타임에 모델을 붙잡는 계층이 없다는 데 있다.

프롬프트는 선언이고 하네스는 제어다

에이전트는 한 번 답하는 챗봇이 아니다. 읽고, 판단하고, 도구를 호출하고, 결과를 다시 해석하고, 다음 행동을 고르는 루프다. 이 루프 안에서 모델 행동을 제어하는 장치를 우리는 하네스 주입 계층이라고 부른다.

하네스 주입 계층은 세 갈래로 설계한다.

계층 역할 실패할 때 보이는 증상
시스템 리마인더 현재 상태와 주의사항을 다시 각인 오래된 파일 상태, 완료 기준 망각
특정 이벤트에서 차단·수정·승인 위험 명령 실행, 무분별한 도구 호출
컨텍스트 주입 필요한 업무 맥락을 순간 공급 사내 규칙 누락, 잘못된 판단 근거

Anthropic의 Claude Code 문서는 훅을 세션 시작, 사용자 프롬프트 제출, 도구 호출 전후, 중단 시점 등 생애주기 이벤트에 붙이는 구조로 설명한다. 특히 PreToolUse 훅은 도구 실행 전 입력을 검사하고 허용·거부·질문·연기 결정을 돌려줄 수 있다. 이것이 하네스다. 모델에게 “주의해”라고 말하는 것이 아니라, 위험한 행동이 실행되기 전에 런타임에서 막는다.

에이전트 설계의 중심은 더 좋은 지시문이 아니라 더 단단한 실행 경계다.

시스템 리마인더는 기억이 아니라 운영 신호다

많은 팀이 “모델이 기억하게 하라”고 말한다. 틀렸다. 운영에서는 기억을 믿지 않는다. 다시 주입한다.

Claude Code의 prompt caching 문서는 파일이 세션 중 바뀌어도 과거에 읽은 내용이 자동으로 바뀌지 않고, 대신 <system-reminder> 형태의 변경 알림을 붙여 모델이 필요하면 다시 읽게 한다고 설명한다. 이 패턴이 중요하다. 리마인더는 장기기억 장식이 아니다. 현재 작업 상태, 변경 사실, 위험 조건, 완료 기준을 모델 루프에 다시 넣는 운영 신호다.

예를 들어 사내 문서 생성 에이전트라면 매 턴 같은 원칙을 장황하게 반복할 필요가 없다. 대신 결재선이 바뀌었는지, 원본 데이터가 갱신됐는지, 고객명 마스킹이 필요한지, 산출물 상태가 초안인지 제출본인지 같은 런타임 신호를 주입한다. 모델은 이 신호를 기준으로 다음 행동을 바꾼다.

훅은 모델의 의도를 실행 전에 붙잡는다

하네스 주입 계층에서 가장 강한 수단은 훅이다. 훅은 모델이 이미 무엇을 하려는지 드러난 뒤 개입한다. 그래서 추상적인 안전 지시보다 강하다.

AX Ops에서 훅은 네 가지 용도로 나눈다.

  1. 차단 훅: 삭제, 외부 전송, 운영 DB 쓰기 같은 금지 행동을 막는다.
  2. 수정 훅: 도구 입력을 표준 경로, 표준 포맷, 승인된 파라미터로 고친다.
  3. 주입 훅: 도구 결과 옆에 업무 규칙이나 최신 상태를 붙인다.
  4. 검사 훅: 종료 전 테스트, 리뷰, 근거 확인을 강제한다.

Claude Code hooks reference는 PostToolUse에서 도구 결과를 바꾸거나, UserPromptSubmit에서 추가 컨텍스트를 붙이거나, Stop에서 종료를 막고 피드백을 줄 수 있는 패턴을 제시한다. OpenAI의 2026년 Responses API 글도 모델이 행동을 제안하고 플랫폼이 도구를 실행한 뒤 결과를 다음 단계의 컨텍스트로 돌려주는 실행 루프를 강조한다. 벤더는 달라도 결론은 같다. 에이전트 품질은 모델 호출 바깥의 오케스트레이션에서 결정된다.

컨텍스트 주입은 RAG보다 좁고 더 자주 일어난다

컨텍스트 주입을 RAG로만 이해하면 설계가 무거워진다. 실제 운영에서는 더 작고 잦은 주입이 필요하다. 지금 사용자의 권한, 현재 업무 단계, 방금 실패한 도구 호출, 이번 산출물의 금지 표현, 승인된 데이터 소스 목록 같은 정보다.

MCP는 도구와 데이터 소스를 표준 방식으로 연결하는 방향으로 진화하고 있다. 2026년 MCP release candidate는 stateless core, 확장, 장기 작업, 권한 강화, 도구 스키마 정교화를 다룬다. 이 흐름은 컨텍스트 주입을 더 구조화한다. 하지만 표준이 생겨도 설계 책임은 사라지지 않는다. 어떤 맥락을 언제, 누구 권한으로, 어느 우선순위로 모델에게 줄지는 업무 설계 문제다.

하네스 주입 계층을 설계할 때 첫 산출물은 코드가 아니다. 아래 표가 먼저다.

질문 설계 산출물
모델이 반복해서 잊는 조건은 무엇인가 리마인더 목록
실행 전에 반드시 막을 행동은 무엇인가 PreToolUse 정책
도구 결과에 붙일 운영 맥락은 무엇인가 PostToolUse 주입 규칙
종료 전에 확인할 완료 기준은 무엇인가 Stop 훅 검사

요약하면, 프롬프트는 방향을 준다. 하네스는 행동을 운영 가능한 범위에 묶는다. AX를 PoC에서 끝내지 않으려면 모델 선택보다 먼저 런타임 제어 계층을 설계해야 한다. 이 설계를 AX Ops의 에이전트 운영 표준으로 묶어야 한다: AX Ops 방법론 →

참고

함께 읽으면 좋은 글