← πŸ“š 이번 μ£Ό Weekly Digest둜 λŒμ•„κ°€κΈ°

DD-093 Code as Agent Harness

arXiv: 2605.18747 Upvotes: 199 | Comments: 3 μˆœμœ„: 이번 μ£Ό Top 2


λ…Όλ¬Έ 리뷰: Code as Agent Harness

1. μ™œ 이 논문이 μ€‘μš”ν•œκ°€?

기쑴의 연ꡬ듀은 λŒ€κ·œλͺ¨ μ–Έμ–΄ λͺ¨λΈ(LLM)이 μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” λŠ₯λ ₯μ—λ§Œ μ§‘μ€‘ν•˜μ—¬, μ½”λ“œλ₯Ό λ‹¨μˆœν•œ ν…μŠ€νŠΈ 생성 결과물둜 μ·¨κΈ‰ν•˜λŠ” κ²½ν–₯이 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 이둜 인해 μƒμ„±λœ μ½”λ“œκ°€ μ‹€μ œ ν™˜κ²½μ—μ„œ μ–΄λ–»κ²Œ μ‹€ν–‰λ˜κ³ , μ—μ΄μ „νŠΈκ°€ 이λ₯Ό 톡해 슀슀둜 μƒκ°ν•˜κ³  ν–‰λ™ν•˜λŠ” 과정은 μ²΄κ³„μ μœΌλ‘œ 닀뀄지지 λͺ»ν–ˆμŠ΅λ‹ˆλ‹€. 이 논문은 μ½”λ“œλ₯Ό λ‹¨μˆœν•œ 좜λ ₯물이 μ•„λ‹ˆλΌ μ—μ΄μ „νŠΈκ°€ μΆ”λ‘ ν•˜κ³ , ν–‰λ™ν•˜κ³ , ν™˜κ²½μ„ λͺ¨λΈλ§ν•˜λ©°, 싀행을 톡해 κ²€μ¦ν•˜λŠ” 운영 체제(Operational Substrate)둜 μž¬μ •μ˜ν•©λ‹ˆλ‹€. 즉, μ½”λ“œλ₯Ό μ—μ΄μ „νŠΈλ₯Ό 감싸고 μ œμ–΄ν•˜λŠ” ν•˜λ„€μŠ€(Harness)둜 μ •μ˜ν•˜μ—¬, LLM이 μƒνƒœκ°€ μ—†λŠ” λͺ¨λΈμ—μ„œ μž₯기적인 μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆλŠ” κ°•κ±΄ν•œ μ—μ΄μ „νŠΈλ‘œ μ§„ν™”ν•  수 μžˆλŠ” ν†΅ν•©λœ ν”„λ ˆμž„μ›Œν¬λ₯Ό μ œμ‹œν•©λ‹ˆλ‹€.

2. 핡심 아이디어 μ‰½κ²Œ μ΄ν•΄ν•˜κΈ°

μΌμƒμƒν™œ λΉ„μœ : β€˜μžλ™μ°¨μ™€ μš΄μ „μžβ€™

