โ† ่ฟ”ๅ›ž Skill ๅˆ—่กจ
extension
ๅˆ†็ฑป: ๅ…ถๅฎƒๆ— ้œ€ API Key

Self-Evolving Agent ๐Ÿง 

AI ๅŠฉ็†่‡ชๅŠจๅˆ†ๆž่‡ช่บซๆ—ฅๅฟ—๏ผŒไธบ AGENTS.md ๆไพ›ๆ”น่ฟ›ๅปบ่ฎฎใ€‚v5.0๏ผš่ฏญไน‰ๅตŒๅ…ฅ๏ผˆOllama nomic-embed-text๏ผŒ่ฏฏๆŠฅ็އ็บฆ8%๏ผ‰๏ผŒๅฎžๆ—ถๆตๅผ็›‘ๆŽง๏ผˆ<30็ง’ๅ‘Š่ญฆ๏ผ‰๏ผŒๅคšๅฎžไพ‹ fleet ๅˆ†ๆžใ€‚v4.3๏ผšๅฏน่ฏๅผๅฎกๆ‰น๏ผŒๅคšๆ ผๅผๆŠฅๅ‘Š๏ผŒGi...

Self-Evolving Agent ๐Ÿง  (v5.0.0)

๋งค์ฃผ ๋กœ๊ทธ๋ฅผ ์ฝ๊ณ , ์‹œ๋งจํ‹ฑ ์ž„๋ฒ ๋”ฉ์œผ๋กœ ์˜๋ฏธ๋ก ์  ํŒจํ„ด์„ ์ฐพ๊ณ , ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง์œผ๋กœ ์ฆ‰๊ฐ ์•Œ๋ฆฌ๊ณ , ํšจ๊ณผ๊ฐ€ ์ธก์ •๋œ AGENTS.md ๊ฐœ์„ ์•ˆ์„ ์ œ์•ˆํ•˜๋Š” ์ž๋™ํ™” ์‹œ์Šคํ…œ.
์ œ์•ˆ๋งŒ ํ•ฉ๋‹ˆ๋‹ค. AGENTS.md๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์Šน์ธํ•ด์•ผ๋งŒ ์ˆ˜์ •๋ฉ๋‹ˆ๋‹ค.


์†”์งํ•œ ์„ค๋ช…

์ด ์Šคํ‚ฌ์€ "AI ์ž๊ธฐ์ง„ํ™”"๋ผ๋Š” ์ด๋ฆ„์„ ๋‹ฌ๊ณ  ์žˆ์ง€๋งŒ ์‹ค์ œ ๋™์ž‘์€ ํˆฌ๋ช…ํ•ฉ๋‹ˆ๋‹ค:

  1. ์‹ค์‹œ๊ฐ„: ์ŠคํŠธ๋ฆฌ๋ฐ ๋ชจ๋‹ˆํ„ฐ๊ฐ€ ๋กœ๊ทธ๋ฅผ ๊ฐ์‹œ, ์ž„๊ณ„์น˜ ์ดˆ๊ณผ ์‹œ ์ฆ‰๊ฐ ์•Œ๋ฆผ
  2. ๋งค์ฃผ ์ผ์š”์ผ 22์‹œ: 6๋‹จ๊ณ„ ํŒŒ์ดํ”„๋ผ์ธ ์‹œ์ž‘
  3. ์ˆ˜์ง‘ ์—์ด์ „ํŠธ: ๋กœ๊ทธ ์Šค์บ” + ์‹ค์‹œ๊ฐ„ ์•Œ๋ฆผ ํ†ตํ•ฉ
  4. ์ž„๋ฒ ๋”ฉ ๋ถ„์„ ์—์ด์ „ํŠธ: Ollama ์‹œ๋งจํ‹ฑ ์ž„๋ฒ ๋”ฉ์œผ๋กœ ์˜๋ฏธ๋ก ์  ํŒจํ„ด ๊ฐ์ง€
  5. ํŠธ๋ Œ๋“œ ์—์ด์ „ํŠธ: 4์ฃผ๊ฐ„ ํŒจํ„ด ์ถ”์„ธ ๋น„๊ต (Emerging/Resolved)
  6. ํ”Œ๋ฆฟ ์—์ด์ „ํŠธ: ๋‹ค์ค‘ ์—์ด์ „ํŠธ ์ธ์Šคํ„ด์Šค ๊ต์ฐจ ๋ถ„์„
  7. ๋ฒค์น˜๋งˆํฌ ์—์ด์ „ํŠธ: ์ด์ „ ์ œ์•ˆ ํšจ๊ณผ ์ธก์ • (๊ฐœ์„ ๋๋‚˜? ์•…ํ™”๋๋‚˜?)
  8. ํ•ฉ์„ฑ ์—์ด์ „ํŠธ: ์ „์ฒด ๋ฐ์ดํ„ฐ ์ข…ํ•ฉ โ†’ ์ œ์•ˆ ์ดˆ์•ˆ ์ž‘์„ฑ
  9. Discord๋กœ ์ „์†ก โ†’ ์‚ฌ์šฉ์ž ์Šน์ธ ํ•„์š”

๊ณผ๋Œ€ ๊ด‘๊ณ  ์•„๋‹™๋‹ˆ๋‹ค. ์™„๋ฒฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ v4.x๋ณด๋‹ค ํ›จ์”ฌ ์ •ํ™•ํ•ฉ๋‹ˆ๋‹ค.

v5.0์—์„œ ๋‹ฌ๋ผ์ง„ ๊ฒƒ (2026-02-18):

  • ์‹œ๋งจํ‹ฑ ์ž„๋ฒ ๋”ฉ (Pillar 1): sea patterns โ€” Ollama nomic-embed-text ๋กœ์ปฌ ์ž„๋ฒ ๋”ฉ์œผ๋กœ ์˜๋ฏธ๋ก ์  ๋ถˆ๋งŒ ๊ฐ์ง€, FP ~15% โ†’ ~8%
  • ์ŠคํŠธ๋ฆฌ๋ฐ ๋ชจ๋‹ˆํ„ฐ (Pillar 2): sea monitor โ€” ์‹ค์‹œ๊ฐ„ ๋กœ๊ทธ ๊ฐ์‹œ, ์ž„๊ณ„์น˜ ์ดˆ๊ณผ ์ฆ‰๊ฐ ์•Œ๋ฆผ (<30์ดˆ)
  • ํ”Œ๋ฆฟ ๋ถ„์„ (Pillar 3): sea fleet โ€” ๋‹ค์ค‘ ์—์ด์ „ํŠธ ์ธ์Šคํ„ด์Šค ๊ต์ฐจ ๋ถ„์„
  • ํŠธ๋ Œ๋“œ ๋ถ„์„: sea trends โ€” 4์ฃผ๊ฐ„ ํŒจํ„ด ์ถ”์„ธ (Emerging/Resolved/Stable)
  • ํด๋ฐฑ ๋‚ด์„ฑ: Ollama ์˜คํ”„๋ผ์ธ ์‹œ v4 ํœด๋ฆฌ์Šคํ‹ฑ ์ž๋™ ํด๋ฐฑ (์‹œ์Šคํ…œ ์ค‘๋‹จ ์—†์Œ)
  • ์‹ ๊ทœ CLI: sea monitor, sea alerts, sea trends, sea patterns, sea fleet

v4.3์—์„œ ๋‹ฌ๋ผ์ง„ ๊ฒƒ:

  • ๋Œ€ํ™”ํ˜• ์Šน์ธ: sea watch โ€” 30์ดˆ ํด๋ง, macOS ๋ฐ์Šคํฌํƒ‘ ์•Œ๋ฆผ, ํ„ฐ๋ฏธ๋„ ๋Œ€ํ™”ํ˜• approve/reject
  • Discord ๋ฆฌ์•ก์…˜ ์ง€์‹œ: ์ œ์•ˆ ์ „๋‹ฌ ์‹œ โœ… โŒ ๐Ÿ” ๋ฆฌ์•ก์…˜ ์ง€์‹œ ์ž๋™ ์ถ”๊ฐ€
  • ๋ฉ€ํ‹ฐํฌ๋งท ๋ฆฌํฌํŠธ: sea export โ€” markdown/html/json/pdf/all ํ˜•์‹ ์ง€์›
  • GitHub Issues: sea github โ€” ์ œ์•ˆ๋ณ„ ์ด์Šˆ ์ƒ์„ฑ, ์Šน์ธ ์‹œ ์ž๋™ ์ข…๋ฃŒ, ๋ ˆ์ด๋ธ” ๊ด€๋ฆฌ

v4.2์—์„œ ๋‹ฌ๋ผ์ง„ ๊ฒƒ:

  • Ollama/๋กœ์ปฌ LLM ์™„์ „ ์ง€์›: config.yaml์—์„œ provider: "ollama" ์„ค์ • ํ•œ ์ค„๋กœ ์ „ํ™˜
  • Zero-Cost ๋ชจ๋“œ: Ollama + provider: "none" ์กฐํ•ฉ์œผ๋กœ API ๋น„์šฉ $0.00/์ฃผ ์šด์˜
  • ๋ฒ”์šฉ LLM ์ธํ„ฐํŽ˜์ด์Šค: scripts/v4/llm-call.sh โ€” anthropic/openai/ollama/none ํ†ตํ•ฉ
  • ํ•ฉ์„ฑ ๋‹จ๊ณ„ LLM ๊ฐ•ํ™”: synthesize-proposal.sh๊ฐ€ llm-call.sh๋ฅผ ํ†ตํ•ด AI ์ œ์•ˆ ์ƒ์„ฑ

