TENCENT GAMES ALGORITHM COMPETITION / 2025

2025 腾讯游戏算法大赛数智决策科学赛道冠军

TGAC
Text-to-SQL Agent.

面向游戏数据分析的 SQL 智能体。基于 LangGraph、DeepSeek 和 StarRocks,结合业务逻辑指引、SQL 执行反馈与错误结果拦截,完成自然语言到查询结果的处理闭环。

01

方案设计

CONTEXT

业务逻辑注入

按题目提供的表列表提取 Schema,将通用知识、题目知识与 Logic Guide 组合进上下文,明确日期、关联与统计口径。

SCHEMA · KNOWLEDGE · LOGIC GUIDE
EXECUTION

SQL 执行反馈

通过工具观察数据库样本、执行查询并接收报错。Agent 根据实际返回的数据和执行信息继续规划与修正。

LANGGRAPH · TOOL CALLING · STARROCKS
FEEDBACK

错误结果拦截

把查询结果转换为指纹,与已知错误样本比较,利用限次重试反馈引导修改。最终提交的 SQL 会重新执行并保存实际结果。

RESULT CHECK · RETRY · RE-EXECUTION
02

执行流程

单题运行由上下文构造、Agent 工具调用和提交检查衔接。执行过程中产生的 SQL、查询结果与反馈共同组成可回看的轨迹。

  1. 构造上下文

    读取业务问题、相关表结构和知识资料,组装当前任务的提示词。

  2. 查询与修正

    执行样本探查和完整 SQL,根据数据或报错调整查询与规划。

  3. 检查提交

    将提交结果与错误样本比较,按重试策略返回反馈或结束图流程。

  4. 重执行与保存

    重新执行最终 SQL,将实际返回值写入 JSON,保留逐步运行记录。

运行之间,通过答案管理工具维护正确、错误样本,并从参考 SQL 或待分析任务中提炼 Logic Guide。阅读完整方案与知识维护流程 ↗

03

公开示例与闭环回放

使用独立编写的演示数据,统计指定日期 returning 玩家在各游戏的游玩总时长。固定工具序列展示错误日期查询被拦截、规划修正与最终提交的完整过程。

LOCAL DEMO / SCRIPTED TOOL REPLAY
python scripts/replay_demo.py
python scripts/verify_demo.py --file output/demo/replay_result.json --ids sql_1
[PASS] Known empty result rejected; revised SQL accepted.
[PASS] Final SQL re-executed; result matches the synthetic fixture.
[PASS] sql_1

初始化演示数据库后即可运行。回放使用预设 SQL 与工具调用,实际访问数据库和拦截器,无需模型 API 密钥。

示例查询结果

日期:2026-01-01
人群:标签为 returning 的玩家
聚合:按游戏汇总游玩分钟数

game_idtotal_minutes
g_alpha75
g_beta60
04

技术栈

PythonLangGraphDeepSeekStarRocksPyMySQLDockerContext EngineeringTool Calling

继续浏览项目

CyberHome · 角色对话与长期记忆 ↗
返回全部项目