기쑴의 LLM μ½”λ“œ 생성은 마치 β€˜μš΄μ „μžκ°€ 섀계도면을 쒅이에 κ·Έλ¦¬λŠ” 것’과 κ°™μŠ΅λ‹ˆλ‹€. 아무리 μ •κ΅ν•œ 섀계도면(μ½”λ“œ)을 그렀도, 그것이 μ‹€μ œ μžλ™μ°¨κ°€ μ•„λ‹ˆλΌλ©΄ 바퀴λ₯Ό ꡴렀갈 수 μ—†μŠ΅λ‹ˆλ‹€. 이 논문이 μ œμ•ˆν•˜λŠ” β€˜Code as Agent Harnessβ€™λŠ” μš΄μ „μž(LLM)κ°€ μ‹€μ œλ‘œ μžλ™μ°¨(μ½”λ“œ ν•˜λ„€μŠ€)에 νƒ‘μŠΉν•˜μ—¬ 핸듀을 μ‘°μž‘ν•˜κ³ , 엑셀을 밟고, λ‚΄λΉ„κ²Œμ΄μ…˜μ„ λ³΄λ©΄μ„œ λͺ©μ μ§€λ‘œ μ΄λ™ν•˜λŠ” μ‹œμŠ€ν…œμž…λ‹ˆλ‹€. μ—¬κΈ°μ„œ μ½”λ“œλŠ” λ‹¨μˆœνžˆ λ³΄μ—¬μ£ΌλŠ” 섀계도가 μ•„λ‹ˆλΌ, μš΄μ „μžμ˜ μ˜μ§€λ₯Ό μ‹€μ œ μ›€μ§μž„μœΌλ‘œ λ°”κΏ”μ£ΌλŠ” μ—”μ§„, 바퀴, μ—°λ£Œ μž₯치의 역할을 μˆ˜ν–‰ν•©λ‹ˆλ‹€.

단계별 λ™μž‘ 원리

이 μ‹œμŠ€ν…œμ€ 크게 μ„Έ κ°€μ§€ μΈ΅(Layer)으둜 λ‚˜λ‰˜μ–΄ μž‘λ™ν•©λ‹ˆλ‹€. 첫 λ²ˆμ§ΈλŠ” μΈν„°νŽ˜μ΄μŠ€ 측으둜, μš΄μ „μžκ°€ μžλ™μ°¨μ˜ μ œμ–΄ μž₯μΉ˜μ™€ μ—°κ²°λ˜λŠ” λΆ€λΆ„μž…λ‹ˆλ‹€. LLM이 μƒμ„±ν•œ μ½”λ“œλ₯Ό 톡해 μ™ΈλΆ€ λ„κ΅¬λ‚˜ ν™˜κ²½κ³Ό μƒν˜Έμž‘μš©ν•©λ‹ˆλ‹€. 두 λ²ˆμ§ΈλŠ” λ©”μ»€λ‹ˆμ¦˜ 측으둜, μžλ™μ°¨μ˜ μš΄μ „ λ‘œμ§μž…λ‹ˆλ‹€. μ—μ΄μ „νŠΈκ°€ κ³„νšμ„ μ„Έμš°κ³ (Planning), 과거의 μ£Όν–‰ 경둜λ₯Ό κΈ°μ–΅ν•˜λ©°(Memory), 상황에 λ§žλŠ” 도ꡬλ₯Ό μ‚¬μš©ν•˜κ³ (Tool Use), 생긴 문제λ₯Ό κ΅μ •ν•˜λŠ”(Control) 과정이 ν¬ν•¨λ©λ‹ˆλ‹€. λ§ˆμ§€λ§‰μœΌλ‘œ ν™•μž₯ μΈ΅μ—μ„œλŠ” μ—¬λŸ¬ λŒ€μ˜ μžλ™μ°¨κ°€ μ„œλ‘œ ν†΅μ‹ ν•˜λ©° ꡐ톡 상황을 μ‘°μ ˆν•˜λŠ” κ²ƒμ²˜λŸΌ, μ—¬λŸ¬ μ „λ¬Έ μ—μ΄μ „νŠΈλ“€μ΄ μ½”λ“œλ₯Ό κ³΅μœ ν•˜λ©° ν˜‘μ—…ν•˜λŠ” λ©€ν‹° μ—μ΄μ „νŠΈ μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜μ„ λ‹€λ£Ήλ‹ˆλ‹€.

핡심 μ•Œκ³ λ¦¬μ¦˜ 및 ꡬ쑰