v4.1์—์„œ ๋‹ฌ๋ผ์ง„ ๊ฒƒ:

  • ์˜์–ด + ํ•œ๊ตญ์–ด ๋ถˆ๋งŒ ํŒจํ„ด ๋™์‹œ ์ง€์›: config.yaml์—์„œ ko / en ๋ถ„๋ฆฌ ๊ตฌ์กฐ
  • ์ž๋™ ์–ธ์–ด ๊ฐ์ง€: ์„ธ์…˜ ์ฒซ 10๊ฐœ user ๋ฉ”์‹œ์ง€ ์ค‘ >50%์— ํ•œ๊ธ€์ด๋ฉด ko, ์•„๋‹ˆ๋ฉด en ํŒจํ„ด ์ ์šฉ
  • config.yaml์˜ auto_detect: true ์„ค์ •์œผ๋กœ ์ œ์–ด ๊ฐ€๋Šฅ

v4.0์—์„œ ๋‹ฌ๋ผ์ง„ ๊ฒƒ:

  • ๋ฉ€ํ‹ฐ์—์ด์ „ํŠธ ํŒŒ์ดํ”„๋ผ์ธ: ๋‹จ์ผ Claude ํ˜ธ์ถœ โ†’ 4๊ฐœ ์ „๋ฌธ ์—์ด์ „ํŠธ ํ˜‘๋ ฅ
  • ๊ตฌ์กฐ์  ํœด๋ฆฌ์Šคํ‹ฑ ๋ถ„์„: ์ˆœ์ˆ˜ ํ‚ค์›Œ๋“œ ๋งค์นญ โ†’ ๋ฌธ๋งฅยท์œ„์น˜ยท์—ญํ•  ๊ณ ๋ คํ•œ ํŒจํ„ด ๋ถ„์„
  • ํšจ๊ณผ ์ธก์ • ๋ฃจํ”„: ์ œ์•ˆ ์ ์šฉ ํ›„ ์‹ค์ œ๋กœ ๋„์›€๋๋Š”์ง€ ๋‹ค์Œ ์ฃผ๊ธฐ์— ์ธก์ •
  • False positive ๊ฐ์†Œ: ~40% โ†’ ์ถ”์ • ~15%

ํŒŒ์ผ ๊ตฌ์กฐ

~/openclaw/skills/self-evolving-agent/
โ”œโ”€โ”€ SKILL.md                        โ† ์ด ํŒŒ์ผ
โ”œโ”€โ”€ README.md                       โ† ์˜์–ด, ClawHub ๋ฐฐํฌ์šฉ
โ”œโ”€โ”€ _meta.json                      โ† ClawHub ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ
โ”œโ”€โ”€ config.yaml                     โ† ์„ค์ • ํŒŒ์ผ
โ”œโ”€โ”€ scripts/
โ”‚   โ”œโ”€โ”€ analyze-behavior.sh         โ† v3.0 ๋ถ„์„ (ํ•˜์œ„ ํ˜ธํ™˜ ์œ ์ง€)
โ”‚   โ”œโ”€โ”€ generate-proposal.sh        โ† v3.0 ์ œ์•ˆ ์ƒ์„ฑ
โ”‚   โ”œโ”€โ”€ register-cron.sh            โ† ํฌ๋ก  ๋“ฑ๋ก/์—…๋ฐ์ดํŠธ
โ”‚   โ”œโ”€โ”€ lib/
โ”‚   โ”‚   โ””โ”€โ”€ config-loader.sh        โ† config.yaml ํŒŒ์„œ
โ”‚   โ”œโ”€โ”€ v4/                         โ† v4.0 ํŒŒ์ดํ”„๋ผ์ธ (ํ•˜์œ„ ํ˜ธํ™˜ ์œ ์ง€)
โ”‚   โ”‚   โ”œโ”€โ”€ orchestrator.sh         โ† v4 ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ (์ง์ ‘ ์‹คํ–‰ ๊ฐ€๋Šฅ)
โ”‚   โ”‚   โ”œโ”€โ”€ collect-logs.sh         โ† Stage 1: ๋กœ๊ทธ ์ˆ˜์ง‘ + ๊ตฌ์กฐํ™”
โ”‚   โ”‚   โ”œโ”€โ”€ semantic-analyze.sh     โ† Stage 2: ๊ตฌ์กฐ์  ํŒจํ„ด ๋ถ„์„
โ”‚   โ”‚   โ”œโ”€โ”€ benchmark.sh            โ† Stage 3: ํšจ๊ณผ ์ธก์ • + ์ด์ „ ์ œ์•ˆ ์ถ”์ 
โ”‚   โ”‚   โ”œโ”€โ”€ synthesize-proposal.sh  โ† Stage 4: ํ•ฉ์„ฑ ์—์ด์ „ํŠธ โ†’ ์ตœ์ข… ์ œ์•ˆ
โ”‚   โ”‚   โ”œโ”€โ”€ llm-call.sh             โ† ๋ฒ”์šฉ LLM ์ธํ„ฐํŽ˜์ด์Šค
โ”‚   โ”‚   โ”œโ”€โ”€ measure-effects.sh      โ† ์ œ์•ˆ ํšจ๊ณผ ์ธก์ • ๋ฃจํ”„
โ”‚   โ”‚   โ”œโ”€โ”€ deliver.sh              โ† ๋ฉ€ํ‹ฐํ”Œ๋žซํผ ๋ฐฐ๋‹ฌ๊ธฐ (Slack/Telegram/Webhook)
โ”‚   โ”‚   โ”œโ”€โ”€ interactive-approve.sh  โ† ๋Œ€ํ™”ํ˜• ์Šน์ธ + sea watch
โ”‚   โ”‚   โ”œโ”€โ”€ export-report.sh        โ† ๋ฉ€ํ‹ฐํฌ๋งท ๋ฆฌํฌํŠธ ๋‚ด๋ณด๋‚ด๊ธฐ
โ”‚   โ”‚   โ””โ”€โ”€ github-issue.sh         โ† GitHub Issues ํ†ตํ•ฉ
โ”‚   โ””โ”€โ”€ v5/                         โ† v5.0 ์‹ ๊ทœ ํŒŒ์ดํ”„๋ผ์ธ โญ
โ”‚       โ”œโ”€โ”€ orchestrator.sh         โ† v5 ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ (v4 ํด๋ฐฑ ๋‚ด์žฅ)
โ”‚       โ”œโ”€โ”€ embedding-analyze.sh    โ† ์‹œ๋งจํ‹ฑ ์ž„๋ฒ ๋”ฉ ๋ถ„์„ โญ (Pillar 1)
โ”‚       โ”œโ”€โ”€ stream-monitor.sh       โ† ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ ๋ชจ๋‹ˆํ„ฐ โญ (Pillar 2)
โ”‚       โ”œโ”€โ”€ fleet-analyzer.sh       โ† ํ”Œ๋ฆฟ ๋‹ค์ค‘ ์ธ์Šคํ„ด์Šค ๋ถ„์„ โญ (Pillar 3)
โ”‚       โ””โ”€โ”€ trend-analyzer.sh       โ† ์ฃผ๊ฐ„ ํŠธ๋ Œ๋“œ ๋ถ„์„ โญ
โ”œโ”€โ”€ dashboard/                      โ† ๋กœ์ปฌ ์›น ๋Œ€์‹œ๋ณด๋“œ
โ”‚   โ”œโ”€โ”€ index.html                  โ† ๋‹จ์ผ ํŒŒ์ผ ๋Œ€์‹œ๋ณด๋“œ (์˜์กด์„ฑ ์—†์Œ)
โ”‚   โ”œโ”€โ”€ load-data.js                โ† ๋ฐ์ดํ„ฐ ๋กœ๋” ๋ชจ๋“ˆ
โ”‚   โ”œโ”€โ”€ build-index.sh              โ† ๋ฐ์ดํ„ฐ ์ธ๋ฑ์Šค ๋นŒ๋”
โ”‚   โ”œโ”€โ”€ serve.sh                    โ† ๋กœ์ปฌ HTTP ์„œ๋ฒ„ ์‹คํ–‰
โ”‚   โ””โ”€โ”€ README.md                   โ† ๋Œ€์‹œ๋ณด๋“œ ์‚ฌ์šฉ ๊ฐ€์ด๋“œ
โ”œโ”€โ”€ templates/
โ”‚   โ””โ”€โ”€ proposal-template.md        โ† ๊ฐœ์„ ์•ˆ ์ถœ๋ ฅ ํ˜•์‹
โ”œโ”€โ”€ docs/
โ”‚   โ”œโ”€โ”€ architecture.md             โ† v3.0 ์•„ํ‚คํ…์ฒ˜ (๋ ˆ๊ฑฐ์‹œ)
โ”‚   โ”œโ”€โ”€ v4-architecture.md          โ† v4.0 ์•„ํ‚คํ…์ฒ˜ ์ƒ์„ธ
โ”‚   โ”œโ”€โ”€ v5-architecture.md          โ† v5.0 ์•„ํ‚คํ…์ฒ˜ ์ƒ์„ธ โญ
โ”‚   โ”œโ”€โ”€ migration-v4-to-v5.md       โ† v4 โ†’ v5 ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ฐ€์ด๋“œ โญ
โ”‚   โ”œโ”€โ”€ roadmap.md                  โ† ๋กœ๋“œ๋งต
โ”‚   โ”œโ”€โ”€ devils-advocate.md          โ† ์•…๋งˆ์˜ ๋ณ€ํ˜ธ์ธ ๋น„ํŒ ๋ถ„์„
โ”‚   โ”œโ”€โ”€ test-results.md             โ† QA ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ
โ”‚   โ””โ”€โ”€ quality-review.md           โ† ํ’ˆ์งˆ ๊ฒ€ํ† 
โ”œโ”€โ”€ bin/                            โ† CLI ๋„๊ตฌ
โ”‚   โ”œโ”€โ”€ sea                         โ† ๋ฉ”์ธ CLI v2.0 (proposals/run/status/... + v5 ๋ช…๋ น)
โ”‚   โ””โ”€โ”€ sea-completion.bash         โ† Bash ํƒญ ์ž๋™์™„์„ฑ
โ”œโ”€โ”€ tests/
โ”‚   โ”œโ”€โ”€ fixtures/                   โ† ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜
โ”‚   โ”œโ”€โ”€ test-cli.sh                 โ† CLI ํ…Œ์ŠคํŠธ
โ”‚   โ”œโ”€โ”€ test-pipeline.sh            โ† v4 ํŒŒ์ดํ”„๋ผ์ธ ํ…Œ์ŠคํŠธ
โ”‚   โ””โ”€โ”€ test-v5.sh                  โ† v5 ์ปดํฌ๋„ŒํŠธ ํ…Œ์ŠคํŠธ โญ
โ””โ”€โ”€ data/                           โ† ๋Ÿฐํƒ€์ž„ ์ž๋™ ์ƒ์„ฑ
    โ”œโ”€โ”€ proposals/                  โ† ์ƒ์„ฑ๋œ ์ œ์•ˆ JSON
    โ”œโ”€โ”€ benchmarks/                 โ† ํšจ๊ณผ ์ธก์ • ๊ฒฐ๊ณผ
    โ”œโ”€โ”€ stream-alerts/              โ† ์‹ค์‹œ๊ฐ„ ์•Œ๋ฆผ ํ โญ
    โ”œโ”€โ”€ fleet/                      โ† ํ”Œ๋ฆฟ ๋ถ„์„ ๊ฒฐ๊ณผ โญ
    โ”œโ”€โ”€ trends/                     โ† ํŠธ๋ Œ๋“œ ๋ถ„์„ ๊ฒฐ๊ณผ โญ
    โ”œโ”€โ”€ undelivered/                โ† ๋ฐฐ๋‹ฌ ์‹คํŒจ ์‹œ ํด๋ฐฑ ์ €์žฅ
    โ””โ”€โ”€ rejected-proposals.json     โ† ๊ฑฐ๋ถ€ ๊ธฐ๋ก

