[English](../en/ask-data.md) | 简体中文 # 问数据与助手 这篇讲「问数据」页和助手:提问之后发生什么、答案里的数字怎么核对,以及助手怎么看表、怎么自查。助手是界面上的「助手」,用自然语言生成和修改工作流的模型。给用问数据的人和搭建者看。 ## 怎么问数据 1. 打开「问数据」页,用自然语言提问。 2. 系统自行接入数据源、生成一张工作流、执行,然后给出结论。 3. 答案里有数字时,经报告撰写节点输出,逐段点得开出处(见[证据与出具](evidence.md))。 对话会保存,可以用链接分享。 没接真实模型时,内置的 Mock 也能跑完整条链路,但它不写引用标记,报告里的数字全标成「无证据」。要看到可点的出处,在「设置 → 模型接入」接一个真实模型(见[配置](configuration.md#模型接入))。 ## 一轮里发生什么 一轮包括:助手建图、发起运行、复核、按复核重来、保存结果。这些都在服务端的后台任务里跑,页面只负责看。 - 掉线、刷新、关掉再打开,都按序号接着看。停止走接口 `/api/chat/turns`。 - 服务重启时,还在建图的那一轮标成中断,可以点「重试本轮」;已经发起运行的那一轮接着等运行结束,照常复核收尾。 - 服务重启后接手一轮时,按账号现在的角色重新核对;账号停用或没了权限的,照实标成中断。 - 同一段对话同时只跑一轮。停在审批上等人的那一轮不算。 - 助手只给了思考、一个操作都没给时,自动重来一次。 - 每一轮的花费包括助手建图、挑表和复核的模型调用。 ## 分析类问题 问的是为什么、怎么变了、哪里拖累、谁贡献最大、是否异常、波动大不大、是不是持续在涨、是不是真的更高这类问题时,助手搭的图里,查库的 agent 另绑五个分析工具(见[分析能力](analysis.md)): - agent 先按问题定比哪两期(问题没说就比上一个整期),再照平台内置的分析方法做:可比性检查、放回历史看、按维度拆解,找到主要来源再下钻一层。判定由平台按固定的方法和阈值算,agent 只决定算什么。 - 报告按分析结论写,判断直接引用系统写好的判定语。写作者自己写了「主要来自」「异常」这类判断的,系统逐句核对:没挂对分析结论的交回重写一次,仍有的标在答案里,不影响出具档位(见[分析说法核对](analysis.md#分析说法核对))。 - 用到分析结论的答案末尾,系统附一段「分析范围」:拆过什么、排除了什么、哪些候选维度没拆、哪些算不了(见[分析范围](analysis.md#分析范围))。 - 拆解只说明变化来自哪里,说明不了为什么:答案里的原因要有知识库原话作依据,否则写成待核实的推测。 - 助手自查时按一张确定的词表认问题是不是分析类,只收明确的问法。是分析类、查库的 agent 却没绑分析工具时,交回助手改一轮;改过一轮仍没绑的照常运行,留一条提醒。 - 分析没做成(历史不够、本期没过完……)、判断词重写后仍没挂对的,复核只写一句说明,不自动重来(见[产出复核](#产出复核))。 ## 产出复核 运行结束后,规则先扫一遍事件流,发现异常才调用模型复核。复核可以重组答案,但**不得引入原答案里没有的数字**。 - 使用者(user 角色)的问数据也会被复核。 - 子工作流里一步失败时,自动复核只报一条。 - 问数据里的「继续运行」只给搭建者以上。 - 分析的几种缺口——有几次分析没做成、分析调用写错了一直没改对、判断词核对重写后仍有几处、口径卡指标的两期没做成可比性检查——只写说明、不自动重来。一次运行只有这几种时,复核不调用模型,照这几句原话写说明。 ## 答案里的口径 口径是一个指标怎么取数、怎么算的约定,固定在口径卡里,带名字和版本。答案封存后,系统在后台把答案里的每个数和已发布的口径比对、标上口径,每一轮底下有一行摘要。整题等价于一份受管口径时,系统自动按口径发起一次正式运行。分析结论里的数(占比、变化、波动范围)是从查询结果派生的,不和口径比对、不标口径,摘要行也不计它们。详见[回归评测与口径账本](evaluation-and-ledger.md#口径账本)。 ## 从答案到工作流和应用 - 「在画布里打开」:把这一轮的图放进画布。建出的工作流记下来自哪一轮。 - 「做成应用」:先把这次运行提取成工作流(只保留实际执行的步骤),在画布上发布,再从发布成功的提示进来(见[应用](apps.md#生成一个应用))。 - 问数据发起的运行带着所在对话和轮次(`origin_ref`)。 ## 谁能用 问数据默认给搭建者和管理员。管理员可以在「设置 → 身份」给使用者开启。使用者只能发起探索运行,能用的节点和工具有白名单,见[身份、权限与安全](identity-and-security.md#使用者的问数据)。对话按建立人隔离。 ## 记录保留多久 - 每一轮的事件日志(`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":…}`,这一轮就此结束。已经落地的改动照常交付,但不自动运行。