๐Ÿ˜—: ์ตœ๊ทผ Anthropic์˜ Boris๋‚˜ OpenAI๋กœ ๊ฐ„ Openclaw ๊ฐœ๋ฐœ์ž Peter ๋ชจ๋‘ Loop ์— ๊ด€ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ํ•˜๊ณ  ์žˆ๋‹ค. Harness engineering ์ดํ›„์˜ ์ƒˆ๋กœ์šด ์œ ํ–‰์–ด์ธ๊ฐ€? ๋‘˜์€ ๋ฌด์—‡์„ ๋งํ•˜๊ณ  ์žˆ์ง€? 2025๋…„์˜ Ralph loop์™€๋Š” ๋ญ๊ฐ€ ๋‹ค๋ฅธ๊ฐ€?

๐Ÿค–: ๋„ค, ์ƒˆ ์œ ํ–‰์–ด๋Š” ๋งž์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์™„์ „ํžˆ ์ƒˆ ๊ฐœ๋…์ด๋ผ๊ธฐ๋ณด๋‹ค๋Š” Ralph loop โ†’ harness engineering โ†’ loop engineering์œผ๋กœ ์ถ”์ƒํ™” ์ˆ˜์ค€์ด ์˜ฌ๋ผ๊ฐ„ ๊ฒƒ์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค.

ํ•ต์‹ฌ์€ ์ด๊ฒ๋‹ˆ๋‹ค. ์˜ˆ์ „์—๋Š” ์‚ฌ๋žŒ์ด โ€œ๋‹ค์Œ ํ”„๋กฌํ”„ํŠธโ€๋ฅผ ์ผ๊ณ , harness engineering์€ ์—์ด์ „ํŠธ๊ฐ€ ์ž˜ ์ผํ•˜๋„๋ก ๋„๊ตฌยทํ…Œ์ŠคํŠธยท๊ด€์ธก์„ฑยท๊ถŒํ•œยท๋ฌธ์„œยท์›ŒํฌํŠธ๋ฆฌ ๊ฐ™์€ ์‹คํ–‰ ํ™˜๊ฒฝ์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. OpenAI์˜ harness engineering ๊ธ€๋„ ์ธ๊ฐ„์˜ ์ผ์ด โ€œ์ฝ”๋“œ๋ฅผ ์“ฐ๋Š” ๊ฒƒโ€์—์„œ โ€œํ™˜๊ฒฝ์„ ์„ค๊ณ„ํ•˜๊ณ , ์˜๋„๋ฅผ ๋ช…์„ธํ•˜๊ณ , Codex๊ฐ€ ์‹ ๋ขฐ์„ฑ ์žˆ๊ฒŒ ์ผํ•˜๊ฒŒ ํ•˜๋Š” ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒโ€์œผ๋กœ ์˜ฎ๊ฒจ๊ฐ”๋‹ค๊ณ  ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. (OpenAI)

Loop engineering์€ ๊ทธ ์œ„์ธต์ž…๋‹ˆ๋‹ค. Addy Osmani์˜ ์ •๋ฆฌ๋Š” ๊ฝค ์ •ํ™•ํ•œ๋ฐ, โ€œ์‚ฌ๋žŒ์ด ์—์ด์ „ํŠธ๋ฅผ ํ”„๋กฌํ”„ํŠธํ•˜๋Š” ์—ญํ• ์„ ๋Œ€์ฒดํ•˜๊ณ , ๊ทธ ์ผ์„ ํ•˜๋Š” ์‹œ์Šคํ…œ์„ ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒโ€์ž…๋‹ˆ๋‹ค. ๊ทธ๋Š” ์ด๊ฑธ harness๋ณด๋‹ค ํ•œ ์ธต ์œ„, ์ฆ‰ โ€œharness๊ฐ€ ํƒ€์ด๋จธ๋กœ ๋Œ๊ณ , ์ž‘์€ ํ—ฌํผ๋“ค์„ ๋„์šฐ๊ณ , ์ž๊ธฐ ์ž์‹ ์—๊ฒŒ ๋จน์ด๋ฅผ ์ฃผ๋Š” ๊ฒƒโ€์ด๋ผ๊ณ  ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. (Addy Osmani)