๐Ÿ› ๏ธ sea CLI (v2.0.0)

sea๋Š” Self-Evolving Agent์˜ ๋ช…๋ น์ค„ ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. ์ œ์•ˆ ๊ด€๋ฆฌ, ํŒŒ์ดํ”„๋ผ์ธ ์‹คํ–‰, AGENTS.md ์ ์šฉ์„ ํ„ฐ๋ฏธ๋„์—์„œ ์ง์ ‘ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

PATH ์„ค์ •

# ~/.zshrc ๋˜๋Š” ~/.bashrc์— ์ถ”๊ฐ€
export PATH="$HOME/openclaw/skills/self-evolving-agent/bin:$PATH"

# ํƒญ ์ž๋™์™„์„ฑ ํ™œ์„ฑํ™” (bash ์ „์šฉ)
source ~/openclaw/skills/self-evolving-agent/bin/sea-completion.bash

์ฃผ์š” ๋ช…๋ น์–ด

# โ”€โ”€ ๊ธฐ์กด ๋ช…๋ น์–ด (v4์—์„œ ์œ ์ง€) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
sea run                        # ์ „์ฒด ํŒŒ์ดํ”„๋ผ์ธ ์‹คํ–‰ (v5 ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ)
sea run --v4                   # v4 ํŒŒ์ดํ”„๋ผ์ธ ๊ฐ•์ œ ์‹คํ–‰
sea run --stage 2              # Stage 2(๋ถ„์„)๋งŒ ์‹คํ–‰
sea status                     # ๋งˆ์ง€๋ง‰ ์‹คํ–‰ ์š”์•ฝ (ํ•œ ์ค„)
sea proposals                  # ๋Œ€๊ธฐ ์ค‘์ธ ์ œ์•ˆ ๋ชฉ๋ก
sea proposals --all            # ๋ชจ๋“  ์ œ์•ˆ (์ „์ฒด ์ƒํƒœ)
sea approve <id>               # ์ œ์•ˆ ์Šน์ธ: diff โ†’ AGENTS.md ํŒจ์น˜ โ†’ git commit
sea approve --all              # ๋Œ€๊ธฐ ์ค‘์ธ ๋ชจ๋“  ์ œ์•ˆ ์Šน์ธ
sea reject <id> "์ด์œ "          # ์ด์œ ์™€ ํ•จ๊ป˜ ๊ฑฐ๋ถ€
sea watch                      # 30์ดˆ ํด๋ง, ์ƒˆ ์ œ์•ˆ ์•Œ๋ฆผ + ๋Œ€ํ™”ํ˜• ์Šน์ธ
sea export --format html       # HTML ๋ฆฌํฌํŠธ ๋‚ด๋ณด๋‚ด๊ธฐ
sea export --format all --output-dir ./reports/   # ๋ชจ๋“  ํ˜•์‹ ๋‚ด๋ณด๋‚ด๊ธฐ
sea github create --all        # ๋ชจ๋“  pending ์ œ์•ˆ GitHub ์ด์Šˆ ์ƒ์„ฑ
sea github sync                # proposals/ โ†” GitHub ์ด์Šˆ ๋™๊ธฐํ™”
sea github list                # self-evolving ์ด์Šˆ ๋ชฉ๋ก
sea history                    # ์ „์ฒด ์ œ์•ˆ ์ด๋ ฅ (์ ์šฉ/๊ฑฐ๋ถ€/๋Œ€๊ธฐ)
sea health                     # AGENTS.md ๊ฑด๊ฐ•๋„ ์ ์ˆ˜ + ํ†ต๊ณ„
sea config                     # ํ˜„์žฌ ์„ค์ • ํ‘œ์‹œ
sea config set analysis.days 14  # ์„ค์ •๊ฐ’ ์—…๋ฐ์ดํŠธ
sea version                    # ๋ฒ„์ „ ํ™•์ธ
sea help                       # ๋„์›€๋ง

# โ”€โ”€ v5.0 ์‹ ๊ทœ ๋ช…๋ น์–ด โญ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
sea monitor                    # ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ ๋ชจ๋‹ˆํ„ฐ ์‹œ์ž‘ (Ctrl+C๋กœ ์ข…๋ฃŒ)
sea monitor --poll             # ํด๋ง ๋ชจ๋“œ (30์ดˆ ๊ฐ„๊ฒฉ, ๋น„๋Œ€ํ™”ํ˜• ํ™˜๊ฒฝ)
sea alerts                     # ์ŠคํŠธ๋ฆผ ์•Œ๋ฆผ ๋ชฉ๋ก (์ฃผ๊ฐ„ ์ง‘๊ณ„)
sea alerts --clear             # ์•Œ๋ฆผ ์ดˆ๊ธฐํ™” (์ฒ˜๋ฆฌ ์™„๋ฃŒ ํ›„)
sea trends                     # ์ฃผ๊ฐ„ ํŠธ๋ Œ๋“œ ๋ถ„์„ (Emerging/Resolved/Stable)
sea trends --json              # JSON ์ถœ๋ ฅ (CI/์ž๋™ํ™”์šฉ)
sea patterns                   # ์‹œ๋งจํ‹ฑ ํŒจํ„ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ™•์ธ
sea patterns add "<text>" --label frustration  # ์•ต์ปค ํŒจํ„ด ์ถ”๊ฐ€
sea fleet                      # ํ”Œ๋ฆฟ ๋ถ„์„ (์ „์ฒด ์—์ด์ „ํŠธ ์ธ์Šคํ„ด์Šค)
sea fleet --agents opus,sonnet # ํŠน์ • ์—์ด์ „ํŠธ๋งŒ ๋ถ„์„

# ๋ชจ๋“  ๋ช…๋ น์— --json ํ”Œ๋ž˜๊ทธ ์ถ”๊ฐ€ ๊ฐ€๋Šฅ
sea status --json
sea history --json
sea fleet --json

sea approve ๋™์ž‘ ๋ฐฉ์‹

  1. data/proposals/<id>.json์—์„œ ์ œ์•ˆ ์ฝ๊ธฐ
  2. before / after diff ์ถœ๋ ฅ
  3. AGENTS.md์˜ before ํ…์ŠคํŠธ๋ฅผ after๋กœ ๊ต์ฒด
  4. ์ œ์•ˆ JSON์˜ status๋ฅผ "applied"๋กœ ์—…๋ฐ์ดํŠธ
  5. git commit -m "agents: apply proposal <id>"

์„ค์น˜

# 1. Clone
git clone https://github.com/Ramsbaby/self-evolving-agent ~/openclaw/skills/self-evolving-agent

# 2. ์„ค์ • ๋งˆ๋ฒ•์‚ฌ ์‹คํ–‰ (๋Œ€ํ™”ํ˜•)
bash ~/openclaw/skills/self-evolving-agent/scripts/setup-wizard.sh

๋น„๋Œ€ํ™”ํ˜• ์„ค์น˜ (CI/์ž๋™ํ™”์šฉ):

bash ~/openclaw/skills/self-evolving-agent/scripts/setup-wizard.sh \
  --platform discord \
  --channel YOUR_CHANNEL_ID \
  --lang auto \
  --days 7 \
  --yes

