使用说明
幻想MCP - 多智能体投注优化系统
一个基于CrewAI构建的、采用多智能体架构的高级AI博彩顾问。四个专门的AI智能体协同工作,分析比赛、评估投注选项,并构建最优串关组合。
🎯 概述
该系统利用CrewAI来协调多个专业代理,这些代理协同工作,提供智能且高置信度的串关(parlay)投注建议。代理们会分析球员的可用性,运行机器学习预测,优化串关组合,并验证建议的质量和准确性。
🤖 多智能体架构
┌─────────────────────────────────────────────────────────────┐
│ USER REQUEST │
│ "Build 8-leg 100x parlay for Bengals vs Packers" │
└──────────────────────┬──────────────────────────────────────┘
│
▼
┌──────────────────────┐
│ Crew Orchestrator │
│ - Request Analysis │
│ - Agent Routing │
└──────────┬───────────┘
│
┌──────────────┼──────────────┐
▼ ▼ ▼
┌───────────────┐ ┌──────────────┐ ┌─────────────────┐
│ Roster Agent │ │ Stats Agent │ │ Parlay Optimizer│
│ • Injuries │ │ • ML Models │ │ • Combinations │
│ • Availability│ │ • Props │ │ • Correlations │
│ • Weather │ │ • Matchups │ │ • Optimization │
└───────┬───────┘ └──────┬───────┘ └────────┬────────┘
│ │ │
└────────────────┼───────────────────┘
▼
┌─────────────┐
│ QA Agent │
│ • Validate │
│ • Correlate │
│ • Approve │
└──────┬──────┘
│
▼
┌──────────────────────┐
│ 2-3 Parlay Options │
│ • 8 legs │
│ • ~100x multiplier │
│ • Confidence scores │
│ • Full reasoning │
└──────────────────────┘
✨ 主要特点
🎭 四名特工
-
名单情报代理
- 监控球员的伤势状况及可用性
- 分析天气状况和比赛因素
- 检查深度表和预计上场时间
- 确认所有球员状态健康且活跃
-
统计与属性代理
- 运行机器学习模型预测球员表现
- 分析历史统计数据和对阵情况
- 计算炮弹命中概率
- 确定20-30个高置信度的机会
-
质量保证代理
- 验证所有建议的准确性
- 检查是否存在矛盾或相互关联的道具
- 评估总体相关性风险
- 提供最终批准或拒绝
-
投注优化代理
- 构建最优的串关组合
- 在信心与目标乘数之间取得平衡
- 管理各部分之间的相关性风险
- 生成多个串关选项
🛠️ 16种专业工具
名单工具:
- 球员伤情检查
- 球队阵容分析
- 玩家可用性验证
- 天气状况预报
统计工具:
- 历史数据统计分析
- 基于机器学习的预测
- 对阵分析
- 概率属性计算
投注工具:
- 串关赔率计算
- 腿部优化算法
- 期望值计算
- 相关性风险评估
数据工具:
- 球员搜索与筛选
- 赛程查询
- 房地产市场分析
🚀 快速入门
1. 安装
# Clone repository
git clone https://github.com/mattarm/fantasy_mcp.git
cd fantasy_mcp
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
2. 配置
# Copy environment template
cp env.example .env
# Edit .env and add your OpenAI API key
OPENAI_API_KEY=your_key_here
OPENAI_MODEL=gpt-4
# Other optional configurations
AGENT_VERBOSE=true
PARLAY_MIN_CONFIDENCE=0.65
PARLAY_MAX_LEGS=15
3. 测试系统
# Run validation tests
python test_agent_system.py
4. 启动服务器
# Start MCP server
python -m fantasy_mcp.main
💡 使用示例
示例1:单场串关(或单场过关)
请求:
"Put together high confidence 8 leg parlay with a 100x return for this weeks Bengals Packers game"
过程:
- 名单代理确认比赛并检查所有球员
- Stats Agent 分析属性并运行机器学习预测
- Parlay Optimizer 找到8场组合投注,中奖率约100倍
- QA Agent进行验证并提供最终建议
输出:
- 2-3个完整的串关选项
- 每只都有8条腿,放大倍数约100倍
- 每条腿的置信度评分
- 相关风险分析
- 详细推理
示例2:多场比赛串关投注
请求:
"Put together a 800x parlay for this Sunday's noon games"
过程:
- 确定所有周日中午的比赛(4-6场)
- 分析所有游戏中60-100+个道具
- 发现10-12种腿部组合,中奖率约800倍
- 跨游戏多元化以降低相关性
- 验证并提供建议
示例3:通过MCP工具
# Use build_optimized_parlay tool
result = await mcp_client.call_tool("build_optimized_parlay", {
"request": "Build 8-leg 100x parlay for Bengals vs Packers game"
})
# Get parlay history
history = await mcp_client.call_tool("get_parlay_history", {
"limit": 10
})
# Retrieve specific parlay
parlay = await mcp_client.call_tool("get_parlay_by_id", {
"parlay_id": "abc123..."
})
📂 项目结构
fantasy_mcp/
├── src/fantasy_mcp/
│ ├── agents/ # AI agents
│ │ ├── roster_intelligence_agent.py
│ │ ├── stats_props_agent.py
│ │ ├── qa_agent.py
│ │ └── parlay_optimizer_agent.py
│ ├── crews/ # Crew orchestration
│ │ ├── betting_crew.py
│ │ └── crew_orchestrator.py
│ ├── tools/ # Agent tools
│ │ ├── roster_tools.py
│ │ ├── stats_tools.py
│ │ ├── betting_tools.py
│ │ └── data_tools.py
│ ├── data_store/ # Data management
│ │ ├── file_manager.py
│ │ └── cache_manager.py
│ ├── services/ # Core services
│ │ ├── sleeper_api.py
│ │ ├── ml_predictor.py
│ │ └── betting_advisor.py
│ ├── api/ # MCP server
│ │ └── mcp_server.py
│ └── core/ # Core utilities
│ ├── config.py
│ └── database.py
├── data/ # File-based storage
│ ├── players/
│ ├── stats/
│ ├── predictions/
│ ├── bets/parlays/
│ └── cache/
├── tests/ # Test suite
├── archive/ # Archived old scripts
├── test_agent_system.py # System tests
├── AGENT_SYSTEM_README.md # Detailed agent docs
├── IMPLEMENTATION_SUMMARY.md # Implementation details
└── requirements.txt # Dependencies
🎯 代理工作流程
上下文共享的顺序执行
-
请求分析 (指挥者)
- 解析用户请求
- 提取:目标乘数、腿数(或“腿的数量”)、游戏、时间段
- 通往合适工作流程的路径
-
球员可用性 (名单代理)
- 检查所有相关参与者
- 核实伤势情况
- 评估天气状况
- 返回可用性报告
-
道具分析 (统计代理)
- 分析可用道具
- 运行机器学习预测
- 计算命中概率
- 返回高置信度的道具
-
“Parlay Construction”可以翻译为“合作建设”或“联合施工”,具体取决于上下文和语境。在这里,“Parlay”一词通常表示“合作”或“交流”的意思,而“Construction”则明确指的是“建设”或“施工”。因此,整个短语可以理解为通过合作来进行的建设或施工活动 (优化器代理)
- 构建腿部组合动作
- 针对目标倍数进行优化
- 管理相关性风险
- 生成多个选项
-
质量验证 (问答代理)
- 验证玩家状态
- 检查是否有矛盾之处
- 评估相关性
- 批准或拒绝
-
最终输出
- 2-3个完整的串关投注建议
- 置信度评分和推理过程
- 风险评估
- 已保存至 data/bets/parlays/
⚙️ 配置
环境变量
# AI/LLM (Required)
OPENAI_API_KEY=your_key_here
OPENAI_MODEL=gpt-4
# Agent Configuration
AGENT_VERBOSE=true
AGENT_MAX_ITERATIONS=15
AGENT_MAX_EXECUTION_TIME=300
# Parlay Settings
PARLAY_MIN_CONFIDENCE=0.65
PARLAY_MAX_LEGS=15
PARLAY_CORRELATION_THRESHOLD=0.3
# Betting Configuration
DEFAULT_BANKROLL=1000.0
KELLY_FRACTION=0.25
可调参数
- 置信度阈值道具的最小置信度(默认:0.65)
- “Max Legs”可以翻译为“最大腿数”或根据上下文可能意为“最多腿部(配置/选项)”,具体翻译需结合实际语境。如果是指某种设备或系统中的配置选项,可以翻译为“最大腿部配置”或“最多腿部选项”等最大串关数(默认:15)
- 相关性阈值最大可接受相关性(默认:0.3)
- **凯利·弗雷克森(注:此处为音译,具体人名翻译可能因实际发音和习惯有所不同)**下注大小的激进程度(默认值:0.25)
📊 数据存储
基于文件的存储(已准备好迁移到数据库):
data/
├── players/
│ └── {player_id}.json # Player info
├── stats/
│ └── {player_id}/
│ └── {season}_week_{week}.json
├── predictions/
│ └── {date}/
│ └── {player_id}.json # ML predictions
├── bets/
│ ├── parlays/
│ │ └── {parlay_id}.json # Saved parlays
│ └── history/
└── cache/
└── {cache_key}.json # API cache
🧪 测试
# Run system tests
python test_agent_system.py
# With full agent execution (requires API key)
OPENAI_API_KEY=your_key python test_agent_system.py
# Run pytest suite
pytest tests/
# Run with coverage
pytest --cov=src/fantasy_mcp
📚 文档
- AGENT_SYSTEM_README.md 翻译为中文是:代理系统说明文件.md - 完整的代理系统文档
- `IMPLEMENTATION_SUMMARY.md` 翻译为中文是:“实施总结.md” - 详细实施概述
- test_agent_system.py 翻译为中文是:“测试代理系统.py” - 使用示例和测试
- archive/README.md(文件夹/README文件,使用Markdown格式) - 关于存档文件的信息
🔧 MCP 服务器集成
该系统提供了三种主要的MCP工具:
1. 构建优化的Parlay(注:Parlay通常指一种用于电信服务的开放接口标准,此处根据上下文可能指的是某种特定的优化构建过程或系统)
构建一个具有指定参数的AI优化串关投注。
{
"request": "Natural language parlay request"
}
2. 获取串关历史记录
查看最近的串关推荐。
{
"limit": 10 # Number of parlays to retrieve
}
3. 通过ID获取串关投注信息(或:根据ID获取组合投注详情)
获取特定的串关推荐。
{
"parlay_id": "unique_parlay_id"
}
🚦 性能
- 请求分析小于1秒
- 完整的代理工作流程30到60秒
- API响应缓存30-60分钟的时长限制(TTL)
- 数据持久化即时的(基于文件的)
🎓 关键技术
- **CrewAI(可译为“团队人工智能”或根据具体语境调整为更贴切的表述,但直接翻译即为“CrewAI”)**多智能体编排框架
- LangChain大型语言模型(LLM)的集成与工具
- OpenAI GPT-4智能体的推理与决策
- Sleeper APINFL数据和球员统计数据
- scikit-learn/XGBoost机器学习模型
- Python 3.11或更高版本核心语言
🔮 未来增强功能
- [ ] 实时体育博彩赔率集成
- [ ] 通过X(推特)实时监控伤员情况
- [ ] 历史赔率表现追踪
- [ ] 支持多模型(Anthropic Claude)
- [ ] 自动下注
- [ ] 社会情感分析
- [ ] 从文件存储迁移数据库
⚠️ 重要提示
- API密钥必需执行智能体运行需要OpenAI API密钥
- 教育目的仅供研究和学习之用
- 数据来源当前使用Sleeper API(免费版)
- 文件存储所有数据均存储在JSON文件中(数据库就绪架构)
- **负责任的游戏(或博彩)**这是一个辅助分析的工具,而非成功的保证
🤝 贡献
欢迎贡献!请参阅我们的贡献指南。
- 为仓库创建分支(或“克隆仓库”)
- 创建一个特性分支
- 进行你的更改
- 提交一个拉取请求
📄 许可证
MIT 许可证 - 详情请参见 LICENSE 文件。
📞 支持
- 问题: GitHub Issues(GitHub问题)
- 文档参见AGENT_SYSTEM_README.md文件
- 电子邮件通过GitHub提供支持
🙏 致谢
- 适用于多智能体框架的CrewAI
- LangChain 用于大型语言模型(LLM)工具开发
- NFL数据的Sleeper API
- GPT-4的OpenAI版本
采用人工智能🤖构建,用于智能体育博彩分析