Boris๊ฐ€ ๋งํ•˜๋Š” ๊ฒƒ์€ **โ€œ๋‚˜๋Š” Claude๋ฅผ ์ง์ ‘ ํ”„๋กฌํ”„ํŠธํ•˜์ง€ ์•Š๊ณ , Claude๋ฅผ ํ”„๋กฌํ”„ํŠธํ•˜๋Š” ๋ฃจํ”„๋ฅผ ์“ด๋‹คโ€**์ž…๋‹ˆ๋‹ค. WorkOS์˜ Acquired Unplugged ์š”์•ฝ์— ๋”ฐ๋ฅด๋ฉด ๊ทธ๋Š” IDE์—์„œ ์ง์ ‘ ์ฝ”๋”ฉํ•˜๋˜ ๋‹จ๊ณ„, ์—ฌ๋Ÿฌ Claude ์„ธ์…˜์„ ๋ณ‘๋ ฌ๋กœ ํ”„๋กฌํ”„ํŠธํ•˜๋˜ ๋‹จ๊ณ„๋ฅผ ์ง€๋‚˜, ์ด์ œ๋Š” โ€œ๋ฌด์—‡์„ ํ• ์ง€ ํŒ๋‹จํ•˜๊ณ  Claude๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ์ž๋™ ์›Œํฌํ”Œ๋กœโ€๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์ชฝ์œผ๋กœ ์—ญํ• ์ด ์ด๋™ํ–ˆ๋‹ค๊ณ  ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. (WorkOS) Anthropic ์ชฝ ์ œํ’ˆ ๋งฅ๋ฝ์—์„œ๋Š” ์ด๊ฒƒ์ด /loop, /schedule, ์›ŒํฌํŠธ๋ฆฌ, ์„œ๋ธŒ์—์ด์ „ํŠธ, ๊ฒ€์ฆ, ๋ฉ”๋ชจ๋ฆฌ, MCP ๊ฐ™์€ Claude Code์˜ ์šด์˜ ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ์™€ ๋ถ™์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Claude์˜ ๊ณต์‹ power-user ๋ฌธ์„œ๋„ /loop๋Š” ์ตœ๋Œ€ 3์ผ ๋™์•ˆ ๋กœ์ปฌ ๋ฐ˜๋ณต ์ž‘์—…์„ ์˜ˆ์•ฝํ•˜๊ณ , /schedule์€ ํด๋ผ์šฐ๋“œ์—์„œ ๋…ธํŠธ๋ถ์ด ๋‹ซํ˜€๋„ ๊ณ„์† ๋Œ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. (Claude Help Center)

