가끔 보자, 하늘.

하네스(harness) 엔지니어링 본문

개발 이야기/개발 및 서비스

하네스(harness) 엔지니어링

가온아 2026. 3. 30. 09:15
반응형

모델을 도구·상태·루프·채점기·안전장치와 함께 실제로 돌아가도록 감싸는 실행 프레임워크

Responses API나 Codex 같은 에이전트를 쓸 때, 모델이 도구 호출을 요청하면 클라이언트가 그 요청을 실제로 실행하고, 결과를 다시 모델에 넣어주며, 필요하면 반복 루프를 돌리고, 상태를 관리하고, 안전 제약을 거는 부분이 필요하다. 

쉽게 말하면 이런 것들이다. 

  • 툴 실행기
  • 대화/작업 상태 관리
  • 반복 에이전트 루프
  • 권한/안전 제어
  • 로그/관측성
  • 실패 재시도 및 종료 조건

즉, 모델 바깥에서 모델을 일하게 만드는 운영 코드가 하네스다. 

  • Agent = “다음에 뭘 할지 결정하는 두뇌”
  • Skill = “이런 작업은 이런 방식으로 하라”는 작업 매뉴얼
  • MCP = “외부 능력과 연결하는 표준 플러그”
  • Harness = “그 결정을 실제 호출/반복/승인/상태관리로 집행하는 운영 시스템”

하네스는 에이전트를 구현한 결과물이라기보다, 에이전트를 포함해 tool·MCP·skill·상태·루프를 묶어 실행하는 오케스트레이션 레이어다.

  1. Agent가 “다음 행동”을 정한다.
  2. Harness가 그 결정을 받아 tool이나 MCP 서버를 실제 호출한다.
  3. 결과를 다시 Agent에 넣는다.
  4. 종료 조건까지 반복한다. OpenAI는 이런 패턴을 “tight execution loop”로 설명한다. 

코드 관점에서 보면:

  • agent = ...  # 의사결정 객체
  • harness.run(agent, tools, mcp_servers, state)  # 실행기

 

 






 

 

 

반응형