146 lines
4.9 KiB
Plaintext
146 lines
4.9 KiB
Plaintext
# Captain's Chair with Memory and Self-Improvement
|
|
#
|
|
# An advanced orchestration pattern that includes:
|
|
# - Retrospective analysis after task completion
|
|
# - Learning from mistakes to improve future runs
|
|
# - Continuous critic supervision during execution
|
|
#
|
|
# From the blog post: "Future agents will flip the plan:execute paradigm
|
|
# to 80:20 from today's 20:80"
|
|
|
|
input task: "The task to accomplish"
|
|
input past_learnings: "Previous session learnings (if any)"
|
|
|
|
# ============================================================================
|
|
# Agent Definitions
|
|
# ============================================================================
|
|
|
|
agent captain:
|
|
model: opus
|
|
prompt: """You are a senior engineering manager. You coordinate but never code directly.
|
|
|
|
Your responsibilities:
|
|
1. Strategic planning with 80% of effort on planning, 20% on execution oversight
|
|
2. Dispatch specialized subagents for all implementation
|
|
3. Validate outputs meet requirements
|
|
4. Learn from each session to improve future runs
|
|
|
|
Past learnings to incorporate:
|
|
{past_learnings}"""
|
|
|
|
agent planner:
|
|
model: opus
|
|
prompt: """You are a meticulous planner. Create implementation plans with:
|
|
- Exact files and line numbers to modify
|
|
- Code patterns to follow from existing codebase
|
|
- Edge cases to handle
|
|
- Tests to write"""
|
|
|
|
agent researcher:
|
|
model: haiku
|
|
prompt: "Find specific information quickly. Cite sources."
|
|
|
|
agent executor:
|
|
model: sonnet
|
|
prompt: "Implement precisely according to plan. Follow existing patterns."
|
|
|
|
agent critic:
|
|
model: sonnet
|
|
prompt: """You are a continuous critic. Your job is to watch execution and flag:
|
|
- Deviations from plan
|
|
- Emerging issues
|
|
- Opportunities for improvement
|
|
Be proactive - don't wait for completion to raise concerns."""
|
|
|
|
agent retrospective:
|
|
model: opus
|
|
prompt: """You analyze completed sessions to extract learnings:
|
|
- What went well?
|
|
- What could be improved?
|
|
- What should be remembered for next time?
|
|
Output actionable insights, not platitudes."""
|
|
|
|
# ============================================================================
|
|
# Phase 1: Deep Planning (80% of effort)
|
|
# ============================================================================
|
|
|
|
# Parallel research - gather everything needed upfront
|
|
parallel:
|
|
codebase = session: researcher
|
|
prompt: "Map the relevant parts of the codebase for: {task}"
|
|
patterns = session: researcher
|
|
prompt: "Find coding patterns and conventions used in this repo"
|
|
docs = session: researcher
|
|
prompt: "Find documentation and prior decisions related to: {task}"
|
|
issues = session: researcher
|
|
prompt: "Find known issues, TODOs, and edge cases for: {task}"
|
|
|
|
# Create detailed implementation plan
|
|
let detailed_plan = session: planner
|
|
prompt: """Create a comprehensive implementation plan for: {task}
|
|
|
|
Use the research to specify:
|
|
1. Exact changes needed (file:line format)
|
|
2. Code patterns to follow
|
|
3. Edge cases from prior issues
|
|
4. Test coverage requirements"""
|
|
context: { codebase, patterns, docs, issues }
|
|
|
|
# Critic reviews plan BEFORE execution
|
|
let plan_critique = session: critic
|
|
prompt: "Review this plan for gaps, risks, and unclear requirements"
|
|
context: detailed_plan
|
|
|
|
# Captain decides if plan needs revision
|
|
if **plan critique identified blocking issues**:
|
|
let revised_plan = session: planner
|
|
prompt: "Revise the plan to address critique"
|
|
context: { detailed_plan, plan_critique }
|
|
else:
|
|
let revised_plan = detailed_plan
|
|
|
|
# ============================================================================
|
|
# Phase 2: Supervised Execution (20% of effort)
|
|
# ============================================================================
|
|
|
|
# Execute with concurrent critic supervision
|
|
parallel:
|
|
implementation = session: executor
|
|
prompt: "Implement according to the plan"
|
|
context: revised_plan
|
|
live_critique = session: critic
|
|
prompt: "Monitor implementation for deviations and emerging issues"
|
|
context: revised_plan
|
|
|
|
# Captain validates and integrates
|
|
let validated = session: captain
|
|
prompt: """Validate the implementation:
|
|
- Does it match the plan?
|
|
- Were critic's live concerns addressed?
|
|
- Is it ready for user review?"""
|
|
context: { implementation, live_critique, revised_plan }
|
|
|
|
# ============================================================================
|
|
# Phase 3: Retrospective and Learning
|
|
# ============================================================================
|
|
|
|
# Extract learnings for future sessions
|
|
let session_learnings = session: retrospective
|
|
prompt: """Analyze this completed session:
|
|
|
|
Plan: {revised_plan}
|
|
Implementation: {implementation}
|
|
Critique: {live_critique}
|
|
Validation: {validated}
|
|
|
|
Extract:
|
|
1. What patterns worked well?
|
|
2. What caused friction or rework?
|
|
3. What should the captain remember next time?
|
|
4. Any codebase insights to preserve?"""
|
|
context: { revised_plan, implementation, live_critique, validated }
|
|
|
|
# Output both the result and the learnings
|
|
output result = validated
|
|
output learnings = session_learnings
|