# [[E-component (Execution Loop)|E-component (Execution Loop)]] ## πŸ“Œ Brief Summary E-component(Execution Loop)λŠ” μ—μ΄μ „νŠΈ ν•˜λ„€μŠ€μ˜ '심μž₯'에 ν•΄λ‹Ήν•˜λŠ” ꡬ성 μš”μ†Œλ‘œ, μ—μ΄μ „νŠΈκ°€ λͺ©ν‘œλ₯Ό 달성할 λ•ŒκΉŒμ§€ μˆ˜ν–‰ν•˜λŠ” **κ΄€μ°°(Observe) - 사고(Think) - 행동(Act)** 루프λ₯Ό μ œμ–΄ν•˜κ³  κ΄€λ¦¬ν•œλ‹€. μ—μ΄μ „νŠΈμ˜ 생λͺ… μ£ΌκΈ°λ₯Ό μœ μ§€ν•˜λ©°, μ–Έμ œ λͺ¨λΈμ„ ν˜ΈμΆœν•˜κ³  μ–Έμ œ 도ꡬλ₯Ό μ‹€ν–‰ν• μ§€, 그리고 μž‘μ—…μ΄ μ™„λ£Œλ˜μ—ˆλŠ”μ§€λ₯Ό νŒλ‹¨ν•˜λŠ” 결정둠적(Deterministic) 흐름 μ œμ–΄ 계측이닀. ## πŸ“– Core Content * **루프 μ œμ–΄ μ „λž΅**: * **κ³ μ • 반볡 (Fixed Iteration)**: 사전에 μ •μ˜λœ 횟수만큼 루프λ₯Ό μ‹€ν–‰. * **쑰건 기반 μ’…λ£Œ (Condition-based)**: λͺ¨λΈμ΄ "μ™„λ£Œ" μ‹ ν˜Έλ₯Ό λ³΄λ‚΄κ±°λ‚˜, νŠΉμ • 결과값에 λ„λ‹¬ν–ˆμ„ λ•Œ μ’…λ£Œ. * **자기 λ°˜μ„± (Self-Correction)**: 루프 λ‚΄λΆ€μ—μ„œ 이전 ν–‰λ™μ˜ κ²°κ³Όλ₯Ό ν‰κ°€ν•˜κ³  λ‹€μŒ 행동을 μˆ˜μ •ν•˜λŠ” 단계(Reflexion)λ₯Ό 포함. * **μƒνƒœ 전이 관리 (State Transition)**: λ£¨ν”„μ˜ 각 λ‹¨κ³„μ—μ„œ μ—μ΄μ „νŠΈμ˜ λ‚΄λΆ€ μƒνƒœκ°€ μ–΄λ–»κ²Œ λ³€ν•˜λŠ”μ§€ μΆ”μ ν•˜λ©°, 였λ₯˜ λ°œμƒ μ‹œ 이전 μƒνƒœλ‘œ 볡ꡬ(Rollback)ν•˜κ±°λ‚˜ μž¬μ‹œλ„(Retry)ν•˜λŠ” λ‘œμ§μ„ μˆ˜ν–‰ν•œλ‹€. * **비동기 μž‘μ—… 관리**: μž₯μ‹œκ°„ μ‹€ν–‰λ˜λŠ” λ„κ΅¬λ‚˜ μ™ΈλΆ€ API 호좜 μ‹œ 루프가 λ©ˆμΆ”μ§€ μ•Šλ„λ‘ 비동기 슀트리밍과 이벀트 λŒ€κΈ° λ©”μ»€λ‹ˆμ¦˜μ„ κ΄€λ¦¬ν•œλ‹€. * **휴먼-인-더-루프 (HITL) κ°œμž…**: λ£¨ν”„μ˜ νŠΉμ • μ§€μ μ—μ„œ μΈκ°„μ˜ μŠΉμΈμ„ κΈ°λ‹€λ¦¬κ±°λ‚˜ ν”Όλ“œλ°±μ„ λ°›μ•„ μž‘μ—… λ°©ν–₯을 μˆ˜μ •ν•˜λŠ” 쀑단점(Breakpoints)을 μ œμ–΄ν•œλ‹€. * **토큰 및 λΉ„μš© κ°€λ“œλ ˆμΌ**: λ¬΄ν•œ 루프에 λΉ μ Έ 토큰을 κ³Όλ„ν•˜κ²Œ μ†Œλͺ¨ν•˜λŠ” 것을 λ°©μ§€ν•˜κΈ° μœ„ν•΄ μ΅œλŒ€ μ‹€ν–‰ μ‹œκ°„μ΄λ‚˜ λΉ„μš© ν•œλ„λ₯Ό κ°•μ œν•œλ‹€. ## βš–οΈ Trade-offs & Caveats * **루프 κΉŠμ΄μ™€ 정확도**: 루프λ₯Ό 많이 돌수둝 결과의 ν’ˆμ§ˆμ€ ν–₯상될 수 μžˆμœΌλ‚˜(Test-time scaling), μ§€μ—° μ‹œκ°„κ³Ό λΉ„μš©μ΄ λΉ„λ‘€ν•΄μ„œ μ¦κ°€ν•œλ‹€. * **λ¬΄ν•œ 루프 리슀크**: λͺ¨λΈμ΄ λ™μΌν•œ 잘λͺ»λœ 행동을 λ°˜λ³΅ν•˜λ©° 루프λ₯Ό νƒˆμΆœν•˜μ§€ λͺ»ν•˜λŠ” '논리적 λ°λ“œλ½'에 빠질 수 μžˆλ‹€. * **μƒνƒœ 폭발**: 루프가 κΈΈμ–΄μ§ˆμˆ˜λ‘ μ»¨ν…μŠ€νŠΈμ— μŒ“μ΄λŠ” 데이터가 λ§Žμ•„μ Έ λͺ¨λΈμ˜ μ„±λŠ₯이 μ €ν•˜(Context Rot)될 수 μžˆλ‹€. ## πŸ”— Knowledge Connections ### Related Concepts * [[Agent Harness|Agent Harness]] * μ—°κ²° 이유: E-componentλŠ” ν•˜λ„€μŠ€μ˜ μ‹€ν–‰ 주체이닀. * [[C-component (Context Manager)|C-component (Context Manager)]] * μ—°κ²° 이유: 루프가 ν•œ 번 돌 λ•Œλ§ˆλ‹€ C-componentκ°€ κ°±μ‹ λœ μ»¨ν…μŠ€νŠΈλ₯Ό 곡급해야 ν•œλ‹€. * [[Self-verification|Self-verification]] * μ—°κ²° 이유: E-component λ‚΄μ—μ„œ 결과의 신뒰성을 κ²€μ¦ν•˜λŠ” 핡심 기법이닀. ### Deeper Research Questions * μ—μ΄μ „νŠΈκ°€ μž‘μ—…μ˜ 'λ‚œμ΄λ„'λ₯Ό 슀슀둜 ν‰κ°€ν•˜μ—¬ λ£¨ν”„μ˜ λ³΅μž‘λ„λ₯Ό λ™μ μœΌλ‘œ μ‘°μ ˆν•˜λŠ” μŠ€μΌ€μ€„λ§ μ•Œκ³ λ¦¬μ¦˜μ€ 무엇인가? * 닀쀑 μ—μ΄μ „νŠΈ ν˜‘μ—… μ‹œ, μ—¬λŸ¬ μ—μ΄μ „νŠΈμ˜ κ°œλ³„ μ‹€ν–‰ 루프λ₯Ό ν•˜λ‚˜μ˜ μƒμœ„ 루프(Orchestration Loop)둜 ν†΅ν•©ν•˜λŠ” 효율적인 방법은 무엇인가? * 루프 μ‹€ν–‰ 쀑 λ°œμƒν•˜λŠ” 쀑간 μ‚°μΆœλ¬Ό(Intermediate thoughts) 쀑 μ–΄λ–€ 정보가 μ΅œμ’… κ²°κ³Ό 도달에 κ²°μ •μ μ΄μ—ˆλŠ”μ§€λ₯Ό λΆ„μ„ν•˜μ—¬ ν–₯ν›„ 루프λ₯Ό μ΅œμ ν™”ν•˜λŠ” 기법은 무엇인가? ### Practical Application Contexts * **Implementation:** `while` 루프 λ‚΄μ—μ„œ `agent.think()`와 `agent.act()`λ₯Ό ν˜ΈμΆœν•˜κ³ , 각 λ‹¨κ³„μ˜ κ²°κ³Όλ₯Ό `AgentHistory`에 κΈ°λ‘ν•˜λŠ” ꡬ쑰둜 κ΅¬ν˜„ν•œλ‹€. * **System Design:** μ›Ή μ„œλΉ„μŠ€ ν™˜κ²½μ—μ„œ μ—μ΄μ „νŠΈ μ‹€ν–‰ 루프λ₯Ό λ°±κ·ΈλΌμš΄λ“œ μž‘μ—…(Celery, Redis λ“±)으둜 μ²˜λ¦¬ν•˜μ—¬ μ‚¬μš©μžμ˜ 연결이 λŠκ²¨λ„ μž‘μ—…μ΄ μ™„λ£Œλ˜λ„λ‘ μ„€κ³„ν•œλ‹€. --- *Last updated: 2026-05-01*