- 重构问数据执行架构为「快速直查(fast)」与「深度分析(deep)」双模式,内置语义预命中(Grounding)注入指标卡片、标准实体编码与表目录血缘 - 快速直查免工作流生成单节点执行,新增零额外模型调用的数字证据归一与封存(direct_evidence),打通可点击数字溯源与 /verify 校验 - 深度分析与助手编排接入跨源本体穿透(自动升级重跑与一键沿本体排查关联数据源),优化数据源范围智能收敛与往返缓存 - 补齐端到端回归测试矩阵与中英文全量文档说明
9.6 KiB
English | 简体中文
问数据与助手
这篇讲「问数据」页和助手:提问之后发生什么、答案里的数字怎么核对,以及助手怎么看表、怎么自查。助手是界面上的「助手」,用自然语言生成和修改工作流的模型。给用问数据的人和搭建者看。
怎么问数据
- 打开「问数据」页,用自然语言提问。
- 系统自行接入数据源、生成一张工作流、执行,然后给出结论。
- 答案里有数字时,经报告撰写节点输出,逐段点得开出处(见证据与出具)。
对话会保存,可以用链接分享。
没接真实模型时,内置的 Mock 也能跑完整条链路,但它不写引用标记,报告里的数字全标成「无证据」。要看到可点的出处,在「设置 → 模型接入」接一个真实模型(见配置)。
一轮里发生什么
一轮包括:助手建图、发起运行、复核、按复核重来、保存结果。这些都在服务端的后台任务里跑,页面只负责看。
- 掉线、刷新、关掉再打开,都按序号接着看。停止走接口
/api/chat/turns。 - 服务重启时,还在建图的那一轮标成中断,可以点「重试本轮」;已经发起运行的那一轮接着等运行结束,照常复核收尾。
- 服务重启后接手一轮时,按账号现在的角色重新核对;账号停用或没了权限的,照实标成中断。
- 同一段对话同时只跑一轮。停在审批上等人的那一轮不算。
- 助手只给了思考、一个操作都没给时,自动重来一次。
- 每一轮的花费包括助手建图、挑表和复核的模型调用。
分析类问题
问的是为什么、怎么变了、哪里拖累、谁贡献最大、是否异常、波动大不大、是不是持续在涨、是不是真的更高这类问题时,助手搭的图里,查库的 agent 另绑五个分析工具(见分析能力):
- agent 先按问题定比哪两期(问题没说就比上一个整期),再照平台内置的分析方法做:可比性检查、放回历史看、按维度拆解,找到主要来源再下钻一层。判定由平台按固定的方法和阈值算,agent 只决定算什么。
- 报告按分析结论写,判断直接引用系统写好的判定语。写作者自己写了「主要来自」「异常」这类判断的,系统逐句核对:没挂对分析结论的交回重写一次,仍有的标在答案里,不影响出具档位(见分析说法核对)。
- 用到分析结论的答案末尾,系统附一段「分析范围」:拆过什么、排除了什么、哪些候选维度没拆、哪些算不了(见分析范围)。
- 拆解只说明变化来自哪里,说明不了为什么:答案里的原因要有知识库原话作依据,否则写成待核实的推测。
- 助手自查时按一张确定的词表认问题是不是分析类,只收明确的问法。是分析类、查库的 agent 却没绑分析工具时,交回助手改一轮;改过一轮仍没绑的照常运行,留一条提醒。
- 分析没做成(历史不够、本期没过完……)、判断词重写后仍没挂对的,复核只写一句说明,不自动重来(见产出复核)。
跨源本体穿透与异常升级
当指标触发契约越界、查询或指标无数据、跨源对账偏离或关联源健康异常时,问数据支持按已确认的业务本体关系跨数据源排查:
- 三段式诊断纪律:Agent 先调用
ontology_neighbors查看目标口径已确认的一跳关联指标与标准实体桥,并用source_health核查外部源表是否断更、断档、行数骤降或出现新增未识别编码;若源表健康或跨源对账(analysis_reconcile)已检出故障,结论直接引用[[h:H1]]或[[a:A1]]早停,不在脏数据上强拆业务维度。源健康通过后再做同源维度定位,并把异常切片经caliber_query(参数由标准实体确定性翻译)穿透到邻居口径做伴随异动检验(analysis_cochange)。 - 异常排查升级(默认一键提示):简单取数轮次命中硬异常信号时,默认不额外重跑,而是在本轮复核操作区展示「指标触发异常,沿本体排查关联数据源」按钮(发起
mode: "escalate"重试);也可在「设置 → 偏好设置 → 问数异常跨源排查」切为自动升级,最多自动追加 1 次跨源排查重试。 - 状态与角色双门禁:运行期自动穿透只走
confirmed/verified状态的本体关系与标准实体绑定,proposed候选不参与自动穿透;普通使用者只看得到、调得动其已授权应用固定版本的口径邻居,不会暴露未授权口径或底层物理表列。
产出复核
运行结束后,规则先扫一遍事件流,发现异常才调用模型复核。复核可以重组答案,但不得引入原答案里没有的数字。
- 使用者(user 角色)的问数据也会被复核。
- 子工作流里一步失败时,自动复核只报一条。
- 问数据里的「继续运行」只给搭建者以上。
- 分析的几种缺口——有几次分析没做成、分析调用写错了一直没改对、判断词核对重写后仍有几处、口径卡指标的两期没做成可比性检查——只写说明、不自动重来。一次运行只有这几种时,复核不调用模型,照这几句原话写说明。
答案里的口径
口径是一个指标怎么取数、怎么算的约定,固定在口径卡里,带名字和版本。答案封存后,系统在后台把答案里的每个数和已发布的口径比对、标上口径,每一轮底下有一行摘要。整题等价于一份受管口径时,系统自动按口径发起一次正式运行。分析结论里的数(占比、变化、波动范围)是从查询结果派生的,不和口径比对、不标口径,摘要行也不计它们。详见回归评测与口径账本。
从答案到工作流和应用
- 「在画布里打开」:把这一轮的图放进画布。建出的工作流记下来自哪一轮。
- 「做成应用」:先把这次运行提取成工作流(只保留实际执行的步骤),在画布上发布,再从发布成功的提示进来(见应用)。
- 问数据发起的运行带着所在对话和轮次(
origin_ref)。
谁能用
问数据默认给搭建者和管理员。管理员可以在「设置 → 身份」给使用者开启。使用者只能发起探索运行,能用的节点和工具有白名单,见身份、权限与安全。对话按建立人隔离。
记录保留多久
- 每一轮的事件日志(
agentlab.db的chat_turn_events表:助手的操作、阶段、运行、复核、终局)只为进行中的轮次服务,供页面先回放再接实时。 - 结束(成功、失败、取消、中断)超过 14 天的轮次,由调度循环每小时清一次,整轮删除。
- 重开已结束的一轮,读的是对话里保存的那一行(答案、图、复核、用量、尝试次数),不受清理影响。
- 助手等模型时的心跳只在实时流上发,不落库。
助手
助手根据一句话生成或改写整张图,并自动排版。画布、问数据、/generate 接口、发布前修复、升级证据、应用润色都用同一套生成过程:起草 → 查看 → 接着写 → 自查修正。
- 改图时只给出改动操作,不重写整张图。
- 交付前按运行时同一套规则自查。查出会运行失败的问题,先交回去改;改不好就不自动运行。
- 问数据里自查还看问题本身:分析类问题、查库的 agent 却没绑分析工具时,提醒一轮(见分析类问题)。
- 建图时主动把应当记住的事实写进长期记忆。
按需查看
助手的系统提示里,每个数据源只有一行概览(表数、几张有目录、有没有遮罩);画布和问数据另列能力登记里的能力,问数据只列只读的。要看表结构、能力参数或工作流版本时,助手自己「查看」,服务端一次给齐字段、目录和连接条件。闲聊、改提示词只调一次模型。
- 查看时,助手输出一行
{"op":"look","need":…,"targets":[{"kind":"table","source":…,"name":…}]}。服务端读到就停止这次输出,查看完把结果作为下一条消息交回;助手接着写,已经落地的操作不重复。 - 能看三类对象:表;能力(名字、参数、返回字段、读写、要不要确认,不给地址和凭据);工作流版本(只列已发布且未退役的)。
- 点名的直接取。只给需求时:候选不超过 12 张就全给;否则按需求挑(关思考,20 秒时限),沿关联补上两跳以内的中间表,一次最多 16 张、12,000 字。
- 挑不出、或者挑出来是空的,照实说,并把表的清单交回去让助手点名。
- 每轮最多查看 3 次,自查修正另给 1 次。
- 系统代为查看:发布前修复、升级证据按要修的 SQL 点名查看用到的表;应用润色先查看应用固定的工作流版本。
- 每次查看发一条 look 事件(看了哪些、怎么来的、没找到的、目录版本、用时),存进这一轮的
meta.looks。下一轮写「上一轮查看过:…」,追问时直接点名看。
先问再做
必须先问清才能动手时,助手输出 {"op":"ask","question":…},这一轮就此结束。已经落地的改动照常交付,但不自动运行。