# [[Software Engineering Agents (SWE)|Software Engineering Agents (SWE]] ## πŸ“Œ Brief Summary Software Engineering Agents(SWE Agents)λŠ” μ½”λ“œ μž‘μ„±, 버그 μˆ˜μ •, ν…ŒμŠ€νŠΈ μ‹€ν–‰, λ¦¬νŒ©ν† λ§ λ“± μ†Œν”„νŠΈμ›¨μ–΄ 개발 생λͺ…μ£ΌκΈ°(SDLC) μ „λ°˜μ˜ μž‘μ—…μ„ 자율적으둜 μˆ˜ν–‰ν•˜λ„λ‘ νŠΉν™”λœ AI μ—μ΄μ „νŠΈμ΄λ‹€. λ‹¨μˆœν•œ μ½”λ“œ 완성을 λ„˜μ–΄, λŒ€κ·œλͺ¨ μ½”λ“œλ² μ΄μŠ€μ˜ ꡬ쑰λ₯Ό νŒŒμ•…ν•˜κ³ , 터미널 도ꡬλ₯Ό ν™œμš©ν•˜λ©°, μ‹€μ œ μ‹€ν–‰ ν™˜κ²½μ—μ„œ 검증을 κ±°μΉ˜λŠ” '자율 μ—”μ§€λ‹ˆμ–΄' 역할을 μˆ˜ν–‰ν•œλ‹€. ## πŸ“– Core Content * **SWE-agent 및 ν”„λ ˆμž„μ›Œν¬**: Princeton의 SWE-agent와 같이 λͺ¨λΈμ΄ 파일 탐색기, νŽΈμ§‘κΈ°, 셸을 효율적으둜 μ‚¬μš©ν•  수 μžˆλ„λ‘ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ΅œμ ν™”ν•œ μ‹œμŠ€ν…œ. * **SWE-World (Docker-Free Environment)**: λ³΅μž‘ν•œ Docker μ„€μ • 없이도 μ—μ΄μ „νŠΈκ°€ μ•ˆμ „ν•˜κ³  격리된 ν™˜κ²½μ—μ„œ μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜κ³  ν…ŒμŠ€νŠΈν•  수 있게 μ§€μ›ν•˜λŠ” μ΄ˆκ²½λŸ‰ μ‹€ν–‰ ν™˜κ²½. * **μ½”λ“œλ² μ΄μŠ€ 탐색 (Navigation)**: λŒ€κ·œλͺ¨ ν”„λ‘œμ νŠΈμ—μ„œ κ΄€λ ¨ μžˆλŠ” 파일과 클래슀λ₯Ό μ°ΎκΈ° μœ„ν•΄ μ‹œλ§¨ν‹± 검색(RAG)κ³Ό ꡬ문 뢄석(AST)을 κ²°ν•©ν•˜μ—¬ μ»¨ν…μŠ€νŠΈλ₯Ό ꡬ성. * **자율 디버깅 루프**: μ—λŸ¬ 둜그 뢄석 -> κ°€μ„€ 수립 -> μ½”λ“œ μˆ˜μ • -> ν…ŒμŠ€νŠΈ μ‹€ν–‰ -> κ²°κ³Ό ν™•μΈμ˜ 과정을 λ°˜λ³΅ν•˜λ©° 버그λ₯Ό ν•΄κ²°. * **도ꡬ ν™œμš© ν‘œμ€€ν™”**: μ—μ΄μ „νŠΈκ°€ `grep`, `find`, `sed`와 같은 ν‘œμ€€ μœ λ‹‰μŠ€ λ„κ΅¬λ‚˜ `Language Server Protocol (LSP)`을 ν™œμš©ν•˜μ—¬ μ •λ°€ν•œ μ½”λ“œ μ‘°μž‘μ„ μˆ˜ν–‰. ## βš–οΈ Trade-offs & Caveats * **파괴적 μˆ˜μ •μ˜ μœ„ν—˜**: μ—μ΄μ „νŠΈκ°€ 잘λͺ»λœ νŒλ‹¨μœΌλ‘œ μ½”λ“œλ² μ΄μŠ€ μ „μ²΄μ˜ μ•„ν‚€ν…μ²˜λ₯Ό λ§κ°€λœ¨λ¦¬κ±°λ‚˜ μ€‘μš”ν•œ 데이터λ₯Ό μ‚­μ œν•  μœ„ν—˜μ΄ μžˆλ‹€. (κ°•λ ₯ν•œ μƒŒλ“œλ°•μ‹±κ³Ό Git 기반 λ‘€λ°± ν•„μˆ˜) * **μ§€μ—° μ‹œκ°„**: λŒ€κ·œλͺ¨ μ½”λ“œλ² μ΄μŠ€λ₯Ό λΆ„μ„ν•˜κ³  μˆ˜μ‹­ 번의 ν…ŒμŠ€νŠΈλ₯Ό λŒλ¦¬λŠ” κ³Όμ •μ—μ„œ 인간 κ°œλ°œμžλ³΄λ‹€ μž‘μ—… μ™„λ£Œ 속도가 느렀질 수 μžˆλ‹€. * **기술 뢀채 생성**: μ—μ΄μ „νŠΈκ°€ μž‘μ„±ν•œ μ½”λ“œκ°€ μž‘λ™μ€ ν•˜μ§€λ§Œ 가독성이 λ–¨μ–΄μ§€κ±°λ‚˜ ν™•μž₯성이 λΆ€μ‘±ν•œ 경우 μž₯기적인 기술 λΆ€μ±„λ‘œ 남을 수 μžˆλ‹€. ## πŸ”— Knowledge Connections ### Related Concepts * [[Agent Harness|Agent Harness]] * μ—°κ²° 이유: SWE μ—μ΄μ „νŠΈκ°€ μ‹€μ œ νŒŒμΌμ„ μˆ˜μ •ν•˜κ³  λͺ…령을 λ‚΄λ¦¬λŠ” λŸ°νƒ€μž„ κΈ°λ°˜μ΄λ‹€. * [[Execution Environment (Sandbox)|Execution Environment (Sandbox]] * μ—°κ²° 이유: μ½”λ“œλ₯Ό μ•ˆμ „ν•˜κ²Œ μ‹€ν–‰ν•˜κ³  κ²€μ¦ν•˜κΈ° μœ„ν•œ ν•„μˆ˜ 곡간이닀. * [[Reasoning & Planning|Reasoning & Planning]] * μ—°κ²° 이유: λ³΅μž‘ν•œ 버그 μˆ˜μ • κ³„νšμ„ μ„Έμš°λŠ” μ—μ΄μ „νŠΈμ˜ μ§€λŠ₯적 κΈ°λ°˜μ΄λ‹€. ### Deeper Research Questions * μ—μ΄μ „νŠΈκ°€ μž‘μ„±ν•œ μ½”λ“œμ˜ 'μœ μ§€λ³΄μˆ˜μ„±'κ³Ό '가독성'을 μˆ˜μΉ˜ν™”ν•˜μ—¬ V-componentμ—μ„œ μžλ™μœΌλ‘œ ν‰κ°€ν•˜λŠ” 기쀀은 무엇인가? * λ‹€μˆ˜μ˜ κ°œλ°œμžκ°€ μ°Έμ—¬ν•˜λŠ” ν”„λ‘œμ νŠΈμ—μ„œ μ—μ΄μ „νŠΈκ°€ PR(Pull Request) 리뷰 ν”Όλ“œλ°±μ„ μ΄ν•΄ν•˜κ³  자율적으둜 μˆ˜μ •λ³Έμ„ μ œμΆœν•˜λŠ” ν˜‘μ—… μ›Œν¬ν”Œλ‘œμš°μ˜ ν•œκ³„λŠ” 어디인가? * νŠΉμ • ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ‚˜ ν”„λ ˆμž„μ›Œν¬μ— νŠΉν™”λœ '도메인 지식 κ·Έλž˜ν”„'λ₯Ό κ²°ν•©ν–ˆμ„ λ•Œ SWE μ—μ΄μ „νŠΈμ˜ 버그 ν•΄κ²°λ₯  μƒμŠΉ 폭은 μ–΄λŠ 정도인가? ### Practical Application Contexts * **Implementation:** μ˜€ν”ˆμ†ŒμŠ€ ν”„λ‘œμ νŠΈμ˜ Issueλ₯Ό μž…λ ₯λ°›μ•„ μ—μ΄μ „νŠΈκ°€ μžλ™μœΌλ‘œ μˆ˜μ • μ½”λ“œμ™€ μœ λ‹› ν…ŒμŠ€νŠΈλ₯Ό ν¬ν•¨ν•œ PR을 μƒμ„±ν•˜λŠ” μžλ™ν™” νŒŒμ΄ν”„λΌμΈμ„ κ΅¬μΆ•ν•œλ‹€. * **System Design:** 사내 λ ˆκ±°μ‹œ μ½”λ“œμ˜ 기술 뢀채 해결을 μœ„ν•΄ μ—μ΄μ „νŠΈκ°€ μ μ§„μ μœΌλ‘œ λ¦¬νŒ©ν† λ§μ„ μˆ˜ν–‰ν•˜κ³ , λ³€κ²½ μ „ν›„μ˜ μ„±λŠ₯ 및 μ•ˆμ •μ„±μ„ 비ꡐ 리포트둜 μ œμΆœν•˜κ²Œ ν•œλ‹€. --- *Last updated: 2026-05-01*