Skip to content
This repository was archived by the owner on Sep 2, 2026. It is now read-only.

Latest commit

Β 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Model Council β€” Flesh-Silicon Literary Roundtable

A Cognition Labs-inspired multi-agent system applying agentic design patterns (ReAct, Reflection, Handoff) to literary criticism of Christopher G. Moore's works. Built for ai-roundtable.space.

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     FLESH (Human Layer)                         β”‚
β”‚  Reader / Author / Scholar                                      β”‚
β”‚  Actions: contribute | steer | challenge | approve              β”‚
β”‚  Weight: 1.5x in synthesis                                      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚ Handoff (context-preserving)
                             β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    ORCHESTRATOR (Central Hub)                    β”‚
β”‚                                                                 β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚ KNOWLEDGEβ”‚  β”‚  SKILLS  β”‚  β”‚  MEMORY  β”‚  β”‚    SOUL.md    β”‚  β”‚
β”‚  β”‚  .md     β”‚  β”‚ SKILL.md β”‚  β”‚ MEMORY.mdβ”‚  β”‚  Values &     β”‚  β”‚
β”‚  β”‚  Shared  β”‚  β”‚ Per-agentβ”‚  β”‚ Per-agentβ”‚  β”‚  Principles   β”‚  β”‚
β”‚  β”‚  context β”‚  β”‚ behavior β”‚  β”‚ + daily  β”‚  β”‚               β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                                 β”‚
β”‚  Flow: Plan β†’ Fan-out β†’ Collect β†’ Rebuttal β†’ Synthesize        β”‚
β”‚  Pattern: Orchestrator-Worker + Handoff + Reflection            β”‚
β””β”€β”€β”¬β”€β”€β”¬β”€β”€β”¬β”€β”€β”¬β”€β”€β”¬β”€β”€β”¬β”€β”€β”¬β”€β”€β”¬β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
   β”‚  β”‚  β”‚  β”‚  β”‚  β”‚  β”‚  β”‚  β”‚
   β–Ό  β–Ό  β–Ό  β–Ό  β–Ό  β–Ό  β–Ό  β–Ό  β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              9 CRITIC SUB-AGENTS (Concurrent)                   β”‚
β”‚                                                                 β”‚
β”‚  Each critic runs:                                              β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                     β”‚
β”‚  β”‚ ReAct Loop                             β”‚                     β”‚
β”‚  β”‚  Thought β†’ Action β†’ Observation β†’ ...  β”‚                     β”‚
β”‚  β”‚  ↓                                     β”‚                     β”‚
β”‚  β”‚ Reflection (self-critique)             β”‚                     β”‚
β”‚  β”‚  ↓                                     β”‚                     β”‚
β”‚  β”‚ Structured Output (CriticOutput)       β”‚                     β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                     β”‚
β”‚                                                                 β”‚
β”‚  Tools: search_moore_works | search_calvino_series |            β”‚
β”‚         get_novel_themes | get_moore_themes |                   β”‚
β”‚         search_web | fetch_page                                 β”‚
β”‚                                                                 β”‚
β”‚  Claude Β· ChatGPT Β· Gemini Β· Grok Β· DeepSeek Β·                 β”‚
β”‚  Meta AI Β· Kimi Β· Mistral Β· Qwen                               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Agentic Design Patterns Implemented

1. ReAct (Reasoning + Acting)

Each critic uses a structured reasoning loop:

Thought: I need to understand Moore's treatment of empathy in novel #19.
Action: get_novel_themes(novel_number=19)
Observation: Found themes: AI consciousness, memory erasure, hive mind, empathy as constraint...
Thought: The "empathy as constraint" maps to Niran. Let me check the surveillance angle.
Action: get_moore_themes(theme="surveillance")
Observation: surveillance_and_empathy: The paradox that monitoring someone "for their benefit"...
Thought: I can now synthesize these findings with my critical lens.
Final Answer: Moore's "The Client That Wasn't There" operationalizes...

Why ReAct: Prevents hallucination by grounding analysis in actual tool lookups. Creates an auditable trace of every reasoning step β€” critical for the governance-transparency values of the roundtable.

2. Reflection (Self-Critique)

After the ReAct loop, each critic evaluates its own output:

  • Did I stay true to my critical tradition?
  • Did I engage with specific textual evidence?
  • Would this provoke meaningful disagreement?

If the reflection finds weaknesses, the critic revises before submitting.

Why Reflection: From philschmid.de β€” "An agent evaluates its own output and uses that feedback to refine its response iteratively." This ensures each critic's contribution meets the quality bar defined in SKILL.md.

