μ΄λ€ μμ΄μ νΈ μν¬νλ‘μ°λ‘λ λΆνν μ μλ λ§λ₯μ€κΈ°μΈν¬(Pluripotent Stem Cell) νλ μμν¬.
볡μ‘ν μμ μ μν¬νλ‘μ°λ‘ μ€κ³νκ³ , κ·Έ μν¬νλ‘μ°λ₯Ό μ€μ λ‘ κ΅¬ννμ¬ λμμν€λ κ²μ΄ λͺ©νμ λλ€. μ€κΈ°μΈν¬κ° μ΄λ€ μΈν¬λ‘λ λΆννλ―, μ΄ νλ μμν¬λ νλμ μ½λλ² μ΄μ€μμ μ°κ΅¬Β·λΆμΒ·κ°λ°Β·μλν λ± μ΄λ€ λλ©μΈμ μμ΄μ νΈ μν¬νλ‘μ°λ μμ±νκ³ μ€νν μ μμ΅λλ€.
κ·Έλ¦¬κ³ μ€κΈ°μΈν¬μ λΆνμμ κ°μ₯ μ€μν μ¬μ€ β λΆνλ λͺ¨λ μΈν¬λ λΆλͺ¨μ μ 체 κ²λμ κ·Έλλ‘ κ°κ³ μμ΅λλ€.
μ΄ μ½λλ² μ΄μ€μμ νμ΄λλ λͺ¨λ μμ μμ€ν
μ, λͺ©μ μ λ€λ₯΄μ§λ§, λΆλͺ¨μ μ 체 DNA(μ λ κΈ°μ€, νμ§ λ³΄μ₯, μμ μ₯μΉ, κΈ°μ΅ μ²΄κ³ λ±)λ₯Ό
ꡬ쑰μ μΌλ‘ λ΄μ₯ν©λλ€. μμΈ: soul.md
Phase 1: μν¬νλ‘μ° μ€κ³ β workflow.md (μ€κ³λ)
Phase 2: μν¬νλ‘μ° κ΅¬ν β μ€μ λμνλ μμ€ν
(μ΅μ’
μ°μΆλ¬Ό)
μν¬νλ‘μ°λ₯Ό λ§λλ κ²μ μ€κ° μ°μΆλ¬Όμ λλ€. μν¬νλ‘μ°μ κΈ°μ λ λ΄μ©μ΄ μ€μ λ‘ λμνλ κ²μ΄ μ΅μ’ λͺ©νμ λλ€.
λͺ¨λ μν¬νλ‘μ°λ 3λ¨κ³λ‘ ꡬμ±λ©λλ€:
- Research β μ 보 μμ§ λ° λΆμ
- Planning β κ³ν μ립, ꡬ쑰ν, μ¬λμ κ²ν /μΉμΈ
- Implementation β μ€μ μ€ν λ° μ°μΆλ¬Ό μμ±
AgenticWorkflow/
βββ CLAUDE.md # Claude Code μ μ© μ§μμ (κ²½λ TOC)
βββ AGENTS.md # λͺ¨λ AI μμ΄μ νΈ κ³΅ν΅ μ§μμ (Hub β λ°©λ²λ‘ SOT)
βββ GEMINI.md # Gemini CLI μ μ© (Spoke)
βββ AGENTICWORKFLOW-USER-MANUAL.md # μ¬μ©μ λ§€λ΄μΌ
βββ AGENTICWORKFLOW-ARCHITECTURE-AND-PHILOSOPHY.md # μ€κ³ μ² ν λ° μν€ν
μ² μ 체 μ‘°κ°λ
βββ DECISION-LOG.md # νλ‘μ νΈ μ€κ³ κ²°μ λ‘κ·Έ (ADR, 51κ°+)
βββ COPYRIGHT.md # μ μκΆ
βββ soul.md # νλ‘μ νΈ μνΌ (μμ μμ€ν
μ μ μ λλ DNA μ μ)
βββ docs/protocols/ # μμΈ νλ‘ν μ½ (on-demand μ°Έμ‘°)
β βββ autopilot-execution.md # μν¬νλ‘μ° μ€ν 체ν¬λ¦¬μ€νΈ + NEVER DO
β βββ quality-gates.md # L0-L2 4κ³μΈ΅ + P1 κ²μ¦ 14νλͺ© μμΈ
β βββ ulw-mode.md # ULW κ°ν κ·μΉ 3κ° + λ°νμ λ©μ»€λμ¦
β βββ context-preservation-detail.md # Hook λ΄λΆ λ©μ»€λμ¦ + D-7 μΈμ€ν΄μ€
β βββ code-change-protocol.md # CCP 3λ¨κ³ + CAP + λΉλ‘μ± κ·μΉ
βββ .claude/
β βββ settings.json # Hook μ€μ
β βββ agents/ # μλΈμμ΄μ νΈ (reviewer, fact-checker, translator)
β βββ commands/ # Slash Commands (6κ°: /install, /maintenance, /run-prompts, /resume-prompts, /setup-prompts, /verify-prompts)
β βββ hooks/scripts/ # 22κ° Hook μ€ν¬λ¦½νΈ + Setup 2κ° + ν
μ€νΈ 3κ° (CP 5 + Safety 5 + Validation 9 + Obs/Diag 2 + 곡μ λΌμ΄λΈλ¬λ¦¬ 1 + Setup 2 + Test 3)
β βββ context-snapshots/ # λ°νμ μ€λ
μ· (gitignored)
β βββ skills/
β βββ workflow-generator/ # μν¬νλ‘μ° μ€κ³Β·μμ± μ€ν¬
β βββ doctoral-writing/ # λ°μ¬κΈ νμ κΈμ°κΈ° μ€ν¬
βββ prompt-runner/ # ν둬ννΈ λ¬λ β 110κ° ν둬ννΈ μλ μμ°¨ μ€ν λꡬ
β βββ run.py # μΈμ
ID μΊ‘μ²Β·μ¬κ°, 3κ³μΈ΅ κ²μ¦, stagnation κ°μ§
β βββ manifest.json # 110κ° ν둬ννΈ λ©νλ°μ΄ν° (ν΄μ, ν¬κΈ°, /clear νλκ·Έ)
β βββ prompt-refining-strategy.md # ν둬ννΈ μ¬μ€κ³ νλ μμν¬
β βββ prompts/ # 001.txt ~ 110.txt (35κ° μΈμ
, /clear λΈλ‘ ν¬ν¨)
βββ prompt/ # PRD μ¬μΈ΅μ‘°μ¬ νλ μμν¬ + μμ΄μ νΈ ν둬ννΈ μλ£
β βββ prd_teammate_executable.md
β βββ Coding_Implementation_DeepDive_PRD_Teammate_Executable.md
β βββ Technology_Development_DeepDive_PRD_Teammate_Executable.md
β βββ External_Integration_DeepDive_PRD_Teammate_Executable.md
β βββ (crystalize-prompt.md, distill-partner.md λ±)
βββ translations/glossary.yaml # λ²μ μ©μ΄ μ¬μ (@translator SOT)
βββ coding-resource/ # μ΄λ‘ μ κΈ°λ° μλ£
βββ recursive language models.pdf # MIT CSAIL RLM λ
Όλ¬Έ
| μ€ν¬ | μ€λͺ |
|---|---|
| workflow-generator | Research β Planning β Implementation 3λ¨κ³ ꡬ쑰μ workflow.mdλ₯Ό μ€κ³Β·μμ±. Sub-agents, Agent Teams, Hooks, Skillsλ₯Ό μ‘°ν©ν ꡬν μ€κ³ ν¬ν¨. |
| doctoral-writing | λ°μ¬κΈ νμ λ Όλ¬Έμ νλ¬Έμ μλ°μ±κ³Ό λͺ λ£μ±μ κ°μΆ κΈμ°κΈ° μ§μ. νκ΅μ΄Β·μμ΄ λͺ¨λ μ§μ. |
.claude/agents/μ μ μλ μ λ¬Έ μμ΄μ νΈ. μν¬νλ‘μ°μ Review: λλ Translation: νλλ‘ νΈμΆλλ©°, κ°μ λΆλͺ¨ DNA(μ λ κΈ°μ€, νμ§ κ²μ΄νΈ, SOT, pACS μκΈ°μ±μ )λ₯Ό λ΄μ₯ν©λλ€.
| μλΈμμ΄μ νΈ | μν | μ£Ό νΈμΆ μ§μ |
|---|---|---|
| @reviewer | μ λμ λ¦¬λ·°μ΄ β Enhanced L2 νμ§ κ³μΈ΅. μ°μΆλ¬Όμ 곡격μ μΌλ‘ λΉννμ¬ μ½μ Β·λ Όλ¦¬μ λΉμ½Β·λ―Έκ²μ¦ μ£Όμ₯μ λ°κ΅΄. λ 립μ pACS(F/C/L) μ¬μ±μ | Review: νλκ° μ§μ λ λ¨κ³ |
| @fact-checker | μ¬μ€ κ²μ¦ μ λ¬Έκ° β claim-by-claim λΆμ. μΈλΆ μΆμ² κ²μ¦(WebSearch/WebFetch) + μΈμ© μ νμ± + μμΉΒ·λ μ§Β·κ³ μ λͺ μ¬ ν¬λ‘μ€μ²΄ν¬ | Review: νλμ + @fact-checker μΆκ° μ |
| @translator | μβν λ²μ μ λ¬Έκ° β translations/glossary.yaml μ©μ΄ μ¬μ κΈ°λ° μΌκ΄μ±. 7λ¨κ³ νλ‘ν μ½(pre-mortem β λ²μ β μκΈ°κ²ν β pACS) + 4κ³μΈ΅ μκ²°μ± κ²μ¦. ADR-051λ‘ memory: project μ±ν |
Translation: @translator νλκ° μ§μ λ λ¨κ³ |
.claude/commands/μ μ μλ 6κ° λͺ
λ Ήμ΄. μΈμ
λ΄μμ /λͺ
λ Ήμ΄λ‘ νΈμΆν©λλ€.
| λͺ λ Ήμ΄ | μν |
|---|---|
/install |
Setup Init κ²μ¦ β Python, PyYAML, μ€ν¬λ¦½νΈ ꡬ문, λλ ν°λ¦¬, SOT μ°κΈ° ν¨ν΄ λ¬΄κ²°μ± νμΈ |
/maintenance |
μ£ΌκΈ°μ κ±΄κ° κ²μ§ β stale archives, knowledge-index, work_log ν¬κΈ°, doc-code λκΈ°ν(DC-1~DC-6) |
/setup-prompts |
ν둬ννΈ λ¬λ μ΄κΈ°ν β 110κ° ν둬ννΈμ placeholder(μ λͺ©Β·λͺ©ν) μΉν |
/verify-prompts |
ν둬ννΈ νμΌ λ¬΄κ²°μ± κ²μ¦ β ν΄μΒ·ν¬κΈ°Β·κ΅¬λ¬Έ νμΈ |
/run-prompts |
ν둬ννΈ λ¬λ μμ β 001.txtλΆν° μμ°¨ μλ μ€ν |
/resume-prompts |
μ€λ¨λ λ¬λ μ¬κ° β state.jsonμ μ μ₯λ λ§μ§λ§ μμΉλΆν° μ΄μ΄μ μ€ν |
μ₯μκ° λ€λ¨κ³ ν둬ννΈ μνμ€λ₯Ό λ¬΄μΈ μλ μ€ννλ λꡬμ
λλ€. 110κ°μ λ²νΈκ° λ§€κ²¨μ§ ν둬ννΈ λΈλ‘(001.txt~110.txt)μ μμλλ‘ Claude Codeμ μ£Όμ
νλ©°, 3λ²μ§Έ ν둬ννΈλ§λ€ /clearλ‘ μ»¨ν
μ€νΈλ₯Ό λΆλ¦¬νμ¬ μ΄ 35κ° λ
립 μΈμ
μΌλ‘ λ³λ ¬ νμΒ·κ²μ¦Β·ν΅ν©μ μνν©λλ€.
- μΈμ
κ΄λ¦¬: pipe λͺ¨λλ‘ μΈμ
ID μΊ‘μ² ν
--resumeμΌλ‘ μ΄μ΄ μ€ν./clearλΈλ‘ μλ μ²λ¦¬ - 3κ³μΈ΅ κ²μ¦:
- Silent Failure ν€μλ νμ§ β "μλ΅", "μ€ν΅", "TODO" λ± μ€ν¨ μ§ν κ°μ§ μ μ¬μλ
- νμΌ λ³κ²½ μ€λ μ· β ν둬ννΈ μ€ν μ Β·ν νμΌ μμ€ν diffλ‘ μ€μ μ°μΆλ¬Ό νμΈ
- State Tracking β
state.jsonμ μ€ν μνΒ·μλ£ λ³΄κ³ μ μ μ₯ (μ¬κ° κΈ°λ°)
- Extended Thinking: ν둬ννΈλΉ ~16K ν ν°μ νμ₯ μ¬κ³ μμ° ν λΉ
- Stagnation Watchdog: idle timeout κ°μ§ μ μλ νμ
- Rate-limit λμ: intelligent retry + μ§μ λ°±μ€ν
- μλ£ λ³΄κ³ μ κ°μ μ£Όμ : κ° ν둬ννΈ μ’ λ£ μ meta(exit code, session ID, μμ μκ°, νμΌ λ³κ²½ λͺ©λ‘) μλ κΈ°λ‘
Research λ¨κ³μ λ³λ ¬ μ¬μΈ΅μ‘°μ¬ μλνκ° μ£Ό μ©λμ
λλ€. prompt/ λλ ν°λ¦¬μ PRD νλ μμν¬(κΈ°μ κ°λ°Β·μ½λ© ꡬνΒ·μΈλΆ ν΅ν© μ¬μΈ΅μ‘°μ¬)μ κ²°ν©νμ¬, κ° μΈμ
μ΄ λ
립μ μΌλ‘ νΉμ κ΄μ μ νμν λ€ μ΅μ’
ν΅ν© λ¨κ³μμ final-research.mdλ‘ μλ ΄ν©λλ€.
μμΈ: prompt-runner/prompt-refining-strategy.md
컨ν
μ€νΈ ν ν° μ΄κ³Ό, /clear, 컨ν
μ€νΈ μμΆ μ μμ
λ΄μμ΄ μμ€λλ κ²μ λ°©μ§νλ μλ μ μ₯·볡μ μμ€ν
μ
λλ€. 5κ°μ Hook μ€ν¬λ¦½νΈκ° μμ
λ΄μμ MD νμΌλ‘ μλ μ μ₯νκ³ , μ μΈμ
μμ μ RLM ν¨ν΄(ν¬μΈν° + μμ½ + μλ£ μν + Git μν)μΌλ‘ μ΄μ λ§₯λ½μ 볡μν©λλ€. Knowledge Archiveμλ μΈμ
λ³ phase(λ¨κ³), phase_flow(λ€λ¨κ³ μ ν νλ¦), primary_language(μ£Όμ μΈμ΄), error_patterns(Error Taxonomy 12ν¨ν΄ λΆλ₯ + resolution λ§€μΉ), tool_sequence(RLE μμΆ λꡬ μνμ€), final_status(μΈμ
μ’
λ£ μν), tags(κ²½λ‘ κΈ°λ° κ²μ νκ·Έ), session_duration_entries(μΈμ
κΈΈμ΄) λ©νλ°μ΄ν°κ° μλ κΈ°λ‘λ©λλ€. μ€λ
μ·μ μ€κ³ κ²°μ μ νμ§ νκ·Έ μ°μ μμλ‘ μ λ ¬λμ΄ λ
Έμ΄μ¦κ° μ κ±°λκ³ , μ€λ
μ· μμΆ μ IMMORTAL μΉμ
μ΄ μ°μ 보쑴λλ©°(μμΆ κ°μ¬ μΆμ ν¬ν¨), λͺ¨λ νμΌ μ°κΈ°μ atomic write(temp β rename) ν¨ν΄μ΄ μ μ©λ©λλ€. P1 ν 루μλ€μ΄μ
λ΄μλ‘ KI μ€ν€λ§ κ²μ¦, λΆλΆ μ€ν¨ 격리, SOT μ°κΈ° ν¨ν΄ κ²μ¦, SOT μ€ν€λ§ κ²μ¦μ΄ κ²°μ λ‘ μ μΌλ‘ μνλ©λλ€.
| μ€ν¬λ¦½νΈ | νΈλ¦¬κ±° | μν |
|---|---|---|
context_guard.py |
(Hook λμ€ν¨μ²) | Hook ν΅ν© μ§μ
μ . --modeμ λ°λΌ μ μ ν μ€ν¬λ¦½νΈλ‘ λΌμ°ν
|
save_context.py |
SessionEnd, PreCompact | μ 체 μ€λ μ· μ μ₯ |
restore_context.py |
SessionStart | ν¬μΈν°+μμ½μΌλ‘ 볡μ |
update_work_log.py |
PostToolUse | 9κ° λꡬ(Edit, Write, Bash, Task, NotebookEdit, TeamCreate, SendMessage, TaskCreate, TaskUpdate) μμ λ‘κ·Έ λμ , 75% threshold μ μλ μ μ₯ |
generate_context_summary.py |
Stop | λ§€ μλ΅ ν μ¦λΆ μ€λ μ· + Knowledge Archive μμΉ΄μ΄λΉ (30μ΄ throttling, E5 Guard) |
_context_lib.py |
(곡μ λΌμ΄λΈλ¬λ¦¬) | νμ±, μμ±, SOT μΊ‘μ², ν ν° μΆμ , Smart Throttling, Autopilot μν μ½κΈ°Β·κ²μ¦, ULW κ°μ§Β·μ€μ κ²μ¦, μ μ μμ μ€μν(10κ°), sot_paths() κ²½λ‘ ν΅ν©, λ€λ¨κ³ μ ν κ°μ§, κ²°μ νμ§ νκ·Έ μ λ ¬, Error Taxonomy 12ν¨ν΄ λΆλ₯+Resolution λ§€μΉ, IMMORTAL-aware μμΆ+κ°μ¬ μΆμ , E5 Guard μ€μν, Knowledge Archive ν΅ν©(λΆλΆ μ€ν¨ 격리), KI μ€ν€λ§ κ²μ¦, SOT μ€ν€λ§ κ²μ¦, Adversarial Review P1 κ²μ¦, Translation P1 κ²μ¦, pACS P1 κ²μ¦, Cross-Step Traceability P1 κ²μ¦, Domain Knowledge P1 κ²μ¦, Predictive Debugging P1, Abductive Diagnosis Layer(μ¬μ μ¦κ±° μμ§ + μ¬ν κ²μ¦ + KA μμΉ΄μ΄λΉ + Fast-Path) |
setup_init.py |
Setup (--init) |
μΈμ μμ μ μΈνλΌ κ±΄κ° κ²μ¦ (Python, PyYAML, μ€ν¬λ¦½νΈ ꡬ문, λλ ν°λ¦¬) + SOT μ°κΈ° ν¨ν΄ κ²μ¦(P1 ν 루μλ€μ΄μ λ΄μ) |
output_secret_filter.py |
PostToolUse (Bash|Read) | λꡬ μΆλ ₯ μν¬λ¦Ώ νμ§ β 3-tier μΆμΆ(tool_responseβfile_pathβtranscript), 25+ ν¨ν΄, 2-ν¨μ€ μ€μΊ(raw+decoded). P1 ν 루μλ€μ΄μ λ΄μ |
security_sensitive_file_guard.py |
PostToolUse (Edit|Write) | 보μ λ―Όκ° νμΌ μμ κ²½κ³ β .env, credentials, *.pem λ± 12κ° ν¨ν΄. exit 0 (κ²½κ³ μ μ©) |
setup_maintenance.py |
Setup (--maintenance) |
μ£ΌκΈ°μ κ±΄κ° κ²μ§ (stale archives, knowledge-index 무결μ±, work_log ν¬κΈ°, doc-code λκΈ°ν κ²μ¦(DC-1~DC-6)) |
block_destructive_commands.py |
PreToolUse (Bash) | μν λͺ λ Ή μ€ν μ μ°¨λ¨ (git push --force, git reset --hard, rm -rf / λ±). exit code 2 + stderr νΌλλ°± (P1 ν 루μλ€μ΄μ λ΄μ) |
block_test_file_edit.py |
PreToolUse (Edit|Write) | TDD λͺ¨λ(.tdd-guard μ‘΄μ¬) μ ν
μ€νΈ νμΌ μμ μ°¨λ¨. exit code 2 + stderr νΌλλ°± |
predictive_debug_guard.py |
PreToolUse (Edit|Write) | μλ¬ μ΄λ ₯ κΈ°λ° μν νμΌ μ¬μ κ²½κ³ . risk-scores.json μΊμ μ‘°ν β μκ³κ° μ΄κ³Ό μ stderr κ²½κ³ (exit code 0, κ²½κ³ μ μ©) |
diagnose_context.py |
(λ 립 μ€ν¬λ¦½νΈ) | Abductive Diagnosis μ¬μ μ¦κ±° μμ§ β νμ§ κ²μ΄νΈ FAIL μ μ¦κ±° λ²λ€(retry history, upstream evidence, hypothesis priority) μμ§. Orchestratorκ° μλ νΈμΆ |
validate_diagnosis.py |
(λ 립 μ€ν¬λ¦½νΈ) | Abductive Diagnosis P1 μ¬ν κ²μ¦ β AD1-AD10 ꡬ쑰μ λ¬΄κ²°μ± κ²μ¦. Orchestratorκ° μλ νΈμΆ |
ν
μ€νΈ 컀λ²λ¦¬μ§: Safety Hook 3μ’
μ λν΄ 131κ° μλν ν
μ€νΈ (output_secret_filter: 44 β λ¨μ 22+Tier3 ν΅ν© 8+Tier1 ν΅ν© 9+Tier2 ν΅ν© 5 / security_sensitive_file_guard: 44 / block_destructive_commands: 43). setup_init.pyκ° μΈμ
μμ μ μ 체 κ²μ¦, setup_maintenance.pyκ° DC-1~DC-6μΌλ‘ doc-code λκΈ°ν κ²μ¦.
μν¬νλ‘μ°λ₯Ό 무μ€λ¨μΌλ‘ μ€ννλ λͺ¨λμ
λλ€. (human) λ¨κ³λ₯Ό νμ§ κ·Ήλν κΈ°λ³Έκ°μΌλ‘ μλ μΉμΈνκ³ , (hook) exit code 2λ κ·Έλλ‘ μ°¨λ¨ν©λλ€.
- Anti-Skip Guard: κ° λ¨κ³ μλ£ μ μ°μΆλ¬Ό νμΌ μ‘΄μ¬ + μ΅μ ν¬κΈ°(100 bytes) κ²μ¦
- Decision Log: μλ μΉμΈ κ²°μ μ
autopilot-logs/step-N-decision.mdμ κΈ°λ‘ - λ°νμ κ°ν: Hook κΈ°λ° μ»¨ν μ€νΈ μ£Όμ + μ€λ μ· λ΄ Autopilot μν 보쑴
μμΈ: AGENTS.md Β§5.1
ν둬ννΈμ ulwλ₯Ό ν¬ν¨νλ©΄ νμ±νλλ μ² μ ν¨ κ°λ(thoroughness intensity) μ€λ²λ μ΄μ
λλ€. Autopilot(μλν μΆ)κ³Ό μ§κ΅νμ¬ μ΄λ€ μ‘°ν©μ΄λ κ°λ₯ν©λλ€.
- I-1. Sisyphus Persistence: μ΅λ 3ν μ¬μλ, κ° μλλ λ€λ₯Έ μ κ·Όλ². 100% μλ£ λλ λΆκ° μ¬μ 보κ³
- I-2. Mandatory Task Decomposition: TaskCreate β TaskUpdate β TaskList νμ
- I-3. Bounded Retry Escalation: λμΌ λμ 3ν μ΄κ³Ό μ¬μλ κΈμ§(νμ§ κ²μ΄νΈλ λ³λ μμ° μ μ©)
- Compliance Guard: Python Hookμ΄ 3κ° κ°ν κ·μΉμ μ€μλ₯Ό κ²°μ λ‘ μ μΌλ‘ κ²μ¦ (μ€λ μ· IMMORTAL 보쑴)
μμΈ: docs/protocols/ulw-mode.md
μν¬νλ‘μ° κ° λ¨κ³μ μ°μΆλ¬Όμ΄ κΈ°λ₯μ λͺ©νλ₯Ό 100% λ¬μ±νλμ§ κ²μ¦νλ λ€κ³μΈ΅ νμ§ λ³΄μ₯ μμ€ν μ λλ€.
| κ³μΈ΅ | μ΄λ¦ | κ²μ¦ λμ | μ±κ²© |
|---|---|---|---|
| L0 | Anti-Skip Guard | νμΌ μ‘΄μ¬ + β₯ 100 bytes | κ²°μ λ‘ μ (Hook) |
| L1 | Verification Gate | κΈ°λ₯μ λͺ©ν 100% λ¬μ± | μλ―Έλ‘ μ (Agent μκΈ°κ²μ¦) |
| L1.5 | pACS Self-Rating | F/C/L 3μ°¨μ μ λ’°λ | Pre-mortem Protocol κΈ°λ° |
| L2 | Adversarial Review (Enhanced) | μ λμ κ²ν (@reviewer + @fact-checker) |
Review: νλ μ§μ λ¨κ³ |
- κ²μ¦ κΈ°μ€ μ ν μ μΈ: μν¬νλ‘μ°μ κ° λ¨κ³μ
Verificationνλλ‘ κ΅¬μ²΄μ Β·μΈ‘μ κ°λ₯ν κΈ°μ€μ Task μμ μ μ - pACS (predicted Agent Confidence Score): Pre-mortem Protocol ν F(Factual Grounding), C(Completeness), L(Logical Coherence) μ±μ . min-score μμΉ: pACS = min(F,C,L)
- νλ νΈλ¦¬κ±°: GREEN(β₯70) μλ μ§ν, YELLOW(50-69) νλκ·Έ ν μ§ν, RED(<50) μ¬μμ
- Adversarial Review (L2):
@reviewer(μ½λ/μ°μΆλ¬Ό λΉνμ λΆμ) +@fact-checker(μΈλΆ μ¬μ€ κ²μ¦) Sub-agentλ‘ λ 립μ κ²ν . P1 κ²μ¦(validate_review.py)μΌλ‘ 리뷰 νμ§ λ³΄μ₯ - Team 3κ³μΈ΅ κ²μ¦: L1(Teammate μκΈ°κ²μ¦) + L1.5(pACS μκΈ°μ±μ ) + L2(Team Lead μ’ ν©κ²μ¦ + λ¨κ³ pACS)
- κ²μ¦ λ‘κ·Έ:
verification-logs/step-N-verify.md,pacs-logs/step-N-pacs.md - Abductive Diagnosis: νμ§ κ²μ΄νΈ(Verification/pACS/Review) FAIL β μ¬μλ μ¬μ΄μ 3λ¨κ³ ꡬ쑰νλ μ§λ¨(P1 μ¬μ μ¦κ±° μμ§ β LLM μμΈ λΆμ β P1 μ¬ν κ²μ¦) μν. Fast-Path(FP1-FP3)λ‘ κ²°μ λ‘ μ λ¨μΆ κ°λ₯
- νμ νΈν:
Verificationνλ μλ κΈ°μ‘΄ μν¬νλ‘μ°λ Anti-Skip Guardλ§μΌλ‘ λμ
μμΈ: AGENTS.md Β§5.3, Β§5.4, Β§5.5, Β§5.6
μ΄ νλ‘μ νΈμ λͺ¨λ μ€κ³Β·κ΅¬ν μμ¬κ²°μ μ μ μ©λλ μ΅μμ κ·μΉ:
- νμ§ μ΅μ°μ β μλ, λΉμ©, μμ λλ³΄λ€ μ΅μ’ κ²°κ³Όλ¬Όμ νμ§μ΄ μ μΌν κΈ°μ€
- λ¨μΌ νμΌ SOT β Single Source of Truth + κ³μΈ΅μ λ©λͺ¨λ¦¬ κ΅¬μ‘°λ‘ λ°μ΄ν° μΌκ΄μ± 보μ₯
- μ½λ λ³κ²½ νλ‘ν μ½ (CCP) β μ½λ λ³κ²½ μ μλ νμ β μν₯ λ²μ λΆμ β λ³κ²½ μ€κ³ 3λ¨κ³ μν. λΆμ κΉμ΄λ λ³κ²½ κ·λͺ¨μ λΉλ‘. μ½λ© κΈ°μ€μ (CAP-1~4): μ½λ© μ μ¬κ³ , λ¨μμ± μ°μ , λͺ©ν κΈ°λ° μ€ν, μΈκ³Όμ λ³κ²½
- νμ§ > SOT, CCP β μΈ κΈ°μ€μ΄ μΆ©λνλ©΄ νμ§μ΄ μ°μ . SOTμ CCPλ μλ¨μ΄μ§ λͺ©μ μ΄ μλ
coding-resource/recursive language models.pdf β μ₯κΈ°κΈ°μ΅(long-term memory) ꡬνμ νμμ μΈ μ΄λ‘ μ λ΄μ λ
Όλ¬Έμ
λλ€. μμ΄μ νΈκ° μΈμ
μ λμ΄ μ§μμ μΆμ νκ³ νμ©νλ λ©μ»€λμ¦μ μ΄λ‘ μ ν λμ
λλ€.
μ΄ νλ‘μ νΈλ Hub-and-Spoke ν¨ν΄μΌλ‘ λͺ¨λ AI CLI λꡬμμ λμΌν λ°©λ²λ‘ μ΄ μλ μ μ©λ©λλ€.
Hub (λ°©λ²λ‘ SOT):
| νμΌ | μν |
|---|---|
AGENTS.md |
λͺ¨λ AI λꡬ κ³΅ν΅ β μ λ κΈ°μ€, μ€κ³ μμΉ, μν¬νλ‘μ° κ΅¬μ‘° μ μ |
Spoke (λκ΅¬λ³ νμ₯):
| AI CLI λꡬ | μμ€ν ν둬ννΈ νμΌ | μλ μ μ© |
|---|---|---|
| Claude Code | CLAUDE.md |
Yes |
| Gemini CLI | GEMINI.md + .gemini/settings.json |
Yes |
| Codex CLI | AGENTS.md (μ§μ μ½μ) |
Yes |
| Copilot CLI | .github/copilot-instructions.md |
Yes |
| Cursor | .cursor/rules/agenticworkflow.mdc |
Yes |
λͺ¨λ Spoke νμΌμ μ λ κΈ°μ€κ³Ό μ€κ³ μμΉμ AGENTS.mdμ λμΌν©λλ€. μ°¨μ΄λ λκ΅¬λ³ κ΅¬ν λ§€νμ ꡬ체μ±λΏμ
λλ€.
| μμ | λ¬Έμ | λͺ©μ |
|---|---|---|
| 1 | README.md (μ΄ νμΌ) | νλ‘μ νΈ κ°μ νμ |
| 1.5 | soul.md |
νλ‘μ νΈ μνΌ β κ·μΉ μλμ μ΄μ , DNA μ μ μ² ν |
| 2 | AGENTICWORKFLOW-ARCHITECTURE-AND-PHILOSOPHY.md |
μ€κ³ μ² νκ³Ό μν€ν μ² μ΄ν΄ |
| 2.5 | DECISION-LOG.md |
λͺ¨λ μ€κ³ κ²°μ μ λ§₯λ½κ³Ό κ·Όκ±° μΆμ (ADR) |
| 3 | AGENTICWORKFLOW-USER-MANUAL.md |
μ€μ μ¬μ©λ² νμ΅ |
| 4 | AGENTS.md / CLAUDE.md |
μ¬μ©νλ AI λꡬμ λ§λ μ§μμ μ°Έμ‘° |
| 5 | docs/protocols/*.md |
νΉμ μ£Όμ (AutopilotΒ·ULWΒ·νμ§ κ²μ΄νΈΒ·CCPΒ·Context Preservation) μ¬ν |
μ΄ μ½λλ² μ΄μ€λ‘ λ§λ κ°λ³ νλ‘μ νΈμ μ¬μ©λ²κ³Ό νΌλνμ§ λ§μΈμ. κ°λ³ νλ‘μ νΈμ λ§€λ΄μΌμ ν΄λΉ νλ‘μ νΈ λ΄μ λ³λλ‘ μ‘΄μ¬ν©λλ€.