188 lines
6.4 KiB
Markdown
188 lines
6.4 KiB
Markdown
# TradingAgents Streaming Analysis - Usage Examples
|
|
|
|
## Quick Start
|
|
|
|
### 1. Basic Streaming Analysis
|
|
```bash
|
|
# Run streaming analysis with default settings
|
|
python -m cli.main stream
|
|
|
|
# Or use the streaming flag with analyze command
|
|
python -m cli.main analyze --streaming
|
|
```
|
|
|
|
### 2. Advanced Streaming Analysis
|
|
```bash
|
|
# Run streaming analysis with advanced configuration
|
|
python -m cli.main stream --advanced
|
|
|
|
# Or combine flags
|
|
python -m cli.main analyze --streaming --advanced
|
|
```
|
|
|
|
### 3. Default Command with Streaming
|
|
```bash
|
|
# Use streaming as default behavior
|
|
python -m cli.main --streaming
|
|
```
|
|
|
|
## What to Expect
|
|
|
|
### Regular Analysis Output
|
|
```
|
|
data: {"type": "status", "message": "Starting analysis for TEM..."}
|
|
data: {"type": "agent_status", "agent": "Market Analyst"}
|
|
data: {"type": "progress", "percentage": 16}
|
|
...
|
|
[Wait for completion, then get all reports at once]
|
|
```
|
|
|
|
### Streaming Analysis Output
|
|
```
|
|
data: {"type": "status", "message": "Starting analysis for TEM..."}
|
|
data: {"type": "agent_status", "agent": "Market Analyst"}
|
|
data: {"type": "progress", "percentage": 16}
|
|
|
|
🔴 Live: Market Analyst
|
|
Technical Analysis for TEM:
|
|
Based on the recent price action and volume patterns...
|
|
[Content streams in real-time as the agent thinks and writes]
|
|
|
|
Moving to fundamental analysis...
|
|
The company's recent earnings report shows...
|
|
[More content streaming live]
|
|
|
|
🔴 Live: Social Media Analyst
|
|
Social sentiment analysis reveals...
|
|
[Content continues streaming from next agent]
|
|
```
|
|
|
|
## UI Layout in Streaming Mode
|
|
|
|
```
|
|
┌─ Welcome to TradingAgents ─────────────────┐
|
|
│ Welcome to TradingAgents CLI │
|
|
│ © Tauric Research │
|
|
└────────────────────────────────────────────┘
|
|
|
|
┌─ Agent Progress ──┬─ Recent Messages ──────┐
|
|
│ Market Analyst ✅ │ 14:30:22 [System] TEM │
|
|
│ Social Analyst 🔄 │ 14:30:25 [Reasoning] │
|
|
│ News Analyst ⏳ │ 14:30:28 [Tool Call] │
|
|
└───────────────────┴────────────────────────┘
|
|
|
|
┌─ 🔴 Live: Social Media Analyst ────────────┐
|
|
│ Analyzing social media sentiment for TEM: │
|
|
│ │
|
|
│ Recent Twitter mentions show mixed │
|
|
│ sentiment with 60% positive mentions... │
|
|
│ [Content streaming in real-time] │
|
|
└────────────────────────────────────────────┘
|
|
|
|
┌─ Latest Report Section ────────────────────┐
|
|
│ ### Market Analysis │
|
|
│ Technical indicators suggest... │
|
|
│ [Shows most recently completed section] │
|
|
└────────────────────────────────────────────┘
|
|
|
|
┌─ TradingAgents Streaming Analysis ─────────┐
|
|
│ Press Ctrl+C to stop │
|
|
└────────────────────────────────────────────┘
|
|
```
|
|
|
|
## Advanced Usage Scenarios
|
|
|
|
### 1. Development and Debugging
|
|
When developing or debugging agent behaviors, streaming allows you to:
|
|
- See exactly where agents get stuck
|
|
- Monitor real-time thought processes
|
|
- Identify performance bottlenecks
|
|
- Watch agent decision-making flow
|
|
|
|
### 2. Educational Use
|
|
For learning how the system works:
|
|
- Observe AI reasoning in real-time
|
|
- Understand multi-agent collaboration
|
|
- See how different analysis types build on each other
|
|
- Learn from the agents' analytical approaches
|
|
|
|
### 3. Production Monitoring
|
|
In production environments:
|
|
- Monitor system health in real-time
|
|
- Detect anomalies early
|
|
- Provide better user experience with live updates
|
|
- Enable real-time decision making
|
|
|
|
## Comparison: Regular vs Streaming
|
|
|
|
| Aspect | Regular Analysis | Streaming Analysis |
|
|
|--------|------------------|-------------------|
|
|
| **Content Delivery** | Batch (sections at once) | Real-time (as generated) |
|
|
| **User Experience** | Wait then receive | Continuous feedback |
|
|
| **Debugging** | Post-mortem only | Live debugging |
|
|
| **Monitoring** | End result only | Process visibility |
|
|
| **Engagement** | Passive waiting | Active observation |
|
|
| **Resource Usage** | Lower CPU (4 FPS) | Higher CPU (8 FPS) |
|
|
|
|
## Technical Architecture
|
|
|
|
### StreamingMessageBuffer
|
|
Extends the regular MessageBuffer with:
|
|
- Real-time content streaming capabilities
|
|
- Agent transition detection
|
|
- Content buffering and delivery
|
|
- Callback system for live updates
|
|
|
|
### Layout Differences
|
|
- Additional "streaming_content" panel for live updates
|
|
- Higher refresh rate (8 FPS vs 4 FPS)
|
|
- Enhanced agent status indicators
|
|
- Real-time content formatting
|
|
|
|
### Agent Detection
|
|
The system detects agent transitions by:
|
|
- Analyzing message content for agent keywords
|
|
- Monitoring state changes in the graph
|
|
- Tracking section completions
|
|
- Managing content buffers per agent
|
|
|
|
## Best Practices
|
|
|
|
### 1. When to Use Streaming
|
|
- **Development**: Always use streaming for development
|
|
- **Production**: Use for high-engagement scenarios
|
|
- **Debugging**: Essential for troubleshooting
|
|
- **Demos**: Great for showing system capabilities
|
|
|
|
### 2. When to Use Regular Analysis
|
|
- **Batch Processing**: When processing many symbols
|
|
- **Resource Constrained**: On slower systems
|
|
- **Automated Systems**: When only final results matter
|
|
- **Background Processing**: For scheduled runs
|
|
|
|
### 3. Performance Considerations
|
|
- Streaming uses more CPU due to higher refresh rate
|
|
- Network usage is similar (same data, different timing)
|
|
- Memory usage slightly higher due to buffering
|
|
- Terminal performance may vary based on content length
|
|
|
|
## Troubleshooting
|
|
|
|
### Common Issues
|
|
1. **Slow Terminal**: Reduce content display or use regular mode
|
|
2. **Missing Content**: Check agent keyword detection
|
|
3. **Jumbled Output**: Ensure terminal supports rich formatting
|
|
4. **Performance**: Lower refresh rate or use regular analysis
|
|
|
|
### Debug Mode
|
|
```bash
|
|
# Enable debug output
|
|
export DEBUG=1
|
|
python -m cli.main stream --advanced
|
|
```
|
|
|
|
This will show additional information about:
|
|
- Agent detection logic
|
|
- Content buffering
|
|
- State transitions
|
|
- Performance metrics |