Agent 分析工具设计的五个坑:100 行分页样本被当全量汇总,工具响应设计才是关键
AbleBranch6 · reddit · 2026-11-04
作者指出:在数仓上做 agentic 分析(经 MCP 或 function calling)时,模型写的 SQL 往往没问题,出事的是工具返回了什么。文中借 Cube 的 agentic analytics harness 生产实践总结了五个可复用模式,并给出自测方法。
1. 结果截断必须显式说明
查询可能返回 5 万行,工具只回前 100 行时,模型常把分页当全量:排名、求和、报告一个「总数」其实是单页总数。Cube 的做法是返回首 100 行 + 总行数 + 可取更多页的 queryid + 明确的 partial 提示。作者给出了最小 JSON 响应结构示例,以及一个快速自测:让 agent 算「前 10 客户占总营收比例」,若明显高于自己手算的 SQL 结果,就是分母用了分页总数。
2. 错误要告诉模型如何恢复
模糊错误每次都浪费一轮往返和上下文:列名 position 未加引号的解析错误应提示加引号重试;超时应提示用更长超时重试同一 SQL;执行前 linter 拒绝已知非法构造(如 measure 嵌套进 SUM)并解释原因。
3. 成功不止一种状态
执行成功但结果保存失败不算成功;零行不代表分析完成;部分结果要说明缺了什么、如何补齐。不显式说明这些状态,模型就会猜,且倾向于乐观猜测。
4. 按需搜索 schema 而非预载
把完整 schema/语义模型塞进 system prompt 浪费上下文,还可能暴露调用方无权查询的字段,且部署变更后立即过期。按需搜索工具每次读取时同步刷新、按调用方权限过滤、返回少量候选度量/维度;代价是加一点延迟——作者认为值得,因为过期搜索会静默失败。
5. 上下文层不止一种形态
语义元数据(描述、指标构建方式)、自由格式的业务笔记(财年日历、财务排除的交易类型)等各有归属和加载规则,应分层管理。
「编程与Agent」频道最新
- Dream Labs 零样本演示:端到端策略+MCP 规划器驱动 Dexmate 机器人 — scott_e_reed · 2026-11-04
- Claude 推出 auto-connect:企业可一键接入第三方 MCP 服务 — TansuYegen · 2026-11-04
- 用编码 Agent 复查 36 项顶刊 AI 方法:中位数复现 95% 分数,33% 案例反超 — owl_posting · 2026-11-04
- Postman 桌面版被曝自动给 Codex/Claude 装插件,还试图信任自家启动钩子 — jedisct1 · 2026-11-04
- Oracle Agent AI 负责人:企业 AI 路线图还在用过时的用例清单 — akumar · 2026-11-04
- Sentdex 力推 OpenHands:未来开发可能根本不用看代码 — Sentdex · 2026-11-04