4.5 KiB
4.5 KiB
OpenHarness
📌 Brief Summary
OpenHarness는 에이전트 하네스 생태계에 존재하는 두 가지 독립적인 오픈소스 프로젝트를 동시에 지칭하는 용어이다 [1, 2]. 하나는 홍콩대학교(HKUDS)에서 개발한 CLI 기반의 에이전트 런타임 환경이며, 다른 하나는 MaxGfeller가 개발한 다양한 런타임 간 에이전트 코드 이식을 돕는 상호 운용성(Interoperability) SDK이다 [2-4]. 두 프로젝트 모두 상용 하네스 시스템의 제약에서 벗어나, 실행 주기의 내부 동작을 투명하게 검사하거나 벤더 종속성을 피하고자 하는 개발자와 연구자를 위해 설계되었다 [3, 5].
📖 Core Content
소스 자료에 따르면 OpenHarness라는 이름을 공유하지만 구조와 목적이 완전히 다른 두 개의 프로젝트가 존재한다 [1].
-
OpenHarness (HKUDS)
- 목적 및 특징: 상용 에이전트 하네스의 내부 동작을 내부에서부터 투명하게 검사할 수 있도록 개발된 연구 및 개발자용 오픈소스 런타임이다 [3, 6]. CLI(Command Line Interface) 기반의 실행 주기를 투명하게 노출하며, 파일 시스템, 셸, 검색, 웹, MCP(Model Context Protocol) 등을 다루는 43개 이상의 내장 도구를 기본으로 제공한다 [7, 8].
- 아키텍처 및 구성 요소: 모델의 추론을 실제 작업과 연결하기 위해 스트리밍 도구 호출 주기, 지수 백오프 기반 재시도, 병렬 도구 실행 기능을 갖추고 있다 [9]. 컨텍스트 제어를 위해 CLAUDE.md 주입, 상태를 잃지 않는 자동 압축(Auto-Compaction), 경량 상태 관리를 위한 MEMORY.md 파일 기반 지속성 관리 기능을 지원한다 [10-12].
- 에이전트 생태계 확장: 이 프레임워크 위에서 'ohmo'라는 개인용 AI 에이전트를 내장 앱으로 제공하여 Slack, Discord, Telegram, Feishu 등의 메신저 채널과 연동할 수 있도록 지원한다 [13, 14]. 또한 claude-code 플러그인 생태계와 호환된다 [15].
- 안전성 (Governance): 작업 환경의 보안을 위해 다중 레벨 권한 모드(Default, Auto, Plan Mode)를 두어 실행을 제어하며, 실제 모델 호출이나 하위 에이전트 실행 없이 런타임 설정, 권한 상태 및 MCP 설정 문제 등을 사전에 안전하게 점검할 수 있는 '드라이 런(Dry-run)' 프리뷰 모드를 지원한다 [11, 16, 17].
-
OpenHarness.ai (MaxGfeller)
- 목적 및 특징: 특정 프레임워크에 종속되는 것을 방지하기 위해 구축된 하네스 상호 운용성 SDK이다 [4]. 에이전트를 실행하는 런타임이 아니라, 한 번 작성한 에이전트 코드를 Anthropic SDK, Goose, LangChain, Letta, Claude Code 등 여러 실행 환경에 수정 없이 배포할 수 있게 해주는 추상화 계층이다 [4].
- 아키텍처: 도구(Tools), 메모리, 실행 컨텍스트에 관한 표준화된 범용 API를 정의하고 여러 런타임용 어댑터를 제공함으로써 에이전트 코드의 이식성을 보장한다 [5].
⚖️ Trade-offs & Caveats
-
OpenHarness (HKUDS)의 제약 사항:
- 엔터프라이즈 환경에서의 한계: 초기 릴리스(v0.1.x) 단계로, 상용 대안들에 비해 엔터프라이즈용 관리 도구가 부족하며 본질적으로 연구 지향적인 특성을 띤다 [10].
- 데이터 품질 관리의 부재: 하네스 내부로 유입되는 컨텍스트와 데이터 입력의 품질을 검증하거나 계보(Lineage)를 추적하는 등의 데이터 거버넌스 메커니즘이 전혀 없다 [4].
- 인터페이스의 한계: React TUI(Terminal UI)를 부분적으로 지원하기는 하나, 기본적으로 CLI 우선 설계이므로 웹이나 시각적인 관리 인터페이스를 기대하는 환경에는 부적합하다 [10].
-
OpenHarness.ai (MaxGfeller)의 제약 사항:
- 단일 목적성의 한계: 오직 이식성(Portability) 해결에만 초점을 맞춘 도구이므로, 오케스트레이션, 메모리 관리, 옵저버빌리티(Observability) 등 하네스의 핵심 제어 기능은 전혀 제공하지 않는다 [5].
- 생태계 및 품질의 제약: 커뮤니티 규모가 작아 엔터프라이즈 규모에서의 생산성 검증이 부족하며, SDK가 지원하는 어댑터 목록에 강하게 의존할 수밖에 없다 [5]. HKUDS 버전과 마찬가지로 모든 계층에서 데이터 품질 제어 장치가 전무하다 [18].
Last updated: 2026-05-05