이 논문은 νŠΉμ •ν•œ μˆ˜ν•™μ  κ³΅μ‹λ³΄λ‹€λŠ” μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜μ™€ μ œμ–΄ 흐름을 κ°•μ‘°ν•©λ‹ˆλ‹€. 핡심은 μƒνƒœ(State)와 μ½”λ“œμ˜ μƒν˜Έμž‘μš©μž…λ‹ˆλ‹€. μ—μ΄μ „νŠΈλŠ” 정적인 λͺ¨λΈ(Model)μ—μ„œ νŒλ‹¨(Judgment)을 내리고, 이λ₯Ό μ½”λ“œλΌλŠ” 맀개체λ₯Ό 톡해 가변적인 μƒνƒœ(Mutable State)λ₯Ό λ³€κ²½ν•©λ‹ˆλ‹€. ν•˜λ„€μŠ€ μΈν”„λΌλŠ” μ΄λŸ¬ν•œ μƒνƒœ λ³€ν™˜μ„ μ•ˆμ „ν•˜κ²Œ κ΄€λ¦¬ν•˜κ³ , μ—μ΄μ „νŠΈκ°€ μž‘μ„±ν•œ μ½”λ“œκ°€ μ‹ λ’°ν•  수 μžˆλŠ”μ§€ 검증(Verification)ν•˜λŠ” μ •μ±…κ³Ό κΆŒν•œ 계측을 μ œκ³΅ν•©λ‹ˆλ‹€. 즉, μ½”λ“œλ₯Ό μ‹€ν–‰ κ°€λŠ₯ν•œ 맀체둜 μ‚¬μš©ν•˜λ˜, 이λ₯Ό 감싸고 μžˆλŠ” ν•˜λ„€μŠ€ μ‹œμŠ€ν…œμ΄ 전체 μž‘μ—…μ˜ μ•ˆμ •μ„±μ„ 보μž₯ν•˜λŠ” κ΅¬μ‘°μž…λ‹ˆλ‹€.

3. μ‹€ν—˜ κ²°κ³Ό 뢄석

벀치마크 및 ν…ŒμŠ€νŠΈ ν™˜κ²½

이 논문은 μ†Œν”„νŠΈμ›¨μ–΄ 곡학(SWE) μ „λ°˜, 특히 μ €μž₯μ†Œ(Repository) μˆ˜μ€€μ˜ μ—”μ§€λ‹ˆμ–΄λ§ μž‘μ—…μ„ μ€‘μ‹¬μœΌλ‘œ λ‹€μ–‘ν•œ κΈ°μ‘΄ μ‹œμŠ€ν…œμ„ λΆ„μ„ν•˜κ³  μž¬κ΅¬μ„±ν–ˆμŠ΅λ‹ˆλ‹€. 주둜 경쟁 ν”„λ‘œκ·Έλž˜λ°(Competitive Programming)λΆ€ν„° λ³΅μž‘ν•œ μ†Œν”„νŠΈμ›¨μ–΄ 개발 μƒνƒœκ³„μ— 이λ₯΄λŠ” κ΄‘λ²”μœ„ν•œ ν™˜κ²½μ—μ„œ κΈ°μ‘΄ 단일 μ—μ΄μ „νŠΈ μ‹œμŠ€ν…œκ³Ό μ œμ•ˆν•˜λŠ” ν”„λ ˆμž„μ›Œν¬μ˜ νš¨μœ¨μ„±μ„ 비ꡐ λΆ„μ„ν–ˆμŠ΅λ‹ˆλ‹€.

κΈ°μ‘΄ SOTA(State-of-the-Art) λŒ€λΉ„ μ„±λŠ₯