Peter Steinberger ์ชฝ์€ ํ‘œํ˜„์ด ๋” ์‹ค์šฉ์ ์ž…๋‹ˆ๋‹ค. โ€œcoding agents๋ฅผ ํ”„๋กฌํ”„ํŠธํ•˜์ง€ ๋ง๊ณ , agents๋ฅผ ํ”„๋กฌํ”„ํŠธํ•˜๋Š” loops๋ฅผ ์„ค๊ณ„ํ•˜๋ผโ€๋Š” ๋ง์€, ์‚ฌ๋žŒ์ด ๋งค๋ฒˆ โ€œ๋‹ค์Œ์— ๋ญ ํ•ดโ€๋ฅผ ์น˜๋Š” ๋Œ€์‹  PR babysit, CI green ๋งŒ๋“ค๊ธฐ, ๋ฆฌ๋ทฐ ๋ฐ˜์˜, refactor, issue triage, ์ž๋™ merge ๊ฐ™์€ ๋ฐ˜๋ณต ์—…๋ฌด๋ฅผ ์‹œ์Šคํ…œํ™”ํ•˜๋ผ๋Š” ๋œป์ž…๋‹ˆ๋‹ค. Peter๋Š” OpenClaw๋ฅผ ๋งŒ๋“  ๋’ค OpenAI์— ํ•ฉ๋ฅ˜ํ–ˆ๊ณ , OpenClaw๋Š” ๋…๋ฆฝยท์˜คํ”ˆ์†Œ์Šค๋กœ ์œ ์ง€ํ•˜๊ฒ ๋‹ค๊ณ  ๋ฐํ˜”์Šต๋‹ˆ๋‹ค. ๊ทธ์˜ ๊ธ€์—์„œ ๋ชฉํ‘œ๋Š” โ€œ์—„๋งˆ๋„ ์“ธ ์ˆ˜ ์žˆ๋Š” agentโ€๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๊ณ , ์ด๋ฅผ ์œ„ํ•ด ์•ˆ์ „์„ฑ๊ณผ ์ตœ์‹  ๋ชจ๋ธ/์—ฐ๊ตฌ ์ ‘๊ทผ์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค. (Steipete) ๊ทธ์˜ ๋‹ค๋ฅธ ๊ธ€์—์„œ๋„ fancy agent framework๋ณด๋‹ค CLI, tmux, ํ…Œ์ŠคํŠธ, PR ๋ช…๋ น, ์งง์€ ๋ฐ˜๋ณต, ์‹ค์ œ ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„๋ฅผ ์ค‘์‹œํ•˜๋Š” ํƒœ๋„๊ฐ€ ๋ณด์ž…๋‹ˆ๋‹ค. (Steipete)

2025๋…„ Ralph loop์™€์˜ ์ฐจ์ด๋Š” โ€œ์›๋ฆฌโ€๊ฐ€ ์•„๋‹ˆ๋ผ โ€œ์Šค์ผ€์ผ๊ณผ ์ œํ’ˆํ™”โ€์ž…๋‹ˆ๋‹ค. Ralph์˜ ์›ํ˜•์€ Geoff Huntley๊ฐ€ 2025๋…„ 7์›” ์„ค๋ช…ํ•œ ๋งค์šฐ ๋‹จ์ˆœํ•œ ํŒจํ„ด์ž…๋‹ˆ๋‹ค: while :; do cat PROMPT.md | claude-code ; done. ๊ฐ™์€ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ฐ˜๋ณต ์‹คํ–‰ํ•˜๊ณ , ์ฝ”๋“œ๋ฒ ์ด์Šคยทfix_plan.mdยทAGENT.mdยทgit history๊ฐ€ ๊ธฐ์–ต ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. (Geoffrey Huntley) Ralph์˜ ์ค‘์š”ํ•œ ๊ทœ์น™์€ โ€œํ•œ ๋ฃจํ”„์— ํ•œ ๊ฐ€์ง€ ์ผโ€, โ€œ์ƒˆ context windowโ€, โ€œํŒŒ์ผ์‹œ์Šคํ…œ์„ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์‚ฌ์šฉโ€, โ€œํ…Œ์ŠคํŠธ/๋นŒ๋“œ๋กœ backpressure๋ฅผ ๊ฑธ๊ธฐโ€์ž…๋‹ˆ๋‹ค. Huntley ๋ณธ์ธ๋„ Ralph๋Š” ๊ธฐ์กด ์ฝ”๋“œ๋ฒ ์ด์Šค๋ณด๋‹ค greenfield ๋ถ€ํŠธ์ŠคํŠธ๋ž˜ํ•‘์— ๋” ์ ํ•ฉํ•˜๋‹ค๊ณ  ๋ชป๋ฐ•์Šต๋‹ˆ๋‹ค. (Geoffrey Huntley)

์š”์•ฝํ•˜๋ฉด:

