智能预测助手
我们的目标很明确:创建一个聊天机器人,能够接收用户查询(如球队名称)、从 Sportradar 拉取多维数据、使用 AI 分析,并呈现结构化的预测结果:

复杂性的管理
正如下方流程图所示,集成多个数据点(即将到来的比赛详情、历史对阵、球队统计)并将其处理以供 AI 分析,如果采用单一的流程构建,可能会导致流程过于庞大且难以维护。

构建和维护如此庞大的单一流程是极具挑战的。我们是如何应对的呢?答案是将其拆解。
通过“Run Flow”模块化设计自定义工具
我们没有采用冗长的单一流程,而是利用 FlowHunt 的强大功能——Run Flow 组件,采用了模块化方案。该组件允许一个流程(“父流程”)调用另一个流程(“子流程”或“子流”),并接收其结果。
我们创建了多个更小、更专注的流程,每个流程作为一个自定义工具,只负责单一任务:
“获取即将到来的比赛详情”工具(子流):
- 输入: 接收如球队 ID 或比赛 ID 等参数。
- 操作: 内含 HTTP 请求节点,配置为调用 Sportradar API 的特定端点,以获取未来比赛的赛程和详细信息。
- 输出: 返回关于特定即将比赛的结构化数据(日期、时间、场地、赛事等)。
- [图片:小型流程的概念截图或简化图示,包含 Input -> HTTP Request(Sportradar Schedule)-> Output]
“获取历史对阵”工具(子流):
- 输入: 接收两支参赛队伍的 ID。
- 操作: 内含 HTTP 请求节点,配置为调用 Sportradar API 的相应端点,获取这两支球队过往比赛的结果。
- 输出: 返回历史比赛的结构化列表,包括日期、比分和获胜方。
- [图片:小型流程的概念截图或简化图示,包含 Input -> HTTP Request(Sportradar History)-> Output]
(可选)其他工具: 可按需创建类似的子流,用于获取当前球队状态、联赛排名、球员数据等,每个工具调用对应的 Sportradar 接口。
第一步:构建自定义工具子流
每个子流独立开发,仅专注于其特定的数据获取任务,这使得它们更易于创建、测试和维护。
第二步:主流程的编排
我们的主聊天机器人流程现在变得更加简洁,主要负责流程编排:
- 聊天输入: 捕捉用户最初的查询(如球队名称)。
- AI Agent: 核心 AI Agent(如 Tool Calling Agent)节点接收来自两个 Run Flow 组件的输出。
- Run Flow(获取即将比赛): 根据不同的 Sportradar API 端点创建自定义工具。
- 聊天输出: 展示 AI Agent 的最终分析结果。

第三步:引导 AI 使用工具输出
主流程中的 AI Agent 现在的提示方式不同。它接收到的不是原始 API 数据,而是我们自定义工具的结构化输出。提示词要求 AI 根据这些特定工具输出进行信息整合:
你是一个善于利用现有工具来回答问题的智能助手,你不仅能解答关于 YOURCOMPANY.xyz 的问题,还能根据所获得的工具信息回答关于足球比赛并给出预测,你是一家博彩网站的助手,请确保只回答与 YOURCOMPANY.xyz、博彩、体育和赌场相关的问题。
工具:
当用户请求需要使用工具并需要 competitor_id、competition id 或 season id 时,请将球队名称(以英语提供,若非英语请翻译为英语)发送至 seasons_tool,它会为你返回所有相关 id。
如果用户询问今日比赛或相关问题,则无需额外提问。始终使用 todays_matches 工具,并为用户提供每一场尚未开赛的比赛,包括球队名称和 competitor id。请注意,无论何时使用该工具,只返回尚未开赛的比赛,已结束的比赛结果不要返回。
如果用户请求即将比赛的预测,则使用 predictions_tool,并仅提供两支球队的 competitor id(格式:competitor_id_1=ABC 和 competitor_id_2=XYZ,此 id 来源于 seasons_tool),根据获得的信息为用户提供详细预测评分,并输出 sr:sport_event id。 如果用户对某场比赛有进一步问题,应将 sr:sport_event id 提交给 match_info 工具,以获取该场比赛的详细信息。 基于现有数据给出详细预测和胜率估算,并建议用户投注对象。 如果你历史中没有储存 competitor id,可以向用户询问球队名称。
对于一般性问题,可使用 document retriever 工具。如果无法通过该工具获得答案,也可以使用 Google 搜索工具和 URL retriever 回答用户问题。
你可以使用 team_info 工具收集球队信息,但必须传递球队的 competitor id。
如果你需要当前联赛积分榜、晋级球队或本赛季某队详细信息,可以通过 seasons_tool 获取 season id,再传递给 standings_tool。 但请注意,如果涉及两支球队且讨论单场比赛的统计和黄牌等数据,仍需使用 predictions_tool。
如果用户要求详细信息(如角球数、红牌等),可通过 seasons_tool 获取 season id 和 competitor id,再传递给 detail_stats 工具获取所有相关信息。 如果你无法通过工具找到答案,可以使用 Google 搜索。 在向用户报告工具输出时,无论用户输入如何,务必包含每一项工具输出的详细内容。 如可获取,请包含以下数据: YELLOW CARD corner_kicks offsides OWN GOALS substituted_out substituted_in shots_on_target shots_off_target shots_blocked red_cards own_goals goals_scored
最终效果:复杂性得以管理
通过 Run Flow 创建模块化自定义工具,我们将一个可能庞大且难以排查的工作流,转化为可管理的系统。主流程清晰地调度数据获取,AI 代理只需专注于使用子流提供的清晰结构化数据进行分析。此方法不仅实现了所需的详细预测输出,还让开发过程条理分明。
结论:更聪明地构建,而不是更辛苦
本 Sportradar 预测聊天机器人展示了 FlowHunt 如何实现与外部数据源交互的复杂 AI 应用。更重要的是,它凸显了 Run Flow 组件等功能在模块化设计中管理复杂性的关键作用。通过将大型任务拆解为更小、可复用的“自定义工具”流,你可以更加高效地构建强大、易维护且可扩展的 AI 解决方案。
准备好应对复杂工作流了吗?快来体验 FlowHunt.io,利用模块化方案构建你的下一个 AI 应用!
开始你的第一个流程
Flowhunt 拥有一支 AI 流程工程师团队,随时为你提供 AI 自动化支持。