์„ค์ • ๊ฒ€์ฆ๋งŒ ์‹คํ–‰:

bash ~/openclaw/skills/self-evolving-agent/scripts/validate-config.sh --fix

ํฌ๋ก  ์ˆ˜๋™ ๋“ฑ๋ก/์—…๋ฐ์ดํŠธ:

bash ~/openclaw/skills/self-evolving-agent/scripts/register-cron.sh

ํฌ๋ก  JSON ์˜ˆ์‹œ (~/.openclaw/cron/jobs.json์— ์ถ”๊ฐ€):

{
  "name": "๐Ÿง  Self-Evolving Agent v4.0 ์ฃผ๊ฐ„ ํŒŒ์ดํ”„๋ผ์ธ",
  "enabled": true,
  "schedule": {
    "kind": "cron",
    "expr": "0 22 * * 0",
    "tz": "Asia/Seoul"
  },
  "sessionTarget": "isolated",
  "payload": {
    "kind": "agentTurn",
    "model": "anthropic/claude-sonnet-4-5",
    "message": "bash ~/openclaw/skills/self-evolving-agent/scripts/v4/orchestrator.sh ์‹คํ–‰. ๊ฒฐ๊ณผ ํ…์ŠคํŠธ๋งŒ ์ถœ๋ ฅ."
  },
  "delivery": {
    "mode": "announce",
    "channel": "discord",
    "to": "channel:YOUR_CHANNEL_ID"
  }
}

๐Ÿ“Š ๋กœ์ปฌ ๋Œ€์‹œ๋ณด๋“œ (v4.1 ์‹ ๊ทœ) โญ

์ œ์•ˆ ์ด๋ ฅ, ํ’ˆ์งˆ ์ถ”์„ธ, ํŒจํ„ด ๋นˆ๋„, ๊ทœ์น™ ํšจ๊ณผ๋ฅผ ์‹œ๊ฐํ™”ํ•˜๋Š” ๋กœ์ปฌ ์›น ๋Œ€์‹œ๋ณด๋“œ.

# ๋น ๋ฅธ ์‹œ์ž‘ (์Šคํ‚ฌ ๋ฃจํŠธ์—์„œ ์‹คํ–‰)
bash dashboard/serve.sh
# โ†’ http://localhost:8420/dashboard/ ์—์„œ ์—ด๊ธฐ

# ์ƒˆ ์ œ์•ˆ ํ›„ ์ธ๋ฑ์Šค ๊ฐฑ์‹ 
bash dashboard/build-index.sh

์ฃผ์š” ํŒจ๋„:

  • ๐Ÿ“ˆ Quality Trend โ€” ์‹œ๊ฐ„๋ณ„ ํ’ˆ์งˆ ์ ์ˆ˜ ๋ผ์ธ ์ฐจํŠธ
  • ๐Ÿฅ AGENTS.md Health โ€” ๊ตฌ์กฐ ์ ์ˆ˜ ๋ง + ํžˆ์Šคํ† ๋ฆฌ ์ŠคํŒŒํฌ๋ผ์ธ
  • ๐Ÿ” Pattern Frequency โ€” ๋ถˆ๋งŒ ํŒจํ„ด ์Šคํƒ ๋ฐ” ์ฐจํŠธ
  • ๐Ÿ“‹ Proposal History โ€” ์ „์ฒด ์ œ์•ˆ ์ด๋ ฅ ํ…Œ์ด๋ธ”
  • โšก Active Rules Effectiveness โ€” ๊ทœ์น™ ํšจ๊ณผ ์ธก์ • (๋…น์ƒ‰/์ ์ƒ‰)

์ƒ์„ธ: dashboard/README.md


4๋‹จ๊ณ„ ํŒŒ์ดํ”„๋ผ์ธ ์•„ํ‚คํ…์ฒ˜ (v4.0)

Stage 1: ์ˆ˜์ง‘ (collect)

collect-logs.sh
โ”œโ”€โ”€ ์ฑ„ํŒ… ๋กœ๊ทธ ์Šค์บ” (์„ธ์…˜๋ณ„ ์ฒญํฌ ๋ถ„๋ฆฌ)
โ”œโ”€โ”€ exec ์žฌ์‹œ๋„ ์ด๋ฒคํŠธ ์ถ”์ถœ (์—ฐ์† 3ํšŒ+ ํƒ์ง€)
โ”œโ”€โ”€ ํฌ๋ก  ์—๋Ÿฌ ๋กœ๊ทธ ํŒŒ์‹ฑ
โ”œโ”€โ”€ ์ด์ „ ์ œ์•ˆ + ์ ์šฉ ์ด๋ ฅ ๋กœ๋“œ
โ””โ”€โ”€ โ†’ data/collect-YYYYMMDD.json

Stage 2: ๋ถ„์„ (analyze)

semantic-analyze.sh
โ”œโ”€โ”€ ํ‚ค์›Œ๋“œ ๋งค์นญ (๊ธฐ์กด ๋ฐฉ์‹ ์œ ์ง€)
โ”œโ”€โ”€ ๊ตฌ์กฐ์  ํœด๋ฆฌ์Šคํ‹ฑ ๋ถ„์„ (v4.0 ์‹ ๊ทœ)
โ”‚   โ”œโ”€โ”€ ์—ญํ•  ํ•„ํ„ฐ: user vs assistant ๋ฉ”์‹œ์ง€ ๋ถ„๋ฆฌ
โ”‚   โ”œโ”€โ”€ ๋ฌธ๋งฅ ์œˆ๋„์šฐ: ํ‚ค์›Œ๋“œ ์ „ํ›„ 3์ค„ ํ™•์ธ
โ”‚   โ”œโ”€โ”€ ๋ฐ˜๋ณต ์ž„๊ณ„๊ฐ’: ๋™์ผ ์„ธ์…˜ ๋‚ด ์ค‘๋ณต ์ œ๊ฑฐ
โ”‚   โ””โ”€โ”€ ๊ฐ์ • ๊ฐ•ํ™” ์‹ ํ˜ธ: "!!", "??" ๋™๋ฐ˜ ์—ฌ๋ถ€
โ”œโ”€โ”€ AGENTS.md ๊ทœ์น™ ์œ„๋ฐ˜ ๊ต์ฐจ ๋ถ„์„
โ”œโ”€โ”€ ์„ธ์…˜ ๊ฑด๊ฐ•๋„ ์ง€ํ‘œ
โ””โ”€โ”€ โ†’ data/analysis-YYYYMMDD.json

Stage 3: ๋ฒค์น˜๋งˆํฌ (benchmark)

benchmark.sh
โ”œโ”€โ”€ ์ด์ „ ์ ์šฉ ์ œ์•ˆ ๋ชฉ๋ก ๋กœ๋“œ
โ”œโ”€โ”€ ์ œ์•ˆ ์ ์šฉ ์ „ํ›„ ํŒจํ„ด ๋นˆ๋„ ๋น„๊ต
โ”œโ”€โ”€ ํšจ๊ณผ ๋ถ„๋ฅ˜: Effective / Neutral / Regressed
โ”œโ”€โ”€ ํšจ๊ณผ ์—†๋Š” ์ œ์•ˆ ์žฌ๊ฒ€ํ†  ํ”Œ๋ž˜๊ทธ
โ””โ”€โ”€ โ†’ data/benchmarks/benchmark-YYYYMMDD.json

Stage 4: ํ•ฉ์„ฑ (synthesize)

synthesize-proposal.sh
โ”œโ”€โ”€ Stage 1-3 ๊ฒฐ๊ณผ ์ข…ํ•ฉ
โ”œโ”€โ”€ Claude API ํ˜ธ์ถœ 1ํšŒ (ํ•ฉ์„ฑ ์—์ด์ „ํŠธ)
โ”‚   โ”œโ”€โ”€ ๋ถ„์„ ๋ฐ์ดํ„ฐ โ†’ ์ž์—ฐ์–ด ์ œ์•ˆ
โ”‚   โ”œโ”€โ”€ ๋ฒค์น˜๋งˆํฌ ๊ฒฐ๊ณผ โ†’ "์ง€๋‚œ ์ฃผ #2 ์ œ์•ˆ ํšจ๊ณผ ์žˆ์Œ" ํฌํ•จ
โ”‚   โ””โ”€โ”€ diff ํ˜•์‹์œผ๋กœ before/after ์ž‘์„ฑ
โ””โ”€โ”€ โ†’ Discord #your-channel ๊ฒŒ์‹œ

Stage 5: ํšจ๊ณผ ์ธก์ • (measure-effects)

measure-effects.sh
โ”œโ”€โ”€ ๊ณผ๊ฑฐ ์ œ์•ˆ์˜ ํƒ€๊ฒŸ ํŒจํ„ด ๋นˆ๋„ ๋น„๊ต
โ”œโ”€โ”€ ์„ธ์…˜ ํŠธ๋žœ์Šคํฌ๋ฆฝํŠธ + ํฌ๋ก  ๋กœ๊ทธ๋งŒ ์Šค์บ” (gateway ๋กœ๊ทธ ์ œ์™ธ)
โ”œโ”€โ”€ ํšจ๊ณผ ๋ถ„๋ฅ˜: Effective / Neutral / Regressed
โ””โ”€โ”€ โ†’ /tmp/sea-v4/effects.json

๋ถ„์„ ํ•ญ๋ชฉ (v4.0)

1. ๊ตฌ์กฐ์  ํœด๋ฆฌ์Šคํ‹ฑ ๋ถ„์„ (v4.0 ์‹ ๊ทœ) โญ

