多智能体投注优化系统

一个基于AI的多智能体投注优化系统,通过四个专业代理协作分析比赛、评估投注选项并构建最优组合投注方案。

  • by mattarm
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 mattarm/fantasy_mcp

使用说明

幻想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    │
              └──────────────────────┘

✨ 主要特点

🎭 四名特工

  1. 名单情报代理

    • 监控球员的伤势状况及可用性
    • 分析天气状况和比赛因素
    • 检查深度表和预计上场时间
    • 确认所有球员状态健康且活跃
  2. 统计与属性代理

    • 运行机器学习模型预测球员表现
    • 分析历史统计数据和对阵情况
    • 计算炮弹命中概率
    • 确定20-30个高置信度的机会
  3. 质量保证代理

    • 验证所有建议的准确性
    • 检查是否存在矛盾或相互关联的道具
    • 评估总体相关性风险
    • 提供最终批准或拒绝
  4. 投注优化代理

    • 构建最优的串关组合
    • 在信心与目标乘数之间取得平衡
    • 管理各部分之间的相关性风险
    • 生成多个串关选项

🛠️ 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"

过程:

  1. 名单代理确认比赛并检查所有球员
  2. Stats Agent 分析属性并运行机器学习预测
  3. Parlay Optimizer 找到8场组合投注,中奖率约100倍
  4. QA Agent进行验证并提供最终建议

输出:

  • 2-3个完整的串关选项
  • 每只都有8条腿,放大倍数约100倍
  • 每条腿的置信度评分
  • 相关风险分析
  • 详细推理

示例2:多场比赛串关投注

请求:

"Put together a 800x parlay for this Sunday's noon games"

过程:

  1. 确定所有周日中午的比赛(4-6场)
  2. 分析所有游戏中60-100+个道具
  3. 发现10-12种腿部组合,中奖率约800倍
  4. 跨游戏多元化以降低相关性
  5. 验证并提供建议

示例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

🎯 代理工作流程

上下文共享的顺序执行

  1. 请求分析 (指挥者)

    • 解析用户请求
    • 提取:目标乘数、腿数(或“腿的数量”)、游戏、时间段
    • 通往合适工作流程的路径
  2. 球员可用性 (名单代理)

    • 检查所有相关参与者
    • 核实伤势情况
    • 评估天气状况
    • 返回可用性报告
  3. 道具分析 (统计代理)

    • 分析可用道具
    • 运行机器学习预测
    • 计算命中概率
    • 返回高置信度的道具
  4. “Parlay Construction”可以翻译为“合作建设”或“联合施工”,具体取决于上下文和语境。在这里,“Parlay”一词通常表示“合作”或“交流”的意思,而“Construction”则明确指的是“建设”或“施工”。因此,整个短语可以理解为通过合作来进行的建设或施工活动 (优化器代理)

    • 构建腿部组合动作
    • 针对目标倍数进行优化
    • 管理相关性风险
    • 生成多个选项
  5. 质量验证 (问答代理)

    • 验证玩家状态
    • 检查是否有矛盾之处
    • 评估相关性
    • 批准或拒绝
  6. 最终输出

    • 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)
  • [ ] 自动下注
  • [ ] 社会情感分析
  • [ ] 从文件存储迁移数据库

⚠️ 重要提示

  1. API密钥必需执行智能体运行需要OpenAI API密钥
  2. 教育目的仅供研究和学习之用
  3. 数据来源当前使用Sleeper API(免费版)
  4. 文件存储所有数据均存储在JSON文件中(数据库就绪架构)
  5. **负责任的游戏(或博彩)**这是一个辅助分析的工具,而非成功的保证

🤝 贡献

欢迎贡献!请参阅我们的贡献指南。

  1. 为仓库创建分支(或“克隆仓库”)
  2. 创建一个特性分支
  3. 进行你的更改
  4. 提交一个拉取请求

📄 许可证

MIT 许可证 - 详情请参见 LICENSE 文件。

📞 支持

🙏 致谢

  • 适用于多智能体框架的CrewAI
  • LangChain 用于大型语言模型(LLM)工具开发
  • NFL数据的Sleeper API
  • GPT-4的OpenAI版本

采用人工智能🤖构建,用于智能体育博彩分析