Files
2nd/10_Wiki/Topics/Agent Harness.md
T

45 lines
4.4 KiB
Markdown

# Agent Harness (에이전트 하네스)
## 📌 Brief Summary
Agent Harness는 에이전트(LLM)가 독립적으로 동작하지 않고, 시스템 자원(파일, 네트워크, 도구)에 접근하고, 상태를 유지하며, 외부와 소통할 수 있도록 감싸는 **'실행 런타임이자 거버넌스 계층'**이다. 에이전트에게는 외부 세계와 소통하는 인터페이스를 제공하고, 시스템에게는 에이전트의 행동을 통제하고 관찰하는 보안 및 운영 경계를 제공한다. 최근에는 이를 **'Agent OS'**라고도 부른다.
## 📖 Core Content
* **6대 구성 요소 (Standard Architecture)**:
* **[[C-component (Context Manager)|C-component (Context Manager)]]**: 컨텍스트 조립 및 압축 관리.
* **[[E-component (Execution Loop)|E-component (Execution Loop)]]**: 에이전트의 사고-행동 반복 루프 제어.
* **[[L-component (Lifecycle Hooks)|L-component (Lifecycle Hooks)]]**: 이벤트 인터셉터 및 정책 강제 계층.
* **[[S-component (State Store)|S-component (State Store)]]**: 단기/장기 메모리 및 지식 지속성 관리.
* **[[T-component (Tool Registry)|T-component (Tool Registry)]]**: 외부 도구 연결 및 실행 표준화(MCP 등).
* **[[V-component (Evaluation Interface)|V-component (Evaluation Interface)]]**: 결과 검증 및 피드백 루프.
* **시스템 자원 추상화**: 에이전트가 직접 OS API를 호출하는 대신, 하네스가 제공하는 가상화된 파일 시스템, 네트워크 게이트웨이, 도구 셋을 통해 안전하게 상호작용하도록 한다.
* **보안 및 격리 (Sandboxing)**: 에이전트의 실행 환경을 호스트 시스템과 격리하여, 프롬프트 인젝션이나 악성 코드 실행으로 인한 피해가 확산되는 것을 방지한다.
* **상태 보존 및 복구**: 작업 중단 시 현재의 컨텍스트와 메모리 상태를 저장하고, 나중에 동일한 지점에서 작업을 재개할 수 있는 스냅샷 기능을 제공한다.
* **관측 가능성 (Observability)**: 에이전트의 모든 사고 과정(Thought), 도구 호출 로그, 데이터 흐름을 기록하여 디버깅과 감사가 가능하게 한다.
## ⚖️ Trade-offs & Caveats
* **추상화 오버헤드**: 하네스 계층이 두꺼워질수록 에이전트의 반응 속도(Latency)가 느려질 수 있다.
* **유연성과 통제의 균형**: 하네스가 너무 엄격하면 에이전트의 창의적 문제 해결이 제한될 수 있고, 너무 느슨하면 보안 리스크가 발생한다.
* **복잡한 동기화**: 다중 에이전트 환경에서 여러 하네스 간의 상태 일관성을 유지하는 것은 매우 어려운 공학적 과제이다.
## 🔗 Knowledge Connections
### Related Concepts
* Agent OS
* 연결 이유: 에이전트 하네스의 개념이 확장되어 운영체제 수준의 자원 관리를 수행하는 상위 개념이다.
* [[MCP (Model Context Protocol)|MCP (Model Context Protocol)]]
* 연결 이유: 하네스의 T-component가 외부 도구와 통신하기 위해 채택하는 표준 프로토콜이다.
* [[Execution Environment (Sandbox)|Execution Environment (Sandbox)]]
* 연결 이유: 하네스가 에이전트를 실제로 실행시키는 물리적/가상적 격리 공간이다.
### Deeper Research Questions
* 하네스의 각 구성 요소(C/E/L/S/T/V) 간의 의존성을 최소화하면서도 고성능 데이터 파이프라인을 구축하는 마이크로커널 아키텍처는 어떻게 설계해야 하는가?
* 에이전트가 하네스의 제약을 인지하고 이를 우회하려 할 때(Jailbreaking), 하네스 계층에서 이를 실시간으로 탐지하는 하드웨어 수준의 감시 기법은 무엇인가?
* 하네스가 여러 모델(Multi-model)을 동시에 지원하며, 작업별로 최적의 모델에게 서브 태스크를 할당하는 '동적 라우팅' 기능을 어떻게 최적화하는가?
### Practical Application Contexts
* **Implementation:** Python의 LangGraph나 JS의 LangChain 등을 활용하여 기본적인 하네스 루프를 구축하고, 커스텀 미들웨어(L-component)를 추가하여 보안 정책을 적용한다.
* **System Design:** 기업용 에이전트 플랫폼 구축 시, Docker나 WASM 기반의 샌드박스를 하네스 하단에 배치하여 에이전트의 코드 실행 권한을 엄격히 제한한다.
---
*Last updated: 2026-05-01*