단일 μ—μ΄μ „νŠΈ 방식은 λ§₯락 μ°½(Context Window)의 μ œν•œκ³Ό μ „λ¬Έμ„± λΆ€μ‘±μœΌλ‘œ 인해 λŒ€κ·œλͺ¨ μ½”λ“œλ² μ΄μŠ€λ₯Ό μ²˜λ¦¬ν•˜λŠ” 데 ν•œκ³„κ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 반면, 이 λ…Όλ¬Έμ—μ„œ μ œμ•ˆν•˜λŠ” λ©€ν‹° μ—μ΄μ „νŠΈ μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ 방식(예: ChatDev, MetaGPT, AgentCoder)을 μ μš©ν•  경우, μž‘μ—…μ„ 건좕가, ν”„λ‘œκ·Έλž˜λ¨Έ, ν…ŒμŠ€ν„°, κ²€ν† μž 같은 μ—­ν• λ‘œ λΆ„λ‹΄ν•¨μœΌλ‘œμ¨ 문제 ν•΄κ²° λŠ₯λ ₯이 획기적으둜 ν–₯상됨을 λ³΄μ—¬μ€λ‹ˆλ‹€. 특히 단일 μ—μ΄μ „νŠΈκ°€ μžκ°€ μˆ˜μ •(Self-correction)ν•˜κΈ° μ–΄λ €μš΄ 였λ₯˜λ“€μ„ 독립적인 κ²€ν†  채널을 톡해 30% 이상 더 μ •ν™•ν•˜κ²Œ νƒμ§€ν•˜κ³  μˆ˜μ •ν•œλ‹€λŠ” κ²°κ³Όκ°€ λ³΄κ³ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

μ£Όλͺ©ν•  λ§Œν•œ μ„±κ³Ό

κ°€μž₯ 인상적인 점은 μ½”λ“œκ°€ λ‹¨μˆœν•œ μ‚°μΆœλ¬Όμ΄ μ•„λ‹ˆλΌ μ—μ΄μ „νŠΈ κ°„μ˜ 곡유 기질(Shared Substrate)이 λœλ‹€λŠ” μ μž…λ‹ˆλ‹€. μ—μ΄μ „νŠΈλ“€μ΄ κ³΅μœ ν•˜λŠ” μ½”λ“œλ₯Ό 톡해 μ„œλ‘œμ˜ 생각을 ν™•μΈν•˜κ³  μˆ˜μ •ν•¨μœΌλ‘œμ¨, 전체 μ‹œμŠ€ν…œμ˜ λͺ¨λ“ˆμ„±(Modularity)κ³Ό 검사 κ°€λŠ₯μ„±(Inspectability)이 크게 κ°œμ„ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” λ³΅μž‘ν•œ μž₯κΈ° μž‘μ—…(Long-horizon Execution)μ—μ„œ μ—μ΄μ „νŠΈμ˜ 신뒰성을 λ†’μ΄λŠ” 결정적인 역할을 ν•©λ‹ˆλ‹€.

4. ν•œκ³„μ κ³Ό ν–₯ν›„ 연ꡬ λ°©ν–₯

μ €μžκ°€ μ–ΈκΈ‰ν•œ ν•œκ³„

λ™μ μœΌλ‘œ μž‘μ„±λœ μ½”λ“œκ°€ ν•˜λ„€μŠ€ 인프라 자체λ₯Ό μ™„μ „νžˆ λŒ€μ²΄ν•  μˆ˜λŠ” μ—†μŠ΅λ‹ˆλ‹€. 즉, μ—μ΄μ „νŠΈκ°€ μƒμ„±ν•œ μ½”λ“œκ°€ 아무리 λ˜‘λ˜‘ν•΄λ„, 이λ₯Ό κ°μ‹ΈλŠ” λ³΄μ•ˆ μ •μ±…, μƒŒλ“œλ°•μŠ€ 경계, κΆŒν•œ 관리와 같은 인간이 μ„€κ³„ν•œ μΈν”„λΌλŠ” μ—¬μ „νžˆ ν•„μˆ˜μ μž…λ‹ˆλ‹€. μ½”λ“œλ₯Ό μ‹€ν–‰ κ°€λŠ₯ν•œ 맀체둜 μ‹ λ’°ν•˜κΈ° μœ„ν•΄μ„œλŠ” λͺ¨λΈμ˜ νŒλ‹¨λ ₯κ³Ό 인간이 μ„€κ³„ν•œ μ•ˆμ „μž₯μΉ˜κ°€ μ‘°ν™”λ₯Ό 이루어야 ν•œλ‹€λŠ” 점이 κ°•μ‘°λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