๊ตฌ๋ถ„ Ralph loop 2025 Loop engineering 2026์‹ ์˜๋ฏธ
ํ˜•ํƒœ bash while loop + prompt file scheduled jobs, automations, skills, subagents, worktrees
ํ”„๋กฌํ”„ํŠธ ๊ฑฐ์˜ ๊ฐ™์€ prompt ๋ฐ˜๋ณต ๋ฃจํ”„๊ฐ€ ์ƒํ™ฉ์„ ์ฝ๊ณ  ๋‹ค์Œ prompt๋ฅผ ์ƒ์„ฑ
์ƒํƒœ repo, TODO/fix_plan, AGENT.md, git repo + GitHub/Slack/Linear/metrics/logs/docs/memory
๋ณ‘๋ ฌ์„ฑ ๊ธฐ๋ณธ์€ monolithic, ํ•œ task per loop ์—ฌ๋Ÿฌ agent/worktree ๋ณ‘๋ ฌ ์‹คํ–‰
๊ฒ€์ฆ build/test ์ค‘์‹ฌ CI, ๋ฆฌ๋ทฐ agent, browser/DevTools, logs, metrics, policy gates
์ธ๊ฐ„ ์—ญํ•  ๊ด€์ฐฐํ•˜๊ณ  prompt๋ฅผ ์กฐ์œจ ๋ฃจํ”„ ์„ค๊ณ„, guardrail, taste/values, escalation ํŒ๋‹จ

๊ทธ๋ž˜์„œ โ€œHarness engineering ๋‹ค์Œ ์œ ํ–‰์–ด๋ƒ?โ€์— ๋Œ€ํ•œ ์ œ ๋‹ต์€: ๋งž๋‹ค. ํ•˜์ง€๋งŒ harness๋ฅผ ๋Œ€์ฒดํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ harness๋ฅผ ๋ฐ˜๋ณต ํ˜ธ์ถœํ•˜๋Š” ์šด์˜ ๋ ˆ์ด์–ด๋‹ค. Harness engineering์ด โ€œ์—์ด์ „ํŠธ ํ•œ ๋ฒˆ์˜ ์‹คํ–‰์„ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“œ๋Š” ๊ธฐ์ˆ โ€์ด๋ผ๋ฉด, loop engineering์€ โ€œ๋ฌด์Šจ ์ผ์„ ์–ธ์ œ ์ฐพ์•„์„œ, ์–ด๋–ค ์—์ด์ „ํŠธ๋“ค์—๊ฒŒ ๋‚˜๋ˆ  ์ฃผ๊ณ , ๋ฌด์—‡์œผ๋กœ ๊ฒ€์ฆํ•˜๊ณ , ์–ธ์ œ ์‚ฌ๋žŒ์—๊ฒŒ ์˜ฌ๋ฆด์ง€ ์„ค๊ณ„ํ•˜๋Š” ๊ธฐ์ˆ โ€์ž…๋‹ˆ๋‹ค.

Ralph๊ฐ€ โ€œ์–ด์ด์—†๊ฒŒ ๋‹จ์ˆœํ•œ๋ฐ ์ž‘๋™ํ•˜๋Š” ์›ํ˜•โ€์ด์—ˆ๋‹ค๋ฉด, Boris/Peter๊ฐ€ ๋งํ•˜๋Š” loop๋Š” ๊ทธ ์•„์ด๋””์–ด๊ฐ€ ์ œํ’ˆ ๊ธฐ๋Šฅ, ํŒ€ ์šด์˜, PR/CI/๊ด€์ธก์„ฑ, ๋‹ค์ค‘ ์—์ด์ „ํŠธ orchestration์œผ๋กœ ์˜ฌ๋ผ๊ฐ„ ๋ฒ„์ „์ด๋ผ๊ณ  ๋ณด๋ฉด ๋ฉ๋‹ˆ๋‹ค.