Files
AX-Copilot-Codex/docs/SEMINAR_AGENT_LOOP.md

250 lines
14 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ?먯씠?꾪듃 猷⑦봽 ?꾪궎?띿쿂 ???뚰겕?뚮줈??鍮꾧탳 遺꾩꽍
> **?€??*: 湲곗닠 ?꾩썝 쨌 媛쒕컻 由щ뜑
> **珥덉젏**: ?먯씠?꾪듃 肄붾뵫 ?쒕퉬?ㅼ쓽 ?듭떖 ?뚰겕?뚮줈??援ъ“?€ ?덉쭏 蹂댁쬆 ?꾨왂
> **?묒꽦??*: 2026-03-31
---
## 1. ?먯씠?꾪듃 猷⑦봽?€?
AI 肄붾뵫/臾몄꽌 ?앹꽦 ?쒕퉬?ㅼ쓽 ?듭떖 ?붿쭊?€ **?먯씠?꾪듃 猷⑦봽**?낅땲??
```
?ъ슜???붿껌 ??[LLM ?먮떒] ??[?꾧뎄 ?ㅽ뻾] ??[寃곌낵 愿€李? ??[LLM ?ы뙋?? ??... ??理쒖쥌 ?묐떟
```
??諛섎났(iteration)??**?쇰쭏??吏€?μ쟻?쇰줈, ?쇰쭏???덉쭏 ?덇쾶 ?섑뻾?섎뒓??*媛€ ?쒕퉬??寃쎌웳?μ쓣 寃곗젙?⑸땲??
---
## 2. ?낃퀎 二쇱슂 ?쒕퉬???뚰겕?뚮줈??鍮꾧탳
### 2-1. OpenHands (?ㅽ뵂?뚯뒪, ICLR 2025)
OpenHands??CodeAct ?쇰Ц 湲곕컲???먯씠?꾪듃 ?꾨젅?꾩썙?ъ엯?덈떎.
```
?뚢??€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€???? AgentController ???? ???? while budget > 0: ???? action = agent.step(state) ??1 LLM ?몄텧 ???? observation = runtime.run(action) ???꾧뎄 ?ㅽ뻾???? state.update(action, observation) ???? if action == AgentFinishAction: ???? break ??LLM??"???대씪 ?먮떒?섎㈃ 醫낅즺 ???? ???? ??寃€利?寃€???④퀎: ?놁쓬 ???? ??怨꾪쉷 ?앹꽦: ?놁쓬 (LLM ?먯쑉 ?먮떒) ???붴??€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€??```
**?듭떖 ?뱀쭠**:
- **1 諛섎났 = 1 LLM ?몄텧 + 1 ?꾧뎄 ?ㅽ뻾** (怨좎젙)
- 怨꾪쉷(Plan) ?놁쓬 ??LLM??chain-of-thought???섏〈
- 寃€利?Review) ?놁쓬 ??LLM???뚯븘???ㅼ쓬 諛섎났?먯꽌 ?뺤씤?좎? 寃곗젙
- 醫낅즺??`AgentFinishAction` 諛섑솚?쇰줈 寃곗젙 (LLM ?먯쑉)
- **SecurityAnalyzer**: ?ㅽ뻾 ???꾪뿕???됯? (LOW/MEDIUM/HIGH) ???덉쭏 寃€利앹씠 ?꾨땶 **?덉쟾 寃뚯씠??*
**?μ젏**: ?⑥닚, 鍮좊쫫, 紐⑤뜽 臾닿?
**?쎌젏**: 臾몄꽌 ?앹꽦 ??寃€??蹂댁옣 ?놁쓬, LLM??"異⑸텇?섎떎"怨??먮떒?섎㈃ 誘몄셿???곹깭濡?醫낅즺
### 2-2. Claw Code (Sigmoid)
```
?뚢??€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€???? Claw Code Agent Loop ???? ???? while true: ???? response = llm.call(messages) ??1 LLM ?몄텧 ???? if no tool_calls: ???? break ???띿뒪?몃쭔 諛섑솚?섎㈃ 醫낅즺 ???? for tool in tool_calls: ???? result = execute(tool) ???? messages.append(result) ???? ???? ??寃€利??④퀎: ?놁쓬 (?쒖뒪???꾨\?꾪듃 沅뚭퀬留? ???? ??怨꾪쉷: SKILL.md ?꾨\?꾪듃濡??좊룄 ???붴??€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€??```
**?듭떖 ?뱀쭠**:
- OpenHands?€ ?숈씪??援ъ“ (1 諛섎났 = 1 LLM ?몄텧)
- 醫낅즺: ?꾧뎄 ?몄텧???놁쑝硫?醫낅즺 (OpenHands??AgentFinishAction怨??좎궗)
- 寃€利? ?쒖뒪???꾨\?꾪듃??"?뺤씤?섎씪"怨??묒꽦 媛€?ν븯?? **LLM??臾댁떆?????덉쓬**
- 李⑤퀎?? SKILL.md ?쒖??쇰줈 ?꾨찓?몃퀎 ?꾨\?꾪듃 而ㅼ뒪?곕쭏?댁쭠
### 2-3. Cursor / Windsurf / GitHub Copilot
紐⑤몢 ?숈씪??**?⑥씪 LLM ?몄텧 猷⑦봽** ?⑦꽩:
- Cursor: Tab ??Apply 湲곕컲, ?먯씠?꾪듃 紐⑤뱶?먯꽌??1?몄텧/諛섎났
- Windsurf (Cascade): Flow 湲곕컲?댁?留?猷⑦봽 援ъ“???숈씪
- GitHub Copilot: 肄붾뱶 ?꾩꽦 ?뱁솕, ?먯씠?꾪듃 紐⑤뱶??Claw Code?€ ?좎궗
**怨듯넻 ?쎌젏**: **臾몄꽌/肄붾뱶 ?앹꽦 ??"?쎌뼱???뺤씤"?섎뒗 ?꾪궎?띿쿂媛€ ?놁쓬**
---
## 3. ??寃€利??④퀎媛€ ?놁쓣源?
### 3-1. AgentFinishAction 臾몄젣
OpenHands??LLM??`AgentFinishAction`??諛섑솚?섎㈃ 猷⑦봽媛€ 醫낅즺?⑸땲??
```python
# OpenHands??醫낅즺 ?먮떒
if isinstance(action, AgentFinishAction):
return # LLM??"???대씪怨??섎㈃ ??```
**臾몄젣**: LLM??"?뚯씪???앹꽦?덉쑝?????대씪怨??먮떒?섎㈃, **?댁슜??遺덉셿?꾪빐??醫낅즺**?⑸땲??
?곕━????AgentFinishAction???ъ슜?섏? ?딅뒗媛€?
| ??ぉ | AgentFinishAction (OpenHands) | ?꾧뎄 ?몄텧 ?놁쓬 醫낅즺 (AX Copilot) |
|------|------------------------------|--------------------------------|
| 醫낅즺 ?먮떒 | LLM??紐낆떆?곸쑝濡?"finish" ?≪뀡 諛섑솚 | LLM???띿뒪?몃쭔 諛섑솚 (?꾧뎄 誘명샇異? |
| ?μ젏 | 紐낆떆?? 醫낅즺 ?댁쑀 ?ы븿 媛€??| 蹂꾨룄 ?≪뀡 ?뺤쓽 遺덊븘?? ?먯뿰?ㅻ윭???€???먮쫫 |
| ?⑥젏 | finish ?몄텧???딄굅???섎せ ?몄텧 媛€??| LLM???꾧뎄瑜?遺€瑜댁? ?딆쑝硫??섎룄移??딄쾶 醫낅즺 |
| 寃€利??€?대컢 | finish ?꾩뿉 寃€利??쎌엯 媛€??(誘멸뎄?? | ?꾧뎄 ?ㅽ뻾 ??利됱떆 寃€利??쎌엯 (援ы쁽 ?꾨즺) |
**?듭떖**: ????"LLM???뚯븘???앸궡????援ъ“?대?濡? **寃€利앹쓣 LLM?먭쾶 留↔린硫??앸왂???섎컰???놁뒿?덈떎.**
### 3-2. ?쒖뒪???꾨\?꾪듃留뚯쑝濡쒕뒗 遺€議?
```
?쒖뒪???꾨\?꾪듃: "臾몄꽌 ?묒꽦 ??諛섎뱶??file_read濡?寃곌낵臾쇱쓣 寃€?좏븯?몄슂"
```
??吏€?쒕? LLM???곕? ?뺣쪧:
- GPT-4/Sigmoid: **~60-70%** (蹂듭옟???묒뾽?먯꽌 臾댁떆 寃쏀뼢)
- Gemini Flash: **~40-50%** (臾대즺 紐⑤뜽?먯꽌 ???먯< ?앸왂)
- 濡쒖뺄 紐⑤뜽 (Ollama): **~30%** (而⑦뀓?ㅽ듃 湲몄뼱吏€硫?珥덇린 吏€???ъ꽍)
??**?꾪궎?띿쿂 ?섏??먯꽌 媛뺤젣?댁빞 ?좊ː???뺣낫 媛€??*
---
## 4. 寃€利?媛뺤젣 ?꾪궎?띿쿂 (AX Copilot 援ы쁽)
### 4-1. 湲곗〈 援ъ“ (v1.7.0)
```
諛섎났 1: LLM ?몄텧 ??"file_read濡??꾩옱 ?뚯씪 ?뺤씤?섍쿋?듬땲??
?꾧뎄 ?ㅽ뻾: file_read ???뚯씪 ?댁슜 諛섑솚
諛섎났 2: LLM ?몄텧 ??"html_create濡?蹂닿퀬?쒕? ?앹꽦?섍쿋?듬땲??
?꾧뎄 ?ㅽ뻾: html_create ??"蹂닿퀬??html ?앹꽦 ?꾨즺"
諛섎났 3: LLM ?몄텧 ??"蹂닿퀬?쒓? ?꾩꽦?섏뿀?듬땲??" (?띿뒪?몃쭔 = 猷⑦봽 醫낅즺)
???앹꽦???뚯씪???쎌뼱???뺤씤?섏? ?딆쓬!
```
### 4-2. 媛쒖꽑 援ъ“ (v1.7.1 ??寃€利?媛뺤젣)
```
諛섎났 1: LLM ?몄텧 ??"file_read濡??꾩옱 ?뚯씪 ?뺤씤?섍쿋?듬땲??
?꾧뎄 ?ㅽ뻾: file_read ???뚯씪 ?댁슜 諛섑솚
諛섎났 2: LLM ?몄텧 ??"html_create濡?蹂닿퀬?쒕? ?앹꽦?섍쿋?듬땲??
?꾧뎄 ?ㅽ뻾: html_create ??"蹂닿퀬??html ?앹꽦 ?꾨즺"
?뚢??€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?? ????寃€利?媛뺤젣 (?먮룞 ?쎌엯) ?? ?? ?? ???쒖뒪?? "?앹꽦???뚯씪??file_read濡??쎄퀬 ?? ?? ?댁슜 ?꾩쟾?? 援ъ“, 留욎땄踰뺤쓣 ?뺤씤?섏꽭?? ?? ?? ?? ??LLM ?몄텧 (寃€利??꾩슜) ?? ????file_read ?ㅽ뻾 ???댁슜 ?뺤씤 ?? ????臾몄젣 ?덉쑝硫??섏젙 ?꾧뎄 ?몄텧 ?? ????臾몄젣 ?놁쑝硫?"寃€利??꾨즺" 蹂닿퀬 ?? ?붴??€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€??
諛섎났 3: LLM ?몄텧 ??"蹂닿퀬?쒓? ?꾩꽦?섏뿀?듬땲??" (寃€利??듦낵 ??醫낅즺)
```
### 4-3. 肄붾뱶 ?먮쫫 (?섏궗肄붾뱶)
```csharp
while (iteration < maxIterations)
{
var blocks = await llm.SendWithToolsAsync(messages, tools);
foreach (var call in toolCalls)
{
var result = await tool.ExecuteAsync(call);
messages.Add(CreateToolResult(result));
// ??寃€利?媛뺤젣: 臾몄꽌 ?앹꽦 ?꾧뎄 ?ㅽ뻾 ???먮룞 ?쎌엯
if (settings.EnablePostToolVerification
&& IsDocumentCreationTool(call.ToolName)
&& result.Success)
{
// 寃€利??꾩슜 LLM ?몄텧 (file_read ?좊룄)
await RunPostToolVerificationAsync(messages, call, result);
iteration++; // 寃€利앸룄 諛섎났 ?잛닔???ы븿
}
}
if (no tool calls) break; // ?띿뒪?몃쭔 = 醫낅즺
}
```
---
## 5. 遺€議깊븳 遺€遺꾧낵 ?ν썑 媛쒕컻 諛⑺뼢
### 5-1. ?꾩옱 遺€議깊븳 ?곸뿭
| ?곸뿭 | ?꾩옱 ?곹깭 | OpenHands 鍮꾧탳 | 媛쒖꽑 ?꾩슂??|
|------|----------|---------------|-----------|
| **Multi-Agent ?꾩엫** | ??誘멸뎄??| ??AgentDelegateAction | ?믪쓬 ??蹂듭옟???묒뾽???섏쐞 ?먯씠?꾪듃??遺꾪븷 |
| **Event-Sourced State** | 遺€遺?援ы쁽 (Events 而щ젆?? | ??遺덈? ?대깽???ㅽ듃由?| 以묎컙 ???ъ떎???붾쾭源낆뿉 ?좎슜 |
| **SecurityAnalyzer** | Ask 紐⑤뱶 沅뚰븳 ?뺤씤 | ???꾪뿕???먮룞 遺꾨쪟 | ??쓬 ???щ궡 ?섍꼍?먯꽌 ?곗꽑?쒖쐞 ??쓬 |
| **CodeAct ?듯빀 ?≪뀡** | ?꾧뎄蹂?遺꾨━ | ??bash+Python ?듯빀 | ??쓬 ???꾩옱 ?꾧뎄 泥닿퀎濡?異⑸텇 |
| **寃€利?源딆씠** | ?⑥씪 寃€利??몄텧 | ?대떦 ?놁쓬 | 以묎컙 ??蹂듭닔 湲곗?蹂?寃€利?媛€??|
| **寃€利??€???뺣?** | 臾몄꽌 ?앹꽦 ?꾧뎄留?| ?대떦 ?놁쓬 | 以묎컙 ??肄붾뱶 ?앹꽦 ?꾩뿉??寃€利??꾩슂 |
### 5-2. ?ν썑 媛쒕컻 怨꾪쉷
#### Phase A: 寃€利?怨좊룄??(?④린)
| 湲곕뒫 | ?ㅻ챸 | ?덉긽 怨듭닔 |
|------|------|----------|
| 寃€利?湲곗? 而ㅼ뒪?곕쭏?댁쭠 | ?ㅼ젙?먯꽌 寃€利?泥댄겕由ъ뒪?몃? ?ъ슜?먭? ?몄쭛 | ??쓬 |
| 肄붾뱶 寃€利??뺣? | `script_create`, `file_edit` ?꾩뿉??寃€利?(援щЦ ?ㅻ쪟 寃€?? | ??쓬 |
| 寃€利?寃곌낵 UI ?쒖떆 | ?뚰겕?뚮줈???€?꾨씪?몄뿉 "??寃€利??듦낵" / "???섏젙 諛쒖깮" 諛곗? | ??쓬 |
| 寃€利??듦퀎 | 寃€利앹뿉??臾몄젣 諛쒓껄/?섏젙??鍮꾩쑉 異붿쟻 | ??쓬 |
#### Phase B: 硫€?곗뿉?댁쟾???꾩엫 (以묎린)
OpenHands??`AgentDelegateAction` ?⑦꽩??李멸퀬?섎릺, ?щ궡 ?섍꼍??留욊쾶:
```
[硫붿씤 ?먯씠?꾪듃]
?쒋??€ [由ъ꽌移??먯씠?꾪듃] ??file_read, grep, folder_map ?꾨떞
?쒋??€ [臾몄꽌 ?먯씠?꾪듃] ??html_create, docx_create ?꾨떞
?붴??€ [寃€利??먯씠?꾪듃] ??file_read + ?덉쭏 ?됯? ?꾨떞 ??寃€利?遺꾨━!
```
| 湲곕뒫 | ?ㅻ챸 | ?덉긽 怨듭닔 |
|------|------|----------|
| AgentDelegateAction | ?섏쐞 ?먯씠?꾪듃 ?꾩엫 ?≪뀡 ?뺤쓽 | 以묎컙 |
| ?먯씠?꾪듃蹂??꾧뎄 ?쒗븳 | 由ъ꽌移??쎄린留? 臾몄꽌=?곌린留???| ??쓬 |
| 寃€利??먯씠?꾪듃 遺꾨━ | ?앹꽦怨?寃€利앹쓣 ?ㅻⅨ ?먯씠?꾪듃濡?| 以묎컙 |
#### Phase C: Reflexion ?⑦꽩 (?κ린)
Reflexion ?쇰Ц(Shinn et al., 2023)???먭린 諛섏꽦 ?⑦꽩 媛뺥솕:
```
?ㅽ뻾 ??寃곌낵 ???먭린 ?됯? ??諛섏꽦 硫붾え由??€?????ㅼ쓬 ?쒕룄??諛섏쁺
```
?꾩옱 Self-Reflection?€ **?ㅻ쪟 諛쒖깮 ?쒖뿉留?* ?숈옉. ?대? **?깃났 ?쒖뿉??* ?곸슜:
- "??臾몄꽌???ъ슜???붽뎄瑜?80% 異⑹”. 誘명씉 ?? ?쒓? ?꾨씫??
- 諛섏꽦 寃곌낵瑜?AgentMemory???€????媛숈? ?좏삎 ?묒뾽 ??李멸퀬
---
## 6. ?뺣━
### ?듭떖 硫붿떆吏€
```
?뚢??€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€???? ???? ?낃퀎 紐⑤뱺 ?먯씠?꾪듃 猷⑦봽??"1諛섎났 = 1 LLM ?몄텧" ???? 寃€利?Review)??媛뺤젣?섎뒗 ?꾪궎?띿쿂???대뵒?먮룄 ?놁뿀?? ???? ???? AX Copilot?€ "寃€利?媛뺤젣"瑜??꾪궎?띿쿂 ?섏??먯꽌 援ы쁽 ???? ??臾몄꽌 ?덉쭏 蹂댁쬆??李⑤퀎???ъ씤?? ???? ???붴??€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€??```
### 鍮꾧탳 ?붿빟
| ??ぉ | OpenHands | Claw Code | AX Copilot |
|------|-----------|-------------|------------|
| 諛섎났??LLM ?몄텧 | 1??| 1??| 1??+ 寃€利?1??|
| 怨꾪쉷 ?앹꽦 | ??| ??| ??PlanMode |
| 寃€利?媛뺤젣 | ??| ??| ??PostToolVerification |
| ?먭린 諛섏꽦 | ??| ??| ??Self-Reflection |
| 而⑦뀓?ㅽ듃 ?뺤텞 | ??| ??| ??ContextCondenser |
| ?ъ슜???뱀씤 | SecurityAnalyzer | 沅뚰븳 ?꾨\?꾪듃 | UserDecisionCallback |
| 吏꾪뻾瑜?異붿쟻 | ??| ??| ??TaskDecomposer |
| ?쇰뱶諛??숈뒿 | ??| ??| ??FeedbackContext |
### ?뚰겕?뚮줈???꾩껜 鍮꾧탳??
```
OpenHands:
?붿껌 ??[LLM] ??[?꾧뎄] ??[LLM] ??[?꾧뎄] ??[LLM: "??] ???묐떟
??寃€利??놁쓬
Claw Code:
?붿껌 ??[LLM] ??[?꾧뎄] ??[LLM] ??[?꾧뎄] ??[LLM: ?띿뒪?몃쭔] ???묐떟
??寃€利??놁쓬
AX Copilot (v1.7.1):
?붿껌 ??[怨꾪쉷 LLM] ???뱀씤 ??[LLM] ??[?꾧뎄] ??[?낃?利?LLM?? ??[LLM] ???묐떟
??PlanMode ???ㅽ뻾 ???앹꽦 ??媛뺤젣 ?뺤씤 ???꾨즺
```
---
*?묒꽦: AX Copilot 媛쒕컻?€ 쨌 2026-03-31*