κ°œμ„  κ°€λŠ₯ν•œ 점

ν–₯ν›„ μ—°κ΅¬μ—μ„œλŠ” μ—μ΄μ „νŠΈκ°€ μž‘μ„±ν•œ μ½”λ“œμ˜ 신뒰성을 μ–΄λ–»κ²Œ λ”μš± 보μž₯ν•  것인가(예: ν˜•μ‹μ  검증 Formal Verification)와 λŒ€κ·œλͺ¨ λ©€ν‹° μ—μ΄μ „νŠΈ μ‹œμŠ€ν…œμ—μ„œμ˜ 효율적인 톡신 ν”„λ‘œν† μ½œ 섀계가 μ€‘μš”ν•œ 과제둜 남아 μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ, μ½”λ“œ ν•˜λ„€μŠ€κ°€ ν™•μž₯될 λ•Œ λ°œμƒν•  수 μžˆλŠ” λ³΄μ•ˆ 취약점을 μ΅œμ†Œν™”ν•˜λŠ” 기술 κ°œλ°œλ„ ν•„μš”ν•©λ‹ˆλ‹€.

5. 싀무 적용 κ°€λŠ₯μ„±

어디에 λ°”λ‘œ 적용 κ°€λŠ₯?

이 κ°œλ…μ€ μžλ™ν™”λœ μ†Œν”„νŠΈμ›¨μ–΄ 개발 도ꡬ, λ³΅μž‘ν•œ 데이터 뢄석 νŒŒμ΄ν”„λΌμΈ, λ‘œλ΄‡ 곡학 μ œμ–΄ μ‹œμŠ€ν…œ 등에 μ¦‰μ‹œ μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 특히, λŒ€κ·œλͺ¨ λ ˆκ±°μ‹œ μ½”λ“œλ₯Ό μœ μ§€λ³΄μˆ˜ν•˜κ±°λ‚˜ μƒˆλ‘œμš΄ κΈ°λŠ₯을 ν†΅ν•©ν•˜λŠ” β€˜κ°œλ°œμž μ—μ΄μ „νŠΈβ€™λ₯Ό ꡬ좕할 λ•Œ ν•„μˆ˜μ μΈ μ•„ν‚€ν…μ²˜κ°€ 될 κ²ƒμž…λ‹ˆλ‹€.

ν•„μš”ν•œ λ¦¬μ†ŒμŠ€

이 μ‹œμŠ€ν…œμ„ κ΅¬μΆ•ν•˜λ €λ©΄ κ°•λ ₯ν•œ μΆ”λ‘  λŠ₯λ ₯을 κ°€μ§„ LLM(예: GPT-4κΈ‰ λͺ¨λΈ)κ³Ό μ½”λ“œλ₯Ό μ•ˆμ „ν•˜κ²Œ μ‹€ν–‰ν•  수 μžˆλŠ” 격리된 μ‹€ν–‰ ν™˜κ²½(Sandbox, Docker λ“±)이 ν•„μš”ν•©λ‹ˆλ‹€. λ˜ν•œ, μ—μ΄μ „νŠΈ κ°„μ˜ λŒ€ν™” 기둝과 μ½”λ“œ μ‹€ν–‰ κ²°κ³Όλ₯Ό μ €μž₯ν•  수 μžˆλŠ” λŒ€μš©λŸ‰ 벑터 λ°μ΄ν„°λ² μ΄μŠ€ 및 μƒνƒœ μ €μž₯μ†Œκ°€ μš”κ΅¬λ©λ‹ˆλ‹€.

