← AI 용어집

AI 용어집 · 기초 · 에이전트

하네스 Agent Harness, 에이전트 하네스

하네스는 AI 모델을 둘러싸고 있는 모델 밖의 모든 코드·설정·실행 장치입니다. 모델이 실제로 일하는 AI 에이전트가 되도록 돕고, 흔히 '에이전트 = 모델 + 하네스'라고 요약합니다.

쉽게 말하면 모델이 뛰어난 엔진이라면 하네스는 차체예요. 핸들, 계기판, 브레이크가 있어야 엔진의 힘으로 원하는 곳까지 안전하게 갈 수 있습니다. 다만 하네스는 정해진 부품이 아니라 일에 맞춰 계속 고쳐 다는 장치라서, 완성된 차보다는 계속 손보는 작업 환경에 더 가깝습니다.

무엇인가

LLM은 기본적으로 글·이미지 같은 데이터를 받아 글을 내놓는 일만 합니다. 혼자서는 이전 대화를 오래 기억하거나, 코드를 실행하거나, 최신 정보를 찾거나, 작업 환경을 차릴 수 없습니다. 하네스는 이런 빈자리를 채우는 장치를 모두 일컫습니다. LangChain 블로그 글은 하네스를 '모델 자체가 아닌 모든 코드, 설정, 실행 로직'으로 정의합니다. 여기에는 시스템 프롬프트, 도구·스킬·MCP와 그 설명, 파일 시스템·샌드박스·브라우저 같은 실행 환경, 서브에이전트에게 일을 나눠 주는 운영 로직, 정해진 규칙대로 자동 실행되는 훅이 들어갑니다.

어떻게 작동하나

가장 단순한 하네스는 채팅 서비스입니다. 모델을 반복 고리로 감싸서 이전 메시지를 기억해 두었다가 새 메시지와 함께 다시 넣어 줍니다. 에이전트용 하네스는 여기에 기능을 더합니다. 모델이 도구를 쓰겠다고 하면 하네스가 실제로 실행하고, 그 결과를 다시 모델에게 넘깁니다. 중간중간 훅이 린트 검사나 컨텍스트 압축(compaction) 같은 일을 정해진 규칙대로 처리합니다. Martin Fowler 사이트에 실린 글은 이런 장치를 두 가지로 나눕니다. 하나는 행동하기 전에 방향을 잡아 주는 '가이드'이고, 다른 하나는 결과를 보고 스스로 고치게 하는 '센서'입니다.

하네스가 모델을 감싸는 고리사용자 요청 → 컨텍스트 구성; 컨텍스트 구성 → 모델(LLM); 모델(LLM) → 도구 실행(도구 호출); 도구 실행 → 검사·훅(실행 결과); 검사·훅 → 상태·기록(기록); 상태·기록 → 컨텍스트 구성(다시 넣기); 모델(LLM) → 결과물(완료 시)사용자 요청컨텍스트 구성시스템 프롬프트·도구설명모델(LLM)결과물상태·기록이전 메시지·진행 메모도구 실행파일·코드·브라우저(샌드박스)검사·훅린트·압축 등도구 호출실행 결과기록다시 넣기완료 시
하네스가 모델을 감싸는 고리 가운데 '모델'만 AI이고, 나머지 상자는 모두 하네스가 맡는 일입니다. 도구 실행 결과는 검사를 거쳐 기록되고, 다시 모델의 입력으로 들어가며 고리가 돕니다.

왜 주목받나

모델 성능이 좋아지면서 이제는 같은 모델을 어떤 환경에 넣느냐가 결과를 크게 가릅니다. OpenAI는 사람이 코드를 직접 쓰지 않고 Codex 에이전트만으로 제품을 만든 실험을 소개했습니다. 이 실험에서 엔지니어가 주로 한 일은 환경을 설계하고, 의도를 명확히 적고, 피드백 고리를 만드는 것이었다고 밝혔습니다. Anthropic은 컨텍스트 윈도 하나에 다 담기지 않는 긴 작업을 다뤘습니다. 첫 실행 때 환경을 차리는 에이전트와 매번 조금씩 진행하며 다음 세션을 위한 기록을 남기는 에이전트로 하네스를 짰다고 소개했습니다. 이런 일을 가리켜 '하네스 엔지니어링'이라는 말도 쓰이기 시작했습니다.

알아 둘 점

하네스는 범위가 아주 넓은 말이라서 모델과 하네스의 경계를 어디에 긋느냐는 글마다 조금씩 다릅니다. 코딩 에이전트에는 제품 안에 이미 들어 있는 하네스가 있고, 사용자가 자기 프로젝트에 맞춰 덧붙이는 바깥 하네스(규칙 파일, 테스트, 검사 도구 등)도 따로 있습니다. 하네스를 잘 짜도 모델의 실수가 사라지지는 않습니다. Anthropic 글에서도 컨텍스트 압축만으로는 긴 작업에서 진행 상황이 잘 이어지지 않는 문제가 있었다고 밝혔습니다. 그래서 사람이 최종 결과를 검토하는 일은 여전히 중요합니다.

예시

코딩 에이전트가 하네스를 쓰는 대표적인 예입니다. Anthropic은 Claude Agent SDK를 코딩을 비롯한 여러 작업에 쓰는 범용 에이전트 하네스라고 소개했습니다. 이 SDK에는 대화가 길어지면 내용을 줄여 컨텍스트 윈도가 넘치지 않게 하는 압축 기능이 들어 있습니다. OpenAI의 실험에서는 저장소에 AGENTS.md라는 파일을 두고, 에이전트가 그 저장소에서 어떻게 일해야 하는지를 적어 두었습니다. 이 사이트에 실린 소식 중 Microsoft Research의 'Agent Lightning v1.0'은 기존 에이전트를 그대로 둔 채 강화학습을 붙이는 프레임워크입니다. 하네스와 모델을 따로 다루는 흐름을 보여 주는 사례입니다.

이 사이트에서 나온 사례

함께 보면 좋은 용어

참고