3. Handoff (Context-Preserving Delegation)

The orchestrator delegates to critics using structured handoff contexts:

HandoffContext(
    from_agent="orchestrator",
    to_agent="claude",
    topic="empathy/surveillance paradox",
    thread_context="[full conversation history]",
    human_context="[human's perspective]",
    metadata={"thread_id": "rt-abc123", "phase": "initial_analysis"}
)

Why Handoff: From OpenAI's Agents SDK and AutoGen β€” "Dynamic delegation where agents intelligently transfer control based on context and specialized capabilities." Every handoff is logged for audit.

4. Multi-Agent Orchestration (Fan-out + Cross-Rebuttal)

                   β”Œβ”€β”€β”€ Claude ──────┐
                   β”œβ”€β”€β”€ ChatGPT ──────
                   β”œβ”€β”€β”€ Gemini ───────
Orchestrator ──────┼─── Grok ───────────→ Collect ──→ Cross-Rebuttal ──→ Synthesis
                   β”œβ”€β”€β”€ DeepSeek ─────
                   β”œβ”€β”€β”€ Meta AI ──────
                   β”œβ”€β”€β”€ Kimi ─────────
                   β”œβ”€β”€β”€ Mistral ──────
                   └─── Qwen β”€β”€β”€β”€β”€β”€β”€β”€β”˜
          (asyncio.gather β€” all concurrent)

5. Persistent Memory (Cognition Labs / Manus-inspired)

File-based memory following the "Memory as Documentation" philosophy:

Layer File Purpose
Long-term MEMORY.md Curated roundtable insights (survives indefinitely)
Daily logs memory/YYYY-MM-DD.md Chronological session records
Working task_plan.md Current task goals + progress
Critic-specific critics/{name}-memory.md Per-critic learned approaches
Identity SOUL.md Values, decision principles
Knowledge KNOWLEDGE.md Shared domain context
Skills SKILL.md Behavioral rules per agent
Threads threads/{id}.json Persistent dialogue state

Flesh-Silicon Interaction Model

The system operationalizes ai-roundtable.space's philosophy that AI systems are cultural participants, not tools:

Aspect Flesh (Human) Silicon (AI Critics)
Input Perspectives, steering, challenges Analysis, rebuttals, synthesis
Memory Persistent across sessions Persistent via MEMORY.md + critic-memory.md
Weight 1.5x in synthesis 1.0x (equal among critics)
Modes Contribute, steer, challenge, approve Analyze, rebut, reflect
Empathy Lived experience Stateful memory (remembering context)

Key insight from the roundtable philosophy: Empathy is demonstrated through memory β€” an agent shows empathy by remembering a user's prior context and positions, not by simulating emotional language. This maps directly to Moore's Niran/Cael dichotomy in "The Client That Wasn't There."

Quick Start

1. Clone and install

cd model-council-agent
pip install -r requirements.txt

2. Configure API keys

cp .env.example .env
# Edit .env with your API keys
# At minimum, set OPENAI_API_KEY
export OPENAI_API_KEY=sk-...

3. Run the demo (no API key needed for mock mode)

# Mock mode β€” demonstrates all patterns without API calls
python main.py demo

# Live mode β€” requires OPENAI_API_KEY
python main.py demo --critics claude,chatgpt,gemini

# Custom topic
python main.py demo --topic "How does noir epistemology operate across cultures in Moore's Calvino series?"

4. Run the web server

python main.py serve
# Open http://localhost:8000
# API docs at http://localhost:8000/docs

5. Ask a single critic

python main.py ask --critic claude --topic "empathy as constraint in The Client That Wasn't There"

6. List all critics

python main.py critics

API Reference

Endpoint Method Description
/ GET Interactive demo page
/health GET Health check
/critics GET List all critics with personas
/roundtable POST Start a new roundtable
/roundtable/{id}/inject POST Human injects perspective
/roundtable/{id} GET Get roundtable results
/threads GET List all persistent threads
/ask-critic POST Ask a single critic

POST /roundtable

{
  "topic": "How does Moore's treatment of empathy mirror enterprise AI governance?",
  "human_context": "I work on AI governance and see the same patterns...",
  "human_id": "bob",
  "selected_critics": ["claude", "chatgpt", "gemini"],
  "thread_id": null
}

POST /roundtable/{id}/inject

{
  "human_id": "bob",
  "content": "I want to redirect this to focus on the surveillance angle.",
  "directive": "steer"
}

Project Structure