ํ‚ค์›Œ๋“œ ๋งค์นญ์— ๋ฌธ๋งฅ ๋ถ„์„์„ ๋ณด๊ฐ•:

heuristic_analysis:
  role_filter: true              # user ๋ฉ”์‹œ์ง€๋งŒ ๋ถ„์„ (assistant ์ œ์™ธ)
  context_window: 3              # ํ‚ค์›Œ๋“œ ์ „ํ›„ 3์ค„ ํ™•์ธ
  dedup_per_session: true        # ๋™์ผ ์„ธ์…˜ ๋‚ด ์ค‘๋ณต ํŒจํ„ด 1ํšŒ ๊ณ„์‚ฐ
  emotion_boost_signals:         # ๊ฐ์ • ๊ฐ•ํ™” ์‹ ํ˜ธ (๊ฐ€์ค‘์น˜ +1.5x)
    - "!!"
    - "??"
    - "์™œ"
    - "๋˜"

์ด ๊ฒฐ๊ณผ false positive: ~40% โ†’ ์ถ”์ • ~15%

2. ์‚ฌ์šฉ์ž ๋ถˆ๋งŒ ํŒจํ„ด (ํ‚ค์›Œ๋“œ ๋งค์นญ + ์ž๋™ ์–ธ์–ด ๊ฐ์ง€, v4.1) โญ

v4.1๋ถ€ํ„ฐ ํ•œ๊ตญ์–ด/์˜์–ด ํŒจํ„ด์ด ๋ถ„๋ฆฌ๋˜๊ณ , ์„ธ์…˜ ์–ธ์–ด๋ฅผ ์ž๋™ ๊ฐ์ง€ํ•ด ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

complaint_patterns:
  ko:                        # ํ•œ๊ตญ์–ด ์„ธ์…˜์— ์ ์šฉ
    - "ํ™•์ธ์ค‘"
    - "๋‹ค์‹œ"
    - "์•„๊นŒ"
    - "๋ฐ˜๋ณต"
    - "๊ธฐ์–ต"
    - "๋งํ–ˆ์ž–์•„"
    - "๊ณ„์†"
    - "๋ฌผ์–ด๋ณด์ง€ ๋ง๊ณ "
    - "์ „๋ถ€ ๋‹ค ํ•ด์ค˜"
    - "์™œ ๋˜"
  en:                        # ์˜์–ด ์„ธ์…˜์— ์ ์šฉ
    - "you forgot"
    - "again?"
    - "same mistake"
    - "stop doing that"
    - "how many times"
    - "wrong again"
    - "I told you"
    - "still broken"
    - "not what I asked"
  auto_detect: true          # ์„ธ์…˜ ์–ธ์–ด ์ž๋™ ๊ฐ์ง€ (ko/en ์ž๋™ ์„ ํƒ)

์ž๋™ ์–ธ์–ด ๊ฐ์ง€ ๋กœ์ง: ์„ธ์…˜์˜ ์ฒซ 10๊ฐœ user ๋ฉ”์‹œ์ง€ ์ค‘ >50%์— [๊ฐ€-ํžฃ]์ด ํฌํ•จ๋˜๋ฉด ko, ์•„๋‹ˆ๋ฉด en ํŒจํ„ด ์ ์šฉ.

โš ๏ธ ์—ฌ์ „ํ•œ ํ•œ๊ณ„: ๋‹จ์–ด ๋ชฉ๋ก์— ์—†๋Š” ํŒจํ„ด์€ ๋ฏธํƒ์ง€. config.yaml์—์„œ ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ํ•„์ˆ˜.

3. exec ์—ฐ์† ์žฌ์‹œ๋„ ๊ฐ์ง€

๊ฐ™์€ exec ๋ช…๋ น์„ 3ํšŒ ์ด์ƒ ์—ฐ์† ์žฌ์‹œ๋„ํ•œ ์„ธ์…˜ ํƒ์ง€
โ†’ ์—์ด์ „ํŠธ๊ฐ€ ๋ฃจํ”„์— ๊ฐ‡ํ˜€ ์žˆ๋‹ค๋Š” ์‹ ํ˜ธ
โ†’ 119ํšŒ ์—ฐ์† ์žฌ์‹œ๋„ ์‹ค์ œ ๋ฐœ๊ฒฌ (v3.0 ํ…Œ์ŠคํŠธ, v4.0์—์„œ๋„ ์œ ์ง€)

4. ํฌ๋ก  ์—๋Ÿฌ ๋ฐ˜๋ณต ํƒ์ง€

~/.openclaw/logs/cron-catchup.log
~/.openclaw/logs/heartbeat-cron.log
โ†’ ๋™์ผ ์—๋Ÿฌ 5ํšŒ ์ด์ƒ ๋ฐ˜๋ณต = ๊ตฌ์กฐ์  ๋ฒ„๊ทธ

5. AGENTS.md ๊ทœ์น™ ์œ„๋ฐ˜

AGENTS.md ๊ทœ์น™ ๋ชฉ๋ก ์ถ”์ถœ โ†’ ์‹ค์ œ transcript์™€ ๊ต์ฐจ ๋ถ„์„
โ†’ "๊ทœ์น™์€ ์žˆ์ง€๋งŒ ์•ˆ ์ง€ํ‚จ ๊ฒƒ" ์‹๋ณ„
โ†’ "๊ทœ์น™ ์—†๋Š”๋ฐ ์ž์ฃผ ์‹ค์ˆ˜ํ•œ ๊ฒƒ" ์‹๋ณ„

6. ์„ธ์…˜ ๊ฑด๊ฐ•๋„

์ปดํŒฉ์…˜ 5ํšŒ ์ด์ƒ = ์„ธ์…˜์ด ๋„ˆ๋ฌด ๊ธธ๊ฑฐ๋‚˜ ๋ณต์žก
โ†’ ์„œ๋ธŒ์—์ด์ „ํŠธ ๋ถ„๋ฆฌ ๊ถŒ๊ณ  ์ œ์•ˆ ํŠธ๋ฆฌ๊ฑฐ

7. ํšจ๊ณผ ์ธก์ • ๋ฃจํ”„ (v4.0 ์‹ ๊ทœ) โญ

์ด์ „ ์ฃผ๊ธฐ์— ์ ์šฉ๋œ ์ œ์•ˆ๋“ค์˜ ํšจ๊ณผ๋ฅผ ์ถ”์ :
โ†’ ์ ์šฉ ์ „ ํŒจํ„ด ๋นˆ๋„ vs ์ ์šฉ ํ›„ ํŒจํ„ด ๋นˆ๋„ ๋น„๊ต
โ†’ Effective: ๋นˆ๋„ 30%+ ๊ฐ์†Œ
โ†’ Neutral: ยฑ30% ์ด๋‚ด
โ†’ Regressed: ๋นˆ๋„ ์ฆ๊ฐ€ (์žฌ๊ฒ€ํ†  ํ•„์š”)

์ œ์•ˆ ํ˜•์‹

Discord #your-channel์— ์ด๋Ÿฐ ํ˜•์‹์œผ๋กœ ๊ฒŒ์‹œ:

## ๐Ÿง  Self-Evolving Agent v4.0 ์ฃผ๊ฐ„ ๋ถ„์„

๐Ÿ“… ๋ถ„์„ ๊ธฐ๊ฐ„: 2026-02-10 ~ 2026-02-17
๐Ÿ“Š ๋ถ„์„๋œ ์„ธ์…˜: 30๊ฐœ (์ „์ฒด 964๊ฐœ ์ค‘ ์ƒ˜ํ”Œ)
โšก exec ์žฌ์‹œ๋„ ์ด๋ฒคํŠธ: 405๊ฑด (์ตœ๋Œ€ 119ํšŒ ์—ฐ์†)
๐Ÿ”ด ํ™œ์„ฑ ํฌ๋ก  ์—๋Ÿฌ: 3๊ฐœ
๐Ÿ“ˆ ์ง€๋‚œ ์ฃผ ์ œ์•ˆ ํšจ๊ณผ: #2 Effective (ํŒจํ„ด -43%), #3 Neutral

๐Ÿ“ ์ œ์•ˆ: 3๊ฐœ

---

### ์ œ์•ˆ #1: exec ์—ฐ์† ์žฌ์‹œ๋„ ์ œํ•œ (HIGH)

**๊ทผ๊ฑฐ:** 7์ผ๊ฐ„ 405๊ฑด ์žฌ์‹œ๋„ ์ด๋ฒคํŠธ, ์ตœ๋Œ€ 119ํšŒ ์—ฐ์† ์žฌ์‹œ๋„
**์—ญํ•  ํ•„ํ„ฐ:** user ๋ฉ”์‹œ์ง€ ๊ธฐ์ค€ (assistant ์ œ์™ธ)

**Before:** ์—ฐ์† ์žฌ์‹œ๋„ ์‹œ ๊ทœ์น™ ์—†์Œ (๋ฌดํ•œ ๋ฃจํ”„ ๊ฐ€๋Šฅ)

**After:**
๊ฐ™์€ exec 3ํšŒ ์‹คํŒจ ์‹œ:
1. ์—๋Ÿฌ ์ฆ‰์‹œ ์‚ฌ์šฉ์ž ๋ณด๊ณ 
2. 2๋ฒˆ์งธ ์‹œ๋„๋Š” ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ
3. 3๋ฒˆ์งธ ์‹คํŒจ = ์ค‘๋‹จ + ์ˆ˜๋™ ํ™•์ธ ์š”์ฒญ

---

