Self-Evolving Agent 🧠

AI λΉ„μ„œκ°€ 자기 둜그λ₯Ό λΆ„μ„ν•΄μ„œ AGENTS.md κ°œμ„ μ•ˆμ„ μ œμ•ˆν•˜λŠ” μžλ™ν™”. v5.0: μ‹œλ§¨ν‹± μž„λ² λ”©(Ollama nomic-embed-text, FP ~8%), μ‹€μ‹œκ°„ 슀트리밍 λͺ¨λ‹ˆν„°(<30초 μ•Œλ¦Ό), ν”Œλ¦Ώ 뢄석(닀쀑 μΈμŠ€ν„΄μŠ€). v4.3: λŒ€ν™”ν˜• 승인, 멀티포맷 리포트, GitHub Issues. v4.2: Ollama LLM. v4.1: λ©€ν‹°ν”Œλž«νΌ 배달. v4.0: 4단계 νŒŒμ΄ν”„λΌμΈ. μ œμ•ˆλ§Œ 함, 직접 μˆ˜μ • μ ˆλŒ€ μ—†μŒ.

Audits

Pending

Install

openclaw skills install self-evolving-agent

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.0v4.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-agentself-evolving-agent
λ²”μœ„μ„Έμ…˜ 1개7일치 전체 μ„Έμ…˜
타이밍각 μ„Έμ…˜ 직후 μ‹€μ‹œκ°„λ§€μ£Ό μΌμš”μΌ
좜λ ₯μ„Έμ…˜ ν’ˆμ§ˆ 점수 + κ΅ν›ˆAGENTS.md diff μ œμ•ˆ
강점즉각적 ν”Όλ“œλ°±μ‹œμŠ€ν…œ νŒ¨ν„΄ 발견
v4.0 μ—°λ™ν’ˆμ§ˆ μŠ€μ½”μ–΄ β†’ 뢄석 κ°€μ€‘μΉ˜μ§‘κ³„ + 벀치마크

ν•¨κ»˜ μ“°λ©΄: self-improving이 μ„Έμ…˜ ν’ˆμ§ˆ 데이터λ₯Ό 생성 β†’ self-evolving이 μ§‘κ³„ν•΄μ„œ μ‹œμŠ€ν…œ μˆ˜μ€€ 문제 발견 + 효과 μΈ‘μ •.