6. 이 논문을 μ΄ν•΄ν•˜κΈ° μœ„ν•œ 사전 지식

  • λŒ€κ·œλͺ¨ μ–Έμ–΄ λͺ¨λΈ(LLM): λ°©λŒ€ν•œ ν…μŠ€νŠΈ λ°μ΄ν„°λ‘œ ν•™μŠ΅λ˜μ–΄ μžμ—°μ–΄ 이해 및 생성 λŠ₯λ ₯을 κ°–μΆ˜ 인곡지λŠ₯ λͺ¨λΈμž…λ‹ˆλ‹€.
  • μ—μ΄μ „νŠΈ(Agent): μ‚¬μš©μžμ˜ λͺ©ν‘œλ₯Ό λ‹¬μ„±ν•˜κΈ° μœ„ν•΄ ν™˜κ²½μ„ μΈμ§€ν•˜κ³ , νŒλ‹¨ν•˜κ³ , λ…λ¦½μ μœΌλ‘œ ν–‰λ™ν•˜λŠ” 자율적인 μ‹œμŠ€ν…œμž…λ‹ˆλ‹€.
  • ν•˜λ„€μŠ€(Harness): μ‹œμŠ€ν…œμ΄λ‚˜ λͺ¨λΈμ„ μ œμ–΄ν•˜κ³  κ΄€λ¦¬ν•˜κΈ° μœ„ν•΄ μ™ΈλΆ€μ—μ„œ μ œκ³΅ν•˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄ κ³„μΈ΅μ΄λ‚˜ μž₯치λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.
  • ν”„λ‘¬ν”„νŠΈ μ—”μ§€λ‹ˆμ–΄λ§(Prompt Engineering): μ–Έμ–΄ λͺ¨λΈμ΄ μ›ν•˜λŠ” κ²°κ³Όλ₯Ό 내도둝 μž…λ ₯ν•˜λŠ” μžμ—°μ–΄ λͺ…λ Ήμ–΄λ₯Ό μ΅œμ ν™”ν•˜λŠ” κΈ°μˆ μž…λ‹ˆλ‹€.
  • λ©€ν‹° μ—μ΄μ „νŠΈ μ‹œμŠ€ν…œ(Multi-Agent System): μ—¬λŸ¬ 개의 μ—μ΄μ „νŠΈκ°€ μ„œλ‘œ ν˜‘λ ₯ν•˜κ±°λ‚˜ κ²½μŸν•˜λ©° 문제λ₯Ό ν•΄κ²°ν•˜λŠ” λΆ„μ‚° μ‹œμŠ€ν…œμž…λ‹ˆλ‹€.
  • μƒŒλ“œλ°•μŠ€(Sandbox): μ™ΈλΆ€ μ‹œμŠ€ν…œμ˜ λ³΄μ•ˆμ„ μœ„ν˜‘ν•˜μ§€ μ•Šλ„λ‘ ν”„λ‘œκ·Έλž¨μ„ 격리된 ν™˜κ²½μ—μ„œ μ‹€ν–‰ν•΄ ν…ŒμŠ€νŠΈν•˜λŠ” λ³΄μ•ˆ κΈ°λ²•μž…λ‹ˆλ‹€.
  • 체인 였브 사고(Chain of Thought): λͺ¨λΈμ΄ λ³΅μž‘ν•œ 문제λ₯Ό ν•΄κ²°ν•  λ•Œ 쀑간 λ‹¨κ³„μ˜ μΆ”λ‘  과정을 λ‹¨κ³„μ μœΌλ‘œ λ³΄μ—¬μ£ΌλŠ” 사고 λ°©μ‹μž…λ‹ˆλ‹€.

πŸ“š 이번 μ£Ό κ΄€λ ¨ Deep Dive

μˆœμœ„λ…Όλ¬ΈDeep Dive
πŸ₯‡CiteVQA: Benchmarking Evidence Attr…DD-092
πŸ₯ˆCode as Agent HarnessπŸ“ ν˜„μž¬ λ¬Έμ„œ
πŸ₯‰Anti-Self-Distillation for Reasonin…DD-094
4.DelTA: Discriminative Token Credit …DD-095
5.TransitLM: A Large-Scale Dataset an…DD-096

πŸ“… 생성일: 2026-05-24 | πŸ€– GLM-4.7 Deep Dive