โœ… ์ ์šฉ: "์ œ์•ˆ #1 ์ ์šฉํ•ด์ค˜"
โŒ ๊ฑฐ๋ถ€: "๊ฑฐ๋ถ€: [์ด์œ ]"


๐Ÿ†“ LLM ์ œ๊ณต์ž ์„ค์ • (v4.2 ์‹ ๊ทœ)

config.yaml์˜ llm ์„น์…˜์œผ๋กœ ํ•ฉ์„ฑ ๋‹จ๊ณ„์˜ LLM์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

llm:
  provider: "ollama"   # anthropic | openai | ollama | none

| ์ œ๊ณต์ž | ๋น„์šฉ | API ํ‚ค | ์ธํ„ฐ๋„ท | ํ’ˆ์งˆ | |--------|------|--------|--------|------| | anthropic | ~$0.05/์ฃผ | ANTHROPIC_API_KEY | ํ•„์š” | โญโญโญโญโญ | | openai | ~$0.05/์ฃผ | OPENAI_API_KEY | ํ•„์š” | โญโญโญโญโญ | | ollama ๐Ÿ†“ | $0.00 | ์—†์Œ | ์—†์Œ | โญโญโญโญ | | none | $0.00 | ์—†์Œ | ์—†์Œ | ํœด๋ฆฌ์Šคํ‹ฑ๋งŒ |

๐Ÿ’ก Ollama ์„ค์ • (์™„์ „ ๋ฌด๋ฃŒ!)

# 1. Ollama ์„ค์น˜
brew install ollama

# 2. ๋ชจ๋ธ ๋‹ค์šด๋กœ๋“œ (1ํšŒ๋งŒ)
ollama pull llama3.1:8b      # ์ถ”์ฒœ: ๊ท ํ˜• ์žกํžŒ ์„ฑ๋Šฅ
# ๋˜๋Š”
ollama pull mistral:7b        # ๋” ๋น ๋ฆ„
ollama pull gemma3:9b         # Google ๋ชจ๋ธ

# 3. ์„œ๋ฒ„ ์‹คํ–‰ (๋ฐฑ๊ทธ๋ผ์šด๋“œ)
ollama serve &

# 4. config.yaml ์„ค์ •
# llm:
#   provider: "ollama"
#   ollama:
#     model: "llama3.1:8b"
#     url: "http://localhost:11434"

๐Ÿ’ก none ๋ชจ๋“œ (์ˆœ์ˆ˜ ํœด๋ฆฌ์Šคํ‹ฑ)

LLM ์—†์ด ์‰˜ ์Šคํฌ๋ฆฝํŠธ ํœด๋ฆฌ์Šคํ‹ฑ ๋ถ„์„๋งŒ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. API ๋น„์šฉ $0, ์ธํ„ฐ๋„ท ๋ถˆํ•„์š”.

llm:
  provider: "none"

ํ•ฉ์„ฑ ๋‹จ๊ณ„์—์„œ LLM ๊ฐ•ํ™” ์ œ์•ˆ ์„น์…˜์ด ์ƒ๋žต๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋ถ„์„/์ œ์•ˆ์€ ๊ทธ๋Œ€๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

llm-call.sh ์ง์ ‘ ์‚ฌ์šฉ

# Ollama๋กœ ํ”„๋กฌํ”„ํŠธ ์ „์†ก
echo "๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ์š”์•ฝํ•ด์ค˜" | bash scripts/v4/llm-call.sh --provider ollama

# Anthropic์œผ๋กœ ์ „์†ก
echo "๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ์š”์•ฝํ•ด์ค˜" | bash scripts/v4/llm-call.sh --provider anthropic --model claude-haiku-4-5

# ์ œ๊ณต์ž ์—†์Œ (๋นˆ JSON ๋ฐ˜ํ™˜)
echo "ํ…Œ์ŠคํŠธ" | bash scripts/v4/llm-call.sh --provider none

# config.yaml ์ž๋™ ์ฝ๊ธฐ (ํ”Œ๋ž˜๊ทธ ์ƒ๋žต ๊ฐ€๋Šฅ)
echo "๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ์š”์•ฝํ•ด์ค˜" | bash scripts/v4/llm-call.sh

์ปค์Šคํ„ฐ๋งˆ์ด์ง•

# config.yaml
analysis:
  days: 14                          # ๋ถ„์„ ๊ธฐ๊ฐ„ (๊ธฐ๋ณธ 7์ผ)
  max_sessions: 50                  # ์ตœ๋Œ€ ์„ธ์…˜ ์ˆ˜
  complaint_patterns:               # v4.1: ์–ธ์–ด๋ณ„ ๋ถ„๋ฆฌ ๊ตฌ์กฐ
    ko:                             # ํ•œ๊ตญ์–ด ํŒจํ„ด ์ปค์Šคํ„ฐ๋งˆ์ด์ง•
      - "๋ฌผ์–ด๋ณด์ง€ ๋ง๊ณ "
      - "์ „๋ถ€ ๋‹ค ํ•ด์ค˜"
      - "๋‚˜๋ณด๊ณ  ํ•˜๋ผ๊ณ "
    en:                             # ์˜์–ด ํŒจํ„ด ์ปค์Šคํ„ฐ๋งˆ์ด์ง•
      - "you're useless"
      - "that's wrong again"
      - "stop asking me"
    auto_detect: true               # ์„ธ์…˜ ์–ธ์–ด ์ž๋™ ๊ฐ์ง€
  exec_retry_threshold: 3           # ๋ช‡ ํšŒ ์žฌ์‹œ๋„๋ถ€ํ„ฐ ํƒ์ง€ํ• ์ง€
  log_error_repeat_threshold: 5     # ๋™์ผ ์—๋Ÿฌ ๋ช‡ ํšŒ๋ถ€ํ„ฐ ์‹ฌ๊ฐ์œผ๋กœ ๋ณผ์ง€

  # v4.0 ์‹ ๊ทœ
  heuristic:
    role_filter: true               # user ๋ฉ”์‹œ์ง€๋งŒ ๋ถ„์„
    context_window: 3               # ์ „ํ›„ ๋ช‡ ์ค„ ํ™•์ธ
    dedup_per_session: true         # ์„ธ์…˜ ๋‚ด ์ค‘๋ณต ์ œ๊ฑฐ
    emotion_boost: true             # ๊ฐ์ • ๊ฐ•ํ™” ์‹ ํ˜ธ ๊ฐ€์ค‘์น˜

  benchmark:
    enabled: true                   # ํšจ๊ณผ ์ธก์ • ํ™œ์„ฑํ™”
    effective_threshold: 0.30       # 30% ๊ฐ์†Œ = Effective ํŒ์ •

cron:
  schedule: "0 22 * * 0"           # ์ผ์š”์ผ 22์‹œ (๊ธฐ๋ณธ)
  discord_channel: ""  # Required: set your Discord channel ID

๋ฐฐ๋‹ฌ ์„ค์ • (Multi-Platform Delivery)

config.yaml์˜ delivery ์„น์…˜์œผ๋กœ ์ œ์•ˆ์„œ ์ „์†ก ํ”Œ๋žซํผ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

delivery:
  platform: "discord"  # discord | slack | telegram | webhook

Discord (๊ธฐ๋ณธ)

OpenClaw ํฌ๋ก ์˜ delivery ์„ค์ •์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. deliver.sh ํ˜ธ์ถœ ์—†์Œ.

delivery:
  platform: "discord"
  discord:
    channel_id: "YOUR_CHANNEL_ID"

Slack

Slack Incoming Webhook์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Slack Webhook ์ƒ์„ฑ ๊ฐ€์ด๋“œ

delivery:
  platform: "slack"
  slack:
    webhook_url: "https://hooks.slack.com/services/T.../B.../..."

Telegram

BotFather์—์„œ ๋ฐœ๊ธ‰ํ•œ ํ† ํฐ๊ณผ ์ฑ„ํŒ…๋ฐฉ ID๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

delivery:
  platform: "telegram"
  telegram:
    bot_token: "123456:ABC-DEF..."
    chat_id: "-1001234567890"   # ์ฑ„๋„์€ -100์œผ๋กœ ์‹œ์ž‘

Generic Webhook

JSON POST๋กœ ์ž„์˜ ์—”๋“œํฌ์ธํŠธ์— ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

delivery:
  platform: "webhook"
  webhook:
    url: "https://your-server.example.com/sea-proposals"
    method: "POST"

Payload ํ˜•์‹:

{
  "source": "self-evolving-agent",
  "version": "4.0",
  "timestamp": "2026-02-18T00:00:00Z",
  "proposal": "## ๐Ÿง  SEA v4.0 ...(๋งˆํฌ๋‹ค์šด)..."
}

๋ฐฐ๋‹ฌ ์‹คํŒจ ์‹œ ํด๋ฐฑ

์ „์†ก์— ์‹คํŒจํ•˜๋ฉด data/undelivered/YYYYMMDD-HHMMSS-<platform>.md์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
์ˆ˜๋™ ์žฌ์ „์†ก: PLATFORM=slack bash scripts/v4/deliver.sh data/undelivered/<ํŒŒ์ผ>