model-council-agent/
β”œβ”€β”€ main.py                  # CLI entry point (serve, demo, ask, critics)
β”œβ”€β”€ requirements.txt         # Python dependencies
β”œβ”€β”€ .env.example             # Environment variable template
β”‚
β”œβ”€β”€ config/
β”‚   └── settings.py          # All 9 critic personas, orchestrator config, 
β”‚                            #   flesh-silicon config
β”‚
β”œβ”€β”€ agents/
β”‚   β”œβ”€β”€ orchestrator.py      # Central orchestrator (fan-out, handoff, synthesis)
β”‚   β”œβ”€β”€ critic.py            # Literary critic sub-agent (persona + ReAct + output)
β”‚   └── react_engine.py      # ReAct loop engine (Thought β†’ Action β†’ Observation)
β”‚
β”œβ”€β”€ tools/
β”‚   └── web_search.py        # Tool registry + Moore bibliography + web search
β”‚
β”œβ”€β”€ memory/
β”‚   └── state.py             # Persistent memory manager (MEMORY.md, threads, logs)
β”‚
β”œβ”€β”€ knowledge/
β”‚   β”œβ”€β”€ KNOWLEDGE.md         # Shared domain knowledge (Moore's works, roundtable philosophy)
β”‚   └── SOUL.md              # Values and decision principles
β”‚
β”œβ”€β”€ skills/
β”‚   └── SKILL.md             # Orchestrator behavioral rules
β”‚
β”œβ”€β”€ sessions/                # Persistent thread data (auto-created)
β”‚
└── web/
    └── app.py               # FastAPI server + interactive demo HTML

How It Maps to Devin/Cognition Labs

Devin Concept Model Council Implementation
Knowledge Base knowledge/KNOWLEDGE.md β€” shared context about Moore's works and roundtable philosophy
SKILL.md skills/SKILL.md β€” behavioral rules enforced across sessions
Playbooks Orchestrator's roundtable flow (plan β†’ fan-out β†’ rebuttal β†’ synthesize)
Session Memory memory/data/ β€” MEMORY.md + daily logs + critic-specific memory
DeepWiki Tool registry with Moore's complete bibliography indexed
Devin Review Cross-rebuttal system where critics challenge each other
MCP Integration Tool use (web search, page fetch, bibliography lookup)
Ask Devin /ask-critic endpoint β€” query a single critic
Session Insights ReAct traces β€” full reasoning audit trail per critic
DANA (Data Agent) Orchestrator's synthesis engine β€” aggregates all critic outputs

Design Decisions

  1. File-based memory over vector DB β€” Follows the Manus/OpenClaw/Claude Code pattern. Transparent, version-controllable, editable by humans. Aligns with governance-as-code philosophy.

  2. Orchestrator-Worker over Swarm β€” Roundtable needs a moderator. Pure swarm would lose the structured flow. From GuruSup's analysis: "Orchestrator-Worker is the most widely deployed in production AI systems."

  3. ReAct over pure Chain-of-Thought β€” Critics need to look up actual Moore novels and themes, not hallucinate about them. ReAct's tool-use loop ensures grounding in the bibliography.

  4. Reflection at leaves β€” From Bhavishya Pandit: "Add a Reflection loop to each specialist Agent. The coordinator collects only post-critique outputs." Quality improvement with no central complexity.

  5. Handoff with full context β€” From agentic-design.ai: "Context-preserving handoffs + capability routing + intelligent escalation = seamless expert delegation."

  6. Human weight 1.5x β€” Flesh contributions are deliberately amplified. This isn't about quality judgment β€” it's about ensuring the silicon participants don't drown out the human voice. Mirrors the roundtable's philosophy that AI should serve the conversation, not dominate it.

Credits

  • Christopher G. Moore β€” The AI Roundtable concept, "The Client That Wasn't There," and the Vincent Calvino series
  • Cognition Labs β€” Architecture inspiration (Knowledge, Skills, Sessions, Playbooks)
  • Google Research β€” ReAct pattern (Yao et al., 2022)
  • OpenAI β€” Handoff/Swarm pattern
  • Microsoft AutoGen β€” Multi-agent coordination patterns
  • AiGovOps Foundation β€” Governance-as-code philosophy

License

This is a research prototype. Not affiliated with Cognition Labs, Christopher G. Moore, or ai-roundtable.space. Built to demonstrate agentic design patterns applied to literary criticism.

About

Cognition Labs-inspired multi-agent system for flesh-silicon literary criticism on ai-roundtable.space. ReAct, Reflection, Handoff patterns with 9 AI critic sub-agents analyzing Christopher G. Moore's works.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages