首页 › AI Agent实战项目案例库 › Agent项目-世界杯预测 Agent

Agent项目-世界杯预测 Agent

⚽️绿茵神算 · 2026 FIFA World Cup AI Agent​

一份 system prompt 把任意大模型驯成专业世界杯预测引擎 ​

Turn any LLM into a deterministic World Cup prediction engine with one prompt.​

​

飞书文档 - 图片

​

🎯 它解决什么问题​

直接问大模型 "墨西哥对南非谁会赢?",你会得到:​

❌ 编造历史交锋 — 两队从未交手,它能列出"上次 2-1" ​

❌ 编造伤病信息 — 编造"梅西腿伤上半场退场" ​

❌ 格式飘忽不定 — 一会儿大段文字,一会儿 markdown,一会儿表格 ​

❌ 信息严重过时 — 训练数据截止到 2024,2026 预选赛它不知道 ​

❌ 无法接前端 — 自然语言输出根本没法解析​

本 Skill 用 4 层约束 一次治住所有问题:​

​

代码块​

Haskell

┌─────────────────────────────────────────────────────────┐​

│ 一份 system prompt = 一个垂类小模型 │​

└─────────────────────────────────────────────────────────┘​

↓​

┌────────────────┬─────────────────┬─────────────────────┐​

│ Layer 1 │ Layer 2 │ Layer 3 │​

│ 📚 资料库 │ 📐 方法论 │ 📦 输出契约 │​

│ 48 队锁死 │ 4 维权重 │ 严格 JSON Schema │​

└────────────────┴─────────────────┴─────────────────────┘​

+​

┌─────────────────────────────────────────────────────────┐​

│ Layer 4 · 🔄 每日情报区(动态覆盖位 · 实时跟进伤停) │​

└─────────────────────────────────────────────────────────┘​

​

🧠 架构 · 四层约束​

​

代码块​

Haskell

用户提问​

│​

▼​

​

​

​

各层职责拆解​

Layer 1 · 资料库​

​

​

全部 48 队的核心球员、近况、隐忧均写死在 skill.md 内,模型只许引用,严禁编造。​

Layer 2 · 方法论​

​

​

​

⚠️ 铁律:实力悬殊也不得给出超过 85% 的胜率(足球有偶然性 — 2022 沙特 vs 阿根廷)​

​

🚀 快速开始​

Method 1 — cURL · 一行直接跑​

​

代码块​

C++

curl https://api.deepseek.com/chat/completions \​

-H "Content-Type: application/json" \​

-H "Authorization: Bearer $DEEPSEEK_API_KEY" \​

-d '{​

"model": "deepseek-v4-pro",​

"response_format": {"type": "json_object"},​

"messages": [​

{"role": "system", "content": "<skill.md 全文粘贴到这里>"},​

{"role": "user", "content": "请预测这场 2026 世界杯比赛:【小组赛】墨西哥 vs 南非。严格按约束文档的 JSON 格式输出。"}​

]​

}'​

​

​

​

Method 2 — Python · 接进你的应用​

​

代码块​

Python

​

Method 3 — Node.js · TypeScript​

​

代码块​

TypeScript

import OpenAI from "openai"​

​

📦 输出契约​

每次调用返回一份严格 JSON,字段、类型、长度全部锁死:​

​

代码块​

JSON

{​

"teamA": { "name": "墨西哥", "winProb": 70 },​

"draw": 20,​

"teamB": { "name": "南非", "winProb": 10 },​

"predictedScore": "2-0",​

"confidence": "高",​

"keyFactors": [​

"阿兹特克主场揭幕战气势如虹",​

"墨西哥金杯冠军班底实力碾压",​

"南非时隔16年重返经验不足"​

],​

"analysis": "东道主墨西哥在阿兹特克球场迎战南非,实力与主场优势明显……",​

"playersToWatch": [​

{ "team": "墨西哥", "player": "圣地亚哥·希门尼斯", "reason": "米兰前锋状态火热" },​

{ "team": "南非", "player": "佩西·塔乌", "reason": "南非进攻核心,肩负爆冷希望" }​

]​

​

阶段(stage)取值​

​

代码块​

Plain Text

小组赛 → 32 强 → 16 强 → 8 强 → 半决赛 → 决赛​

​

​

淘汰赛的 draw 概率代表 90 分钟战平进加时/点球(对应 analysis 须说明谁更可能笑到最后)。​

​

​

​

🇲🇽 分组与赛程​

赛事:2026 FIFA World Cup(美国 · 加拿大 · 墨西哥三国联办) 日期:2026 年 6 月 11 日 — 7 月 19 日 揭幕战:6 月 11 日 · 墨西哥 vs 南非 · 阿兹特克球场​

👉 点击展开 12 个小组完整分组表​

​

​

每组前两名 + 8 个成绩最好的第三名 → 晋级 32 强淘汰赛。​

​

​

🔄 每日情报更新流程​

核心设计:写死的资料库 + 每天可覆盖的情报位 = 动静结合。​

​

代码块​

Haskell

┌─────────────────────────────────────────┐​

│ skill.md (~10 KB · 一二三四五节 锁死) │​

│ ──────────────────────────────────── │​

│ 一、赛事基本盘 │​

│ 二、预测方法论 │​

│ 三、输出格式契约 │​

│ 四、48 队球队资料库 │​

│ 五、红线 │​

│ │​

│ ↓↓↓ 永远只动这一节 ↓↓↓ │​

│ │​

│ 六、最新情报(每日更新区) │​

│ - 情报日期:YYYY-MM-DD │​

│ - 未来 48h 参赛队伤停 / 状态要点 │​

│ - 与第四节冲突时,以本节为准 │​

└─────────────────────────────────────────┘​

​

💡 适用场景​

•

📱 球迷应用 / 小程序 — 直接喂给前端渲染预测卡片​

•

🤖 微信群 / Discord 机器人 — 群友提问即出预测​

•

📊 数据可视化看板 — 64 场比赛批量预测 · 跑出冠军树​

•

🎙️ 内容创作辅助 — 解说稿 / 短视频脚本基础数据​

•

🎮 预测游戏 / 竞猜社区 — 作为 AI 对手 / 参考意见(非投注)​

•

🧪 Prompt Engineering 教学样本 — 极简结构 · 教科书级约束设计​

​

​

🛣️ Roadmap​

v1.0 — 48 队完整资料库 + 4 层约束 + 严格 JSON​

v1.0 — DeepSeek / Qwen / GPT / Claude 全模型适配​

v1.0 — 在线 Demo 站(worldcup.youliaoyun.com)​

v1.1 — 每日情报区自动化更新 GitHub Action​

v1.1 — 英文版 skill.en.md​

v1.2 — 球员级别预测(进球者 / MVP / 黄牌)​

v1.2 — 赛后回测脚本(对照实际结果统计命中率)​

v2.0 — 升级为 Skill Pack:把方法论抽象为可复用的"赛事预测 Skill 模板",支持欧洲杯 / 奥运 / NBA​

​

​

❓ FAQ​

Q1: 这是机器学习模型吗?需要训练吗?​

不是,不需要。 本项目本质是一份 system prompt(文本文件)。 你拿任何一个开箱即用的 LLM(GPT / Claude / DeepSeek 等),把 skill.md 全文塞进它的 system 消息,它就具备了"世界杯专家"的能力。​

零训练、零向量库、零依赖。​

Q2: 预测准确率有多高?会不会瞎说?​

本 Skill 通过四层约束大幅降低瞎说概率,但不保证比赛结果——足球本身的偶然性谁都消不掉。 我们刻意把胜率上限锁在 85%,就是为了承认"再悬殊也可能爆冷"(沙特 vs 阿根廷)。​

这是娱乐和讨论工具,不是先知。​

Q3: 我能拿这个去做付费应用吗?​

MIT 协议,可以。但请注意:​

•

仅限娱乐与球迷讨论场景​

•

严禁用于任何投注、博彩、赔率、下注业务(Skill 自身已内置红线拒绝)​

•

如果做了酷的东西,欢迎在 Issues / PR 里分享一下​

Q4: 资料库里我喜欢的球队漏写了/写错了,怎么办?​

欢迎提 PR 修订 skill.md 第四节。 请在 PR 描述里贴上信息来源(官方/权威媒体),不接受小道消息。​

Q5: 每天的伤停情报怎么自动更新?​

短期(v1.0):手动在第六节顶部覆盖一次,即可生效。 中期(v1.1 规划):GitHub Action + LLM 每日自动抓取新闻 → 提取要点 → PR 第六节。 长期(v2.0 规划):抽象成"赛事 Skill 模板",任意赛事可复用本模式。​

Q6: 为什么淘汰赛的"平局"概率也要给?​

淘汰赛不存在平局,draw 字段表示 90 分钟战平进入加时/点球的概率。 analysis 字段中会进一步说明加时/点球阶段谁更有可能笑到最后。​

​