์•ˆ์ „ ๊ทœ์น™ (๋ณด์•ˆ ๊ฐ•์กฐ)

  • โœ… ์ œ์•ˆ๋งŒ ํ•ฉ๋‹ˆ๋‹ค โ€” AGENTS.md๋ฅผ ์ง์ ‘ ์ˆ˜์ •ํ•˜๋Š” ์ฝ”๋“œ ๊ฒฝ๋กœ ์—†์Œ
  • โœ… diff ํ˜•์‹ โ€” before/after๋กœ ๋ช…ํ™•ํ•œ ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ œ์‹œ
  • โœ… ๊ทผ๊ฑฐ ํ•„์ˆ˜ โ€” ์ธก์ •๋œ ๋ฐ์ดํ„ฐ(์‹ค์ œ ์นด์šดํŠธ)๊ฐ€ ์—†์œผ๋ฉด ์ œ์•ˆ ์—†์Œ
  • โœ… ์Šน์ธ ํ›„ ์ ์šฉ โ€” ์‚ฌ์šฉ์ž ๋ช…์‹œ์  ์Šน์ธ ์‹œ์—๋งŒ AGENTS.md ๋ฐ˜์˜ + git commit
  • โœ… ๊ฑฐ๋ถ€ ๊ธฐ๋ก โ€” ๊ฑฐ๋ถ€ ์ด์œ ๋ฅผ ๋‹ค์Œ ๋ถ„์„ ์‚ฌ์ดํด์— ๋ฐ˜์˜
  • โœ… ๋กœ์ปฌ ์šฐ์„  โ€” ๋ถ„์„์€ ๋กœ์ปฌ์—์„œ, API ํ˜ธ์ถœ์€ ํ•ฉ์„ฑ ์—์ด์ „ํŠธ 1ํšŒ๋ฟ
  • โœ… ์ฝ”๋“œ ํˆฌ๋ช…์„ฑ โ€” ์ „์ฒด ๋ถ„์„ ์Šคํฌ๋ฆฝํŠธ ~400์ค„, 15๋ถ„์ด๋ฉด ๋‹ค ์ฝ์Œ
  • โœ… ํšจ๊ณผ ์ธก์ • โ€” ์ ์šฉ๋œ ์ œ์•ˆ์˜ ํšจ๊ณผ๋ฅผ ๋‹ค์Œ ์ฃผ๊ธฐ์— ๋ฆฌํฌํŠธ

ํ•œ๊ณ„ (์†”์งํ•˜๊ฒŒ)

| ํ•œ๊ณ„ | v3.0 | v4.0 ๊ฐœ์„  | v5.0 ๊ฐœ์„  | |------|------|-----------|-----------| | ํ‚ค์›Œ๋“œ ๋งค์นญ (์˜๋ฏธ๋ก  ์•„๋‹˜) | FP ~40% | ํœด๋ฆฌ์Šคํ‹ฑ์œผ๋กœ ~15% | ์ž„๋ฒ ๋”ฉ์œผ๋กœ ~8% โœ… | | assistant ๋ฐœํ™” ํ•„ํ„ฐ ๋ถˆ์™„์ „ | "๋‹ค์‹œ", "๊ณ„์†" ๊ณผ๋‹ค ๊ณ„์‚ฐ | role_filter๋กœ ๊ฐœ์„  | ๋™์ผ (์œ ์ง€) | | ํ‚ค์›Œ๋“œ ๋ชฉ๋ก์— ์—†์œผ๋ฉด ๋ฏธํƒ์ง€ | ์ž์œจ์‹คํ–‰ ์š”๊ตฌ ํŒจํ„ด ๋†“์นจ | ์—ฌ์ „ํžˆ ๋™์ผ | ์ž„๋ฒ ๋”ฉ ์œ ์‚ฌ๋„๋กœ ๋ชฉ๋ก ์™ธ ํŒจํ„ด ๊ฐ์ง€ โœ… | | ๊ฐœ์„  ํšจ๊ณผ ๋ฏธ์ธก์ • | ๋„์›€๋๋Š”์ง€ ๋ชจ๋ฆ„ | ๋ฒค์น˜๋งˆํฌ ๋ฃจํ”„๋กœ ํ•ด๊ฒฐ โœ… | ๋™์ผ (์œ ์ง€) | | ์˜์–ด ์„ธ์…˜ ํŒจํ„ด ๋ฏธ์ง€์› | ์˜์–ด ๊ฐ์ง€ ๋ถˆ๊ฐ€ | ko/en + auto_detect โœ… | ๋™์ผ (์œ ์ง€) | | ๋ฐ์ดํ„ฐ ๋ถ€์กฑ ์‹œ ์ œ์•ˆ ํ’ˆ์งˆ ํ•˜๋ฝ | generic ์ œ์•ˆ | ์—ฌ์ „ํžˆ ๋™์ผ | ์—ฌ์ „ํžˆ ๋™์ผ | | Cold start | ์ฒ˜์Œ 2-4์ฃผ ๋ฐ์ดํ„ฐ ์—†์Œ | ์—ฌ์ „ํžˆ ๋™์ผ | ์—ฌ์ „ํžˆ ๋™์ผ | | ์ฃผ 1ํšŒ ๋ฐฐ์น˜๋งŒ ๊ฐ€๋Šฅ | ์ฃผ๊ฐ„ ์‚ฌ๊ฐ์ง€๋Œ€ ์žˆ์Œ | ์—ฌ์ „ํžˆ ๋™์ผ | ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋กœ ํ•ด๊ฒฐ โœ… | | ๋‹จ์ผ ์ธ์Šคํ„ด์Šค๋งŒ ๋ถ„์„ | ๋‹ค์ค‘ ์—์ด์ „ํŠธ ๋ถ„์„ ๋ถˆ๊ฐ€ | ์—ฌ์ „ํžˆ ๋™์ผ | ํ”Œ๋ฆฟ ๋ถ„์„์œผ๋กœ ํ•ด๊ฒฐ โœ… |

v5.0์—์„œ ์—ฌ์ „ํžˆ ํ•ด๊ฒฐ ๋ชป ํ•œ ๊ฒƒ:

  • ํ˜ผ์šฉ ์„ธ์…˜ (ํ•œ์˜ ํ˜ผํ•ฉ) ์ •๋ฐ€ ์ฒ˜๋ฆฌ โ€” ์ž„๋ฒ ๋”ฉ์ด ์™„ํ™”ํ•˜์ง€๋งŒ ์™„์ „ ํ•ด๊ฒฐ์€ ์•„๋‹˜
  • ํšจ๊ณผ ์ธก์ •์€ ๋นˆ๋„ ๊ธฐ๋ฐ˜ ์ƒ๊ด€๊ด€๊ณ„ โ€” ์ธ๊ณผ๊ด€๊ณ„ ๋ถ„์„ ์•„๋‹˜ (v5.2 ๊ณ„ํš)
  • ์ŠคํŠธ๋ฆฌ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋Š” ๋ณ„๋„ ํ”„๋กœ์„ธ์Šค ํ•„์š” โ€” ํฌ๋ก  ์™ธ ์ƒ์‹œ ๊ฐ€๋™ ํ•„์š”
  • ํ”Œ๋ฆฟ ๋ถ„์„์€ 4์ฃผ+ ์ด๋ ฅ์ด ์žˆ์–ด์•ผ ์˜๋ฏธ ์žˆ๋Š” ํŠธ๋ Œ๋“œ ๋„์ถœ ๊ฐ€๋Šฅ

v5.0 ๋ณ€๊ฒฝ์‚ฌํ•ญ (2026-02-18)

  • โœ… scripts/v5/embedding-analyze.sh ์‹ ์„ค โ€” Ollama nomic-embed-text ์‹œ๋งจํ‹ฑ ์ž„๋ฒ ๋”ฉ ๋ถ„์„ (Pillar 1)
  • โœ… scripts/v5/stream-monitor.sh ์‹ ์„ค โ€” ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ ๋ชจ๋‹ˆํ„ฐ + ์ž„๊ณ„์น˜ ์•Œ๋ฆผ (Pillar 2)
  • โœ… scripts/v5/fleet-analyzer.sh ์‹ ์„ค โ€” ๋‹ค์ค‘ ์—์ด์ „ํŠธ ์ธ์Šคํ„ด์Šค ๊ต์ฐจ ๋ถ„์„ (Pillar 3)
  • โœ… scripts/v5/trend-analyzer.sh ์‹ ์„ค โ€” 4์ฃผ๊ฐ„ ํŒจํ„ด ์ถ”์„ธ ๋น„๊ต (Emerging/Resolved)
  • โœ… scripts/v5/orchestrator.sh ์‹ ์„ค โ€” v5 6๋‹จ๊ณ„ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ (v4 ํด๋ฐฑ ๋‚ด์žฅ)
  • โœ… bin/sea v2.0.0 โ€” monitor, alerts, trends, patterns, fleet ์ปค๋งจ๋“œ ์ถ”๊ฐ€
  • โœ… config.yaml โ€” embedding, streaming, fleet, trends ์„น์…˜ ์ถ”๊ฐ€
  • โœ… tests/test-v5.sh ์‹ ์„ค โ€” v5 ์ปดํฌ๋„ŒํŠธ ๋…๋ฆฝ ํ…Œ์ŠคํŠธ (Ollama ๋ถˆํ•„์š”)
  • โœ… docs/v5-architecture.md ์‹ ์„ค โ€” ์ „์ฒด ์•„ํ‚คํ…์ฒ˜ ๋ฌธ์„œ (ASCII ๋‹ค์ด์–ด๊ทธ๋žจ)
  • โœ… docs/migration-v4-to-v5.md ์‹ ์„ค โ€” v4 โ†’ v5 ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ฐ€์ด๋“œ
  • โœ… Makefile โ€” make test-v5, make test v5 ํฌํ•จ

