24.从Mock到真实数据——Doris接入与AI查询系统设计 一、为什么必须引入真实数据系统在前面的 v1 / v2 阶段我们用的是❌ mock data字典 / 假SQL这样做的问题是❌ 看起来像系统但没有真实数据语义❌ SQL没有约束❌ 无法验证性能❌ 无法体现工程复杂度 一句话升级 AI运营助手真正的价值只有在“真实OLAP数据系统”上才成立 二、为什么选择 Doris Doris 是什么Apache Doris 是一个 高性能实时分析型OLAP数据库 它适合什么场景用户行为分析订单分析实时指标计算大规模聚合查询 为什么 AI运营助手用 Doris因为它具备能力价值高并发查询支撑运营分析实时性秒级数据反馈SQL兼容AI可直接生成SQL 三、系统架构变化关键 Mock版本之前AI → mock数据 → 分析 Doris版本现在AI ↓ SQL生成 ↓ Doris执行 ↓ 真实数据返回 ↓ 分析结果 四、核心数据链路设计 完整链路User Question ↓ Intent Agent ↓ SQL Generator ↓ Doris SQL Executor ↓ Result Set ↓ Analysis Agent ↓ Report Agent 五、Doris接入设计核心 1️⃣ Doris Client 封装importpymysqlclassDorisClient:def__init__(self):self.connpymysql.connect(host127.0.0.1,userroot,password123456,databasegame_db,port9030)defexecute_sql(self,sql:str):withself.conn.cursor()ascursor:cursor.execute(sql)resultcursor.fetchall()returnresult 设计重点 AI层不直接接数据库 统一由 DorisClient 执行 六、SQL执行层设计关键 SQL Executor Agentfromtools.doris_clientimportDorisClientclassSQLExecutor:def__init__(self):self.dbDorisClient()defexecute(self,sql:str):try:resultself.db.execute_sql(sql)return{status:success,data:result}exceptExceptionase:return{status:error,message:str(e)} 七、AI生成SQL如何接入真实数据❗ 关键问题LLM会问“我不知道表结构怎么办” 解决方案Schema注入 Schema ProviderSCHEMA table: user_behavior - user_id - login_time - order_count - channel Prompt增强核心你是SQL生成器。 你只能使用以下表结构 {schema} 请生成Doris SQL查询语句。 核心作用 限制AI“乱编字段” 八、完整执行链路升级版用户问题 ↓ Intent Agent ↓ SQL Agent带Schema ↓ SQL Executor ↓ Doris ↓ Result Set ↓ Analysis Agent ↓ Report Agent 九、Python完整调用示例fromagents.intent_agentimportintent_agentfromagents.sql_agentimportsql_agentfromtools.sql_executorimportSQLExecutorfromagents.analysis_agentimportanalysis_agentfromagents.report_agentimportreport_agentdefrun(question:str):# 1️⃣ 意图识别intentintent_agent(question)# 2️⃣ SQL生成sqlsql_agent(intent)# 3️⃣ 执行SQLDorisexecutorSQLExecutor()resultexecutor.execute(sql)# 4️⃣ 数据分析analysisanalysis_agent(result[data])# 5️⃣ 报告生成reportreport_agent(analysis)returnreportif__name____main__:q最近7天用户流失情况如何print(run(q)) 十、这个版本的核心价值面试重点 1️⃣ 从“假系统”变“真实系统”mock → Doris假SQL → 真SQL 2️⃣ AI开始依赖数据系统 AI不再是“生成文本”而是数据驱动系统的一部分 3️⃣ 引入真正的工程复杂度包括SQL执行异常处理Schema约束数据返回结构 十一、常见面试追问重点❓1为什么不用直接让LLM查数据库 答因为必须通过 SQL 层进行安全控制和结构约束否则会产生不可控查询和错误数据访问。❓2Doris在系统中的角色是什么 答Doris是OLAP数据层负责提供真实业务数据是整个AI分析系统的“事实来源”。❓3SQL错了怎么办 答通过 Schema约束 Prompt限制 SQL Executor校验三层保障。❓4为什么要单独封装SQL执行层 答解耦AI与数据系统使AI专注于“生成”系统负责“执行与安全”。 十二、这一篇的本质必须记住 一句话总结 AI运营助手从这一篇开始真正从“AI应用”升级为“AI 数据系统融合架构” 下一篇预告《25. v2 实战接入 Doris SQL 三阶段Planner / Optimizer / Execution》