# [[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*