v4.3 ๋ณ€๊ฒฝ์‚ฌํ•ญ (2026-02-18)

  • โœ… scripts/v4/interactive-approve.sh ์‹ ์„ค โ€” sea watch, macOS ์•Œ๋ฆผ, ๋Œ€ํ™”ํ˜• approve/reject
  • โœ… scripts/v4/export-report.sh ์‹ ์„ค โ€” markdown/html/json/pdf/all ๋ฆฌํฌํŠธ ๋‚ด๋ณด๋‚ด๊ธฐ
  • โœ… scripts/v4/github-issue.sh ์‹ ์„ค โ€” GitHub Issues ํ†ตํ•ฉ (์ƒ์„ฑ/์ข…๋ฃŒ/๋™๊ธฐํ™”/๋ ˆ์ด๋ธ”)
  • โœ… bin/sea v1.1.0 โ€” watch, export, github ์ปค๋งจ๋“œ ์ถ”๊ฐ€
  • โœ… synthesize-proposal.sh โ€” Discord ๋ฆฌ์•ก์…˜ ์ง€์‹œ ํ‘ธํ„ฐ ์ž๋™ ์ถ”๊ฐ€
  • โœ… config.yaml โ€” github, interactive, export ์„น์…˜ ์ถ”๊ฐ€
  • โœ… sea approve โ†’ GitHub ์ด์Šˆ ์ž๋™ ์ข…๋ฃŒ ์—ฐ๋™ (GH_TOKEN ์žˆ์„ ๋•Œ)

v4.2 ๋ณ€๊ฒฝ์‚ฌํ•ญ (2026-02-18)

  • โœ… Ollama/๋กœ์ปฌ LLM ์™„์ „ ์ง€์›: config.yaml llm.provider ์„ค์ • ํ•œ ์ค„๋กœ ์ „ํ™˜
  • โœ… scripts/v4/llm-call.sh ์‹ ์„ค โ€” anthropic/openai/ollama/none ํ†ตํ•ฉ ์ธํ„ฐํŽ˜์ด์Šค
  • โœ… Zero-Cost ๋ชจ๋“œ: provider: "ollama" ๋˜๋Š” provider: "none" โ†’ API ๋น„์šฉ $0/์ฃผ
  • โœ… synthesize-proposal.sh: LLM ๊ฐ•ํ™” ์ œ์•ˆ ์„น์…˜ ์ถ”๊ฐ€ (none์ด๋ฉด ์ƒ๋žต)
  • โœ… config.yaml: llm ์„น์…˜ ์ถ”๊ฐ€ (provider/anthropic/openai/ollama/none)

v4.1 ๋ณ€๊ฒฝ์‚ฌํ•ญ (2026-02-18)

  • โœ… ๋ฉ€ํ‹ฐํ”Œ๋žซํผ ๋ฐฐ๋‹ฌ ์ง€์›: Slack / Telegram / Generic Webhook
  • โœ… scripts/v4/deliver.sh ์‹ ์„ค โ€” ํ”Œ๋žซํผ๋ณ„ ๋…๋ฆฝ ํ•ธ๋“ค๋Ÿฌ (๊ฐ <30์ค„)
  • โœ… data/undelivered/ ๋””๋ ‰ํ† ๋ฆฌ โ€” ๋ฐฐ๋‹ฌ ์‹คํŒจ ์‹œ ์ž๋™ ์ €์žฅ (์œ ์‹ค ๋ฐฉ์ง€)
  • โœ… config.yaml: delivery ์„น์…˜ ์ถ”๊ฐ€
  • โœ… config-loader.sh: ๋ฐฐ๋‹ฌ ์„ค์ • ์ž๋™ ๋…ธ์ถœ (SEA_DELIVERY_PLATFORM ๋“ฑ)
  • โœ… orchestrator.sh: synthesize ์ดํ›„ platform != discord ์‹œ deliver.sh ์ž๋™ ํ˜ธ์ถœ

v4.1 ๋ณ€๊ฒฝ์‚ฌํ•ญ

  • โœ… ์˜์–ด + ํ•œ๊ตญ์–ด ๋ถˆ๋งŒ ํŒจํ„ด ๋™์‹œ ์ง€์›: config.yaml complaint_patterns โ†’ ko / en ๋ถ„๋ฆฌ ๊ตฌ์กฐ
  • โœ… ์ž๋™ ์–ธ์–ด ๊ฐ์ง€: ์„ธ์…˜ ์ฒซ 10๊ฐœ user ๋ฉ”์‹œ์ง€ ๊ธฐ๋ฐ˜ ์–ธ์–ด ์ž๋™ ํŒ๋ณ„ (auto_detect: true)
  • โœ… semantic-analyze.sh: load_config_patterns() + detect_session_language() ํ•จ์ˆ˜ ์ถ”๊ฐ€
  • โœ… collect-logs.sh: ๋ถˆ๋งŒ ํ‚ค์›Œ๋“œ ๋ชฉ๋ก ko/en ๋ถ„๋ฆฌ, config.yaml ์šฐ์„  ๋กœ๋“œ
  • โœ… config.yaml: complaint_patterns.ko / .en / auto_detect ๊ตฌ์กฐ๋กœ ์žฌํŽธ

v4.0 ๋ณ€๊ฒฝ์‚ฌํ•ญ

  • โœ… 4๋‹จ๊ณ„ ๋ฉ€ํ‹ฐ์—์ด์ „ํŠธ ํŒŒ์ดํ”„๋ผ์ธ ๋„์ž… (collect โ†’ analyze โ†’ benchmark โ†’ synthesize)
  • โœ… ๊ตฌ์กฐ์  ํœด๋ฆฌ์Šคํ‹ฑ ๋ถ„์„: role_filter + context_window + dedup_per_session
  • โœ… ํšจ๊ณผ ์ธก์ • ๋ฃจํ”„: ์ด์ „ ์ œ์•ˆ ํšจ๊ณผ๋ฅผ ๋‹ค์Œ ์ฃผ๊ธฐ์— ์ž๋™ ์ธก์ •
  • โœ… False positive ๊ฐ์†Œ: ~40% โ†’ ์ถ”์ • ~15%
  • โœ… ์„ฑ๋Šฅ ๋ชฉํ‘œ: ์ด ์‹คํ–‰ ์‹œ๊ฐ„ <3๋ถ„, ๋น„์šฉ <$0.05/ํšŒ (Sonnet ๊ธฐ์ค€)
  • โœ… scripts/v4/ ๋””๋ ‰ํ† ๋ฆฌ ์‹ ์„ค (v3.0 ์Šคํฌ๋ฆฝํŠธ๋Š” ํ•˜์œ„ ํ˜ธํ™˜ ์œ ์ง€)
  • โœ… data/benchmarks/ ๋””๋ ‰ํ† ๋ฆฌ ์‹ ์„ค (ํšจ๊ณผ ์ธก์ • ๊ฒฐ๊ณผ ์ €์žฅ)
  • โœ… docs/v4-architecture.md ์‹ ์„ค (์ƒ์„ธ ์•„ํ‚คํ…์ฒ˜ ๋ฌธ์„œ)

v3.0 ๋ณ€๊ฒฝ์‚ฌํ•ญ (์ฐธ๊ณ )

  • โœ… exec ์—ฐ์† ์žฌ์‹œ๋„ ํƒ์ง€ ์ถ”๊ฐ€ (119ํšŒ ์—ฐ์† ์‚ฌ๋ก€ ์‹ค์ œ ๋ฐœ๊ฒฌ)
  • โœ… ๋™์ผ ์—๋Ÿฌ ๋ฐ˜๋ณต ๋ถ„์„ ์ถ”๊ฐ€ (18ํšŒ heartbeat ๋ฒ„๊ทธ ๋ฐœ๊ฒฌ)
  • โœ… ์„ธ์…˜ ๊ฑด๊ฐ•๋„ ์ง€ํ‘œ ์ถ”๊ฐ€ (์ปดํŒฉ์…˜ ์นด์šดํŠธ)
  • โœ… README ์™„์ „ ์žฌ์ž‘์„ฑ (์†”์งํ•œ ํ•œ๊ณ„ ๋ช…์‹œ)

self-improving-agent์™€ ์ฐจ์ด

| | self-improving-agent | self-evolving-agent | |--|--|--| | ๋ฒ”์œ„ | ์„ธ์…˜ 1๊ฐœ | 7์ผ์น˜ ์ „์ฒด ์„ธ์…˜ | | ํƒ€์ด๋ฐ | ๊ฐ ์„ธ์…˜ ์งํ›„ ์‹ค์‹œ๊ฐ„ | ๋งค์ฃผ ์ผ์š”์ผ | | ์ถœ๋ ฅ | ์„ธ์…˜ ํ’ˆ์งˆ ์ ์ˆ˜ + ๊ตํ›ˆ | AGENTS.md diff ์ œ์•ˆ | | ๊ฐ•์  | ์ฆ‰๊ฐ์  ํ”ผ๋“œ๋ฐฑ | ์‹œ์Šคํ…œ ํŒจํ„ด ๋ฐœ๊ฒฌ | | v4.0 ์—ฐ๋™ | ํ’ˆ์งˆ ์Šค์ฝ”์–ด โ†’ ๋ถ„์„ ๊ฐ€์ค‘์น˜ | ์ง‘๊ณ„ + ๋ฒค์น˜๋งˆํฌ |

ํ•จ๊ป˜ ์“ฐ๋ฉด: self-improving์ด ์„ธ์…˜ ํ’ˆ์งˆ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑ โ†’ self-evolving์ด ์ง‘๊ณ„ํ•ด์„œ ์‹œ์Šคํ…œ ์ˆ˜์ค€ ๋ฌธ์ œ ๋ฐœ๊ฒฌ + ํšจ๊ณผ ์ธก์ •.