Articlehuggingface.co·2026년 5월 25일·0

Harness, Scaffold, and the AI Agent Terms Worth Getting Right

Quick Summary

이 글은 빠르게 변하는 AI 에이전트 분야에서 혼용되는 모델, 스캐폴딩, 하니스, 에이전트, 컨텍스트 엔지니어링, 정책, 도구, 스킬, 서브에이전트, RL 학습 용어를 실무적으로 구분해 설명한다.

Harness, Scaffold, and the AI Agent Terms Worth Getting Right 관련 대표 이미지

🖼️ 인포그래픽

Harness, Scaffold, and the AI Agent Terms Worth Getting Right 내용을 설명하는 본문 이미지

🖼️ 4컷 인포그래픽

Harness, Scaffold, and the AI Agent Terms Worth Getting Right 내용을 설명하는 본문 이미지

💡 한 줄 요약

이 글은 빠르게 변하는 AI 에이전트 분야에서 혼용되는 모델, 스캐폴딩, 하니스, 에이전트, 컨텍스트 엔지니어링, 정책, 도구, 스킬, 서브에이전트, RL 학습 용어를 실무적으로 구분해 설명한다.

📌 핵심 요약

  • 글의 출발점은 ICLR 2026 이후 제기된 질문, 즉 에이전트 맥락에서 ‘하니스’와 ‘스캐폴드’가 왜 하나의 설명으로 수렴하지 않는가라는 혼란이다.
  • 저자들은 보편적으로 확정된 정의를 강요하기보다, Claude Code, Codex, Hermes Agent 같은 도구를 만들거나 사용할 때 논의를 따라가기 쉬운 실용적 정신모델을 제안한다.
  • 모델은 텍스트를 입력받아 텍스트를 출력하는 LLM 자체이며, 스캐폴딩은 시스템 프롬프트·도구 설명·응답 파싱·컨텍스트 관리처럼 모델의 행동 조건을 형성하는 층으로 설명된다.
  • 하니스는 모델 호출, 도구 실행, 중단 판단, 오류 처리, 가드레일 등을 맡는 실행 계층이고, 에이전트는 모델이 하니스와 스캐폴딩을 통해 루프 안에서 관찰하고 행동할 수 있게 된 전체 시스템이다.
  • 후반부는 학습 맥락의 RL 환경, 트레이너, 롤아웃, 보상과 루브릭을 설명하며, 배포·사용 단계의 용어와 모델 가중치를 실제로 업데이트하는 학습 단계의 용어를 구분한다.

🧩 주요 포인트

  1. 글의 출발점은 ICLR 2026 이후 제기된 질문, 즉 에이전트 맥락에서 ‘하니스’와 ‘스캐폴드’가 왜 하나의 설명으로 수렴하지 않는가라는 혼란이다.
  2. 저자들은 보편적으로 확정된 정의를 강요하기보다, Claude Code, Codex, Hermes Agent 같은 도구를 만들거나 사용할 때 논의를 따라가기 쉬운 실용적 정신모델을 제안한다.
  3. 모델은 텍스트를 입력받아 텍스트를 출력하는 LLM 자체이며, 스캐폴딩은 시스템 프롬프트·도구 설명·응답 파싱·컨텍스트 관리처럼 모델의 행동 조건을 형성하는 층으로 설명된다.
  4. 하니스는 모델 호출, 도구 실행, 중단 판단, 오류 처리, 가드레일 등을 맡는 실행 계층이고, 에이전트는 모델이 하니스와 스캐폴딩을 통해 루프 안에서 관찰하고 행동할 수 있게 된 전체 시스템이다.
  5. 후반부는 학습 맥락의 RL 환경, 트레이너, 롤아웃, 보상과 루브릭을 설명하며, 배포·사용 단계의 용어와 모델 가중치를 실제로 업데이트하는 학습 단계의 용어를 구분한다.

🧠 상세 정리

1. 용어 혼란에서 출발한 글의 목적

이 글은 AI 에이전트 분야가 빠르게 발전하면서 용어가 실제 이해보다 더 빠르게 변하고 있다는 문제의식에서 시작한다. 같은 단어가 서로 다른 맥락에서 재사용되고, 어떤 개념은 몇 달 동안 유행하다가 사라지며, 일부는 충분한 설명 없이 약어처럼 쓰인다는 점을 지적한다. ICLR 2026 이후 제기된 ‘하니스’와 ‘스캐폴드’의 의미가 왜 하나로 모이지 않는가라는 질문은 이런 혼란을 잘 보여주는 사례로 제시된다. 저자들의 목표는 모든 용어를 망라하는 사전을 만드는 것이 아니라, 자주 섞이고 당연한 것처럼 취급되는 핵심 용어를 실무적으로 정리하는 데 있다.

