File size: 13,006 Bytes
c5828bc |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 |
# Multi-Agent Debate Architecture Overview
<div align="center">
<img src="assets/images/architecture_diagram.png" alt="Multi-Agent Debate Architecture" width="800"/>
<p><i>Multi-agent recursive market cognition framework</i></p>
</div>
## Recursive Cognitive Architecture
Multi-Agent Debate implements a multi-layer recursive cognitive architecture that allows for deep reasoning, interpretable decision making, and emergent market understanding. The system operates through nested cognitive loops that implement a transparent and traceable decision framework.
### Architectural Layers
1. **Agent Cognitive Layer**
- Philosophical agent implementations with distinct investment approaches
- Each agent maintains its own memory shell, belief state, and reasoning capabilities
- Attribution tracing for decision provenance
- Shell-based diagnostic patterns for interpretability
2. **Multi-Agent Arbitration Layer**
- Meta-agent for recursive consensus formation
- Attribution-weighted position sizing
- Conflict detection and resolution through value alignment
- Emergent portfolio strategy through agent weighting
3. **Model Orchestration Layer**
- Provider-agnostic LLM interface
- Dynamic routing based on capabilities
- Fallback mechanisms for reliability
- Output parsing and normalization
4. **Market Interface Layer**
- Data source abstractions
- Backtest environment
- Live market connection
- Portfolio management
5. **Diagnostic & Interpretability Layer**
- Tracing utilities for attribution visualization
- Shell pattern detection for failure modes
- Consensus graph generation
- Agent conflict mapping
## Agent Architecture
Agents in Multi-Agent Debate implement a recursive cognitive architecture with the following components:
### Memory Shell
The memory shell provides persistent state across market cycles with configurable decay rates. It includes:
- **Working Memory**: Active processing and temporary storage
- **Episodic Memory**: Experiences and past decisions with emotional valence
- **Semantic Memory**: Conceptual knowledge with certainty levels
Memory traces can be accessed through attribution pathways, enabling transparent decision tracing.
### Reasoning Graph
The reasoning graph implements a multi-step reasoning process using LangGraph with:
- Recursive reasoning loops with configurable depth
- Attribution tracing for causal relationships
- Collapse detection for reasoning failures
- Value-weighted decision making
Reasoning graphs can be visualized and inspected through the `--show-trace` flag.
### Belief State
Agents maintain an evolving belief state that:
- Tracks confidence in various market hypotheses
- Updates based on market feedback
- Drifts over time with configurable decay
- Influences decision weighting
Belief drift can be monitored through `.p/` command equivalents like `drift.observe{vector, bias}`.
## Portfolio Meta-Agent
The portfolio meta-agent serves as a recursive arbitration layer that:
1. Collects signals from all philosophical agents
2. Forms consensus through attribution-weighted aggregation
3. Resolves conflicts based on agent performance and reasoning quality
4. Sizes positions according to confidence and attribution
5. Maintains its own memory and learning from market feedback
### Consensus Formation Process
<div align="center">
<img src="assets/images/consensus_process.png" alt="Consensus Formation Process" width="600"/>
</div>
The consensus formation follows a recursive process:
1. **Signal Generation**: Each agent processes market data through its philosophical lens
2. **Initial Consensus**: Non-conflicting signals form preliminary consensus
3. **Conflict Resolution**: Conflicting signals are resolved through attribution weighting
4. **Position Sizing**: Confidence and attribution determine position sizes
5. **Meta Reflection**: The meta-agent reflects on its decision process
6. **Agent Weighting**: Agent weights are adjusted based on performance
### Agent Weighting
The meta-agent dynamically adjusts agent weights based on performance, consistency, and value alignment. This creates an emergent portfolio strategy that evolves over time through recursive performance evaluation.
The weighting formula combines:
- Historical returns attribution
- Win rate
- Consistency score
- Confidence calibration
This creates a dynamic, self-optimizing meta-strategy that adapts to changing market conditions while maintaining interpretable decision paths.
## Recursive Tracing Architecture
A key feature of Multi-Agent Debate is its recursive tracing architecture that enables complete visibility into decision processes. This is implemented through:
### Attribution Tracing
Attribution tracing connects decisions to their causal origins through a multi-layered graph:
1. **Source Attribution**: Linking decisions to specific evidence or beliefs
2. **Reasoning Attribution**: Tracking steps in the reasoning process
3. **Value Attribution**: Connecting decisions to philosophical values
4. **Temporal Attribution**: Linking decisions across time
Attribution chains can be visualized with the `--attribution-report` flag.
### Shell Pattern Detection
The system implements interpretability shells inspired by circuit interpretability research. These detect specific reasoning patterns and potential failure modes:
| Shell Pattern | Description | Detection Mechanism |
|---------------|-------------|---------------------|
| NULL_FEATURE | Knowledge gaps as null attribution zones | Confidence drops below threshold, belief gaps |
| CIRCUIT_FRAGMENT | Broken reasoning paths in attribution chains | Discontinuities in reasoning steps |
| META_FAILURE | Metacognitive attribution failures | Recursive errors beyond threshold depth |
| GHOST_FRAME | Residual agent identity markers | Identity persistence above threshold |
| ECHO_ATTRIBUTION | Causal chain backpropagation | Attribution path length beyond threshold |
| RECURSIVE_FRACTURE | Circular attribution loops | Repeating patterns in reasoning steps |
| ETHICAL_INVERSION | Value polarity reversals | Conflicting value attributions |
| RESIDUAL_ALIGNMENT_DRIFT | Direction of belief evolution | Belief drift magnitude above threshold |
Shell patterns can be visualized with the `--shell-failure-map` flag.
## Symbolic Command Interface
The system implements an internal symbolic command interface for agent communication and diagnostic access. These commands are inspired by circuit interpretability research and enable deeper introspection:
### Core Commands
- `.p/reflect.trace{agent, depth}`: Trace agent's self-reflection on decision making
- `.p/fork.signal{source}`: Fork a new signal branch from specified source
- `.p/collapse.detect{threshold, reason}`: Detect potential decision collapse
- `.p/attribute.weight{justification}`: Compute attribution weight for justification
- `.p/drift.observe{vector, bias}`: Observe and record belief drift
These commands are used internally by the system but can be exposed through diagnostic flags for advanced users.
## Model Router Architecture
The model router provides a unified interface for multiple language model providers:
<div align="center">
<img src="assets/images/model_router.png" alt="Model Router Architecture" width="600"/>
</div>
### Provider Integration
The system supports multiple LLM providers:
- **OpenAI**: GPT-4, GPT-3.5-Turbo
- **Anthropic**: Claude 3 Opus, Sonnet, Haiku
- **Groq**: Llama, Mixtral
- **Ollama**: Local models
- **DeepSeek**: DeepSeek models
Each provider is integrated through a standard interface with fallback chains for reliability.
### Model Selection Logic
Models are selected based on:
1. Required capabilities (reasoning, finance domain knowledge, etc.)
2. Performance characteristics
3. Cost considerations
4. Availability
The system can automatically fall back to alternative providers if the primary provider is unavailable or fails.
## Memory Architecture
The memory architecture enables temporal persistence across market cycles:
<div align="center">
<img src="assets/images/memory_architecture.png" alt="Memory Architecture" width="600"/>
</div>
### Memory Components
1. **Working Memory**: Short-term active processing with limited capacity
2. **Episodic Memory**: Experience-based memory with emotional valence and decay
3. **Semantic Memory**: Conceptual knowledge with certainty levels
4. **Temporal Sequence**: Ordered episodic memory for temporal reasoning
### Memory Operations
- **Add Experience**: Record market experiences with attribution
- **Query Memories**: Retrieve relevant memories based on context
- **Apply Decay**: Simulate memory decay over time
- **Consolidate Memories**: Convert episodic to semantic memories
## Extending the Framework
The system is designed for extensibility at multiple levels:
### Custom Agents
New philosophical agents can be added by extending the BaseAgent class:
```python
from multi_agent_debate.agents import BaseAgent
class CustomAgent(BaseAgent):
def __init__(self, reasoning_depth=3, memory_decay=0.2):
super().__init__(
name="Custom",
philosophy="My unique investment approach",
reasoning_depth=reasoning_depth,
memory_decay=memory_decay
)
def process_market_data(self, data):
# Custom market data processing
pass
def generate_signals(self, processed_data):
# Custom signal generation
pass
```
### Custom LLM Providers
New LLM providers can be added by extending the ModelProvider class:
```python
from multi_agent_debate.llm.router import ModelProvider
class CustomProvider(ModelProvider):
def __init__(self, api_key=None):
# Initialize provider
pass
def generate(self, prompt, **kwargs):
# Generate text using custom provider
pass
def get_available_models(self):
# Return list of available models
pass
def get_model_capabilities(self, model_name):
# Return capabilities of specific model
pass
```
### Custom Shell Patterns
New interpretability shell patterns can be added by extending the ShellPattern enum:
```python
from multi_agent_debate.utils.diagnostics import ShellPattern
# Add new shell pattern
ShellPattern.CUSTOM_PATTERN = "v999 CUSTOM-PATTERN"
# Configure shell pattern detection
shell_diagnostics.shell_patterns[ShellPattern.CUSTOM_PATTERN] = {
"pattern": r"custom.*pattern|unique.*signature",
"threshold": 0.5,
}
```
## Recursive Arbitration Mechanisms
The system implements several mechanisms for recursive arbitration:
### Consensus Formation
1. **Signal Collection**: Gather signals from all agents
2. **Signal Grouping**: Group signals by ticker and action
3. **Confidence Weighting**: Weight signals by agent confidence and performance
4. **Conflict Detection**: Identify conflicting signals
5. **Conflict Resolution**: Resolve conflicts through attribution weighting
6. **Consensus Decision**: Generate final consensus decisions
### Adaptive Weighting
Agents are weighted based on:
1. **Historical Performance**: Track record of successful decisions
2. **Consistency**: Alignment between reasoning and outcomes
3. **Calibration**: Accuracy of confidence estimates
4. **Value Alignment**: Consistency with portfolio philosophy
Weights evolve over time through recursive performance evaluation.
### Position Sizing
Position sizes are determined by:
1. **Signal Confidence**: Higher confidence = larger position
2. **Agent Attribution**: Weighted by agent performance
3. **Risk Budget**: Overall risk allocation constraints
4. **Min/Max Position Size**: Configurable position size limits
## Diagnostic Tools
The system includes diagnostic tools for interpretability:
### Tracing Tools
- **Signal Tracing**: Track signal flow through the system
- **Reasoning Tracing**: Visualize reasoning steps
- **Collapse Detection**: Identify reasoning failures
- **Shell Pattern Detection**: Detect specific interpretability patterns
### Visualization Tools
- **Consensus Graph**: Visualize multi-agent consensus formation
- **Conflict Map**: Map conflicts between agents
- **Attribution Report**: Visualize decision attribution
- **Shell Failure Map**: Map shell pattern failures
## Conclusion
The Multi-Agent Debate architecture provides a recursive cognitive framework for multi-agent market understanding with complete transparency and interpretability. By combining philosophical agent archetypes, recursive reasoning, attribution tracing, and emergent meta-strategy, it enables a new approach to financial decision making that is both effective and explainable.
The system's design principles—recursion, attribution, interpretability, and emergence—create a platform that goes beyond traditional algorithmic trading to implement a true cognitive approach to market understanding.
---
|