2. 모델, 스캐폴딩, 하니스의 기본 구분

글에서 모델은 Claude, Qwen, GPT, Kimi, DeepSeek 같은 LLM 자체로 정의된다. 모델은 텍스트를 입력받아 텍스트를 출력하지만, 그 자체로는 호출 사이의 기억도 없고 반복 실행 루프도 없으며, 도구 호출 의도를 표현할 수는 있어도 실제 실행은 하지 못한다. 스캐폴딩은 시스템 프롬프트, 도구 설명, 응답 파싱 방식, 단계 사이에서 무엇을 기억할지 정하는 컨텍스트 관리처럼 모델의 행동 조건을 형성하는 층이다. 하니스는 모델을 호출하고 도구 호출을 처리하며 언제 멈출지 결정하는 실행 계층으로, 모델이 실제로 에이전트처럼 작동하게 만드는 부분이다.

3. 하니스와 스캐폴딩이 혼용되는 이유

저자들은 Claude Code 같은 제품 문서가 ‘Claude를 둘러싼 agentic harness’라고 표현하듯, 현실에서는 하니스가 모델이 아닌 모든 것을 가리키는 넓은 의미로 쓰이기도 한다고 설명한다. 그러나 학습 파이프라인처럼 각 부분을 따로 추론해야 하는 상황에서는 스캐폴딩과 하니스를 구분하는 것이 중요해진다. 스캐폴딩은 모델이 보고 따르는 지시, 도구, 형식, 기억에 가까운 반면, 하니스는 그 모델을 반복 호출하고 실행을 제어하는 계층에 가깝다. 동시에 어떤 프레임워크에서는 스캐폴드를 후크, 런타임 설정, 디렉터리 구조처럼 하니스가 의존하는 인프라까지 포함하는 넓은 말로 쓰기도 하므로, 문맥 확인이 필요하다고 말한다.

4. 에이전트는 모델이 아니라 작동하는 전체 시스템

글은 강화학습에서 에이전트가 관찰을 받아 행동을 반환하는 함수로 이해되어 왔고, 환경이 그 행동을 받아 새 관찰을 돌려주는 반복 루프가 핵심이었다고 설명한다. LLM 맥락에서 에이전트라는 말은 확장되어, 단순히 응답하는 모델이 아니라 정보를 받아 판단하고 결과에 따라 행동할 수 있게 하는 주변 구성까지 포함한 전체 시스템을 뜻한다. 예를 들어 코딩 에이전트에서 시스템 프롬프트, 도구 설명, 출력 형식은 스캐폴딩이고, 모델 호출과 도구 실행 및 종료 판단을 맡는 루프는 하니스다. 그래서 커뮤니티에서는 흔히 ‘Agent = Model + Harness’라고 말하지만, 저자들은 제품, 모델, 하니스를 서로 다른 것으로 보아야 한다고 강조한다.

5. 제품 경험은 모델만으로 결정되지 않는다

글은 Claude Code, Codex, Cursor 같은 제품을 이야기할 때 사람들이 실제로는 특정 모델 위에 설계된 특정 하니스를 함께 가리키는 경우가 많다고 설명한다. 같은 기반 모델을 쓰더라도 하니스가 어떤 도구를 제공하고, 오류를 어떻게 처리하며, 언제 멈추고, 어떤 컨텍스트를 넣는지에 따라 제품 경험은 크게 달라질 수 있다. 반대로 같은 하니스에 더 나은 모델을 넣어도 사용 경험은 달라진다. 일부 제품은 제공자의 모델과 강하게 결합되어 있고, 다른 제품은 여러 모델을 꽂아 쓸 수 있다는 차이도 언급된다. 따라서 모델, 하니스, 완성된 제품을 구분해야 에이전트 시스템의 성능과 사용감을 더 정확히 논의할 수 있다.

6. 컨텍스트 엔지니어링과 메모리

컨텍스트 엔지니어링은 에이전트의 컨텍스트 창에 무엇을 넣을지 설계하는 작업으로 설명된다. 여기에는 시스템 프롬프트, 도구 설명, 대화 기록, 검색된 지식, 이전 도구 결과 등이 포함되며, 한 번 정하고 끝나는 것이 아니라 실행 중 하니스가 계속 관리한다. 학습 단계에서 모델이 보는 컨텍스트는 실제로 학습되는 내용에 영향을 주므로 잘못 설계하면 재학습 비용이 발생하지만, 추론 단계에서는 프롬프트를 바꾸고 재배포하는 방식으로 조정할 수 있다. 메모리도 이 그림의 일부로, 단일 실행 중 컨텍스트 창에 남는 단기 메모리와 세션을 넘어 외부에 저장되었다가 필요할 때 주입되는 장기 메모리로 나뉜다.

7. 정책, 도구 사용, 스킬, 서브에이전트

정책은 어떤 상황에서 어떤 행동을 취할 확률을 정하는 행동 규칙으로 설명되며, 에이전트 자체와는 구분된다. LLM 시스템에서 정책의 일부는 모델 가중치에 학습되어 있지만, 실제 행동은 프롬프트, 도구, 메모리, 실행 루프 같은 스캐폴딩과 하니스의 영향을 함께 받는다. 도구 사용은 에이전트가 API, 코드 인터프리터, 데이터베이스, 웹 검색, 파일 시스템처럼 외부 세계에 접근하는 방식이며, 모델이 구조화된 형식으로 호출 의도를 표현하면 하니스가 실제 함수로 라우팅한다. 스킬은 단일 행동인 도구보다 더 넓게, 버그 조사와 수정처럼 목표 달성에 필요한 지식과 절차를 구조화한 패키지다. 서브에이전트는 다른 에이전트가 특정 하위 작업을 맡기기 위해 호출하는 독립적 에이전트로, 자체 모델과 스캐폴드를 갖고 추론하며 도구나 또 다른 서브에이전트를 사용할 수 있다.

8. 학습 전용 용어: 환경, 트레이너, 롤아웃, 보상

글의 후반부는 배포나 사용뿐 아니라 모델 학습에 특화된 용어를 따로 정리한다. RL 환경은 행동을 입력받아 내부 상태를 갱신하고 관찰을 반환하는 상호작용 가능한 대상으로, LLM 맥락에서는 도구 호출이 행동이 되는 경우가 많고 파일시스템 같은 예시가 제시된다. 트레이너는 여러 에이전트 에피소드를 실행하고 결과를 점수화한 뒤 내부 모델 가중치를 업데이트하는 구성요소이며, TRL의 GRPOTrainer가 구체적 예로 언급된다. 롤아웃은 에이전트가 처음부터 끝까지 수행한 전체 실행 기록으로, 무엇을 보고 무엇을 했으며 각 단계에서 어떤 보상을 받았는지를 담는 원자료다. 보상은 모델이 나아지고 있는지 학습 알고리즘에 알려주는 점수이며, 검증 가능한 점수, 학습된 선호, 드문 최종 점수, 단계별 촘촘한 점수 등으로 나뉠 수 있고, 루브릭은 보상을 여러 명시적 기준과 가중치로 분해하는 방식이다.

🧾 핵심 주장 / 시사점

  • 이 글의 핵심은 하나의 ‘올바른 정의’를 고정하는 것이 아니라, 모델·스캐폴딩·하니스·제품을 분리해 생각해야 에이전트 논의가 덜 혼란스러워진다는 점이다.
  • 같은 모델을 써도 하니스와 컨텍스트 관리 방식이 다르면 완전히 다른 제품처럼 느껴질 수 있으므로, 에이전트 성능 평가는 모델 이름만으로 설명하기 어렵다.
  • 학습 단계와 추론 단계는 같은 용어를 공유하더라도 실패 비용이 다르며, 특히 학습에서의 컨텍스트·보상·롤아웃 설계는 모델 가중치 업데이트에 직접 연결된다는 점이 중요하다.

✅ 액션 아이템

  • 하니스·스캐폴딩의 경계를 모델(입출력), 행동 조건 설정, 실행 제어로 구분해 핵심 용어 오해를 줄인다.
  • 스캐폴딩을 시스템 프롬프트·도구 설명·응답 파싱·컨텍스트 관리 항목으로 세분화해 구현 책임과 기대 동작을 명확히 한다.
  • 하니스가 맡는 모델 호출·도구 실행·중단 판단·오류 처리·가드레일을 에이전트 루프 신뢰성 점검 항목으로 정한다.

❓ 열린 질문

  • ICLR 2026 이후 혼선된 하니스와 스캐폴드 개념을 실무 문서에서 어디까지 엄격히 분리해 적용할 것인가?
  • 실제 배포·사용 단계에서 트레이너·롤아웃·보상·루브릭 용어를 학습 단계 용어와 어떻게 충돌 없이 구분할 것인가?
  • Claude Code·Codex·Hermes Agent에서 제시한 모델·스캐폴딩·하니스 정신모델이 동일한 기준으로 유지될 수 있는가?

관련 문서

공통 태그와 주제 흐름을 기준으로 같이 보면 좋은 문서를 이어서 제안합니다.