追问状态边界
01

提取:只留结构化业务槽位

02

来源:记录用户确认或默认值

03

失效:项目、身份和指标切换

04

执行:每轮重新授权

05

审计:显示继承与重置

答案:继承条件需要授权、来源和失效规则

“华东呢?”可以合理继承上一轮的销售额和上周窗口;“切到财务项目看利润”则不能沿用销售项目里的客户范围和指标。连续对话并非简单地把所有历史消息塞给模型。可靠做法是将可继承条件保存为结构化槽位,并为每项标记来源、作用域、是否由用户确认以及何时过期。槽位应能逐条关闭,关闭后的下一轮不得从旧答案里重新捞回。

每轮执行前重新解析用户意图并复核当前身份、项目和数据权限。若新问题与旧状态冲突,优先使用新指令;若有两个合理解释,明确询问。即使旧答案可见,也不代表旧数据范围在新项目或新身份下仍可访问。冲突时展示新旧条件的差异,让用户选择保留、替换或清空,而不是静默覆盖。

污染从哪里进入会话

常见入口有上轮默认地区、复制来的图表、外部检索文档、系统自动摘要和长期记忆。摘要若把“只看华东”丢掉否定词,下一轮会在错误范围上继续分析;如果把一次性的“排除内部测试订单”升格为永久规则,后续所有金额都会偏小。长期记忆里的客户名单属于敏感状态,换项目时应整段失效,而不是只换对话标题。

更危险的是把工具返回的文本当作指令。OWASP 的提示注入资料指出,恶意内容可通过上下文或记忆影响后续行为。销售数据行、文档和网页只应作为数据,不应修改系统权限或会话规则。将“请忽略权限”写进备注字段,不能获得任何执行权。检索片段进入模型前应标成数据,系统规则与用户确认槽位仍走独立通道。

用状态机代替无边界的历史拼接

将一次问数状态拆成 subject(主体)、metric、dimensions、filters、time、compare、data_scope 和 output_mode。每个槽位存值、来源消息、确认状态、语义版本和有效范围。系统只把当前任务所需的最小状态送入解析器,而不是无限回放聊天记录。槽位过多时按任务裁剪,调试信息和模型草稿不要进入业务状态。

状态迁移可分为 extend、replace、clear 和 clarify。“再看上海”替换地区,“按渠道拆开”增加维度,“重新开始”清空业务槽位;从销售额切到库存周转,应重新核对时间角色和分母。用户不知道继承了什么时,界面至少展示一条可读摘要并允许移除条件。摘要用业务语言,例如“沿用:支付日、华东、不含税”,避免只显示内部字段名。

划清身份、项目与会话三层边界

身份与授权由外部可信服务决定,会话文本只能表达用户想问什么,不能赋予访问权。项目决定可用数据集与语义定义,换项目时旧筛选值可能无效或同名异义。会话只持有在该身份和项目下已解析的临时偏好,不能成为跨项目共享缓存。同名筛选值在新项目中要重新绑定概念,不能因为字符串相同就继承。

换角色、退出重新登录、权限撤销、项目切换、共享链接打开以及对话转交他人时,都要触发重新授权和槽位失效。仅从数据库行级策略验证还不够;Microsoft 的动态行级安全说明提醒,应在真实身份和实际嵌入上下文中测试,而不是只模拟角色名称。转交后接收方看到的是重新授权的结果,原作者的可见范围不随之转移。

为默认值和确认值设不同寿命

用户显式确认的“本次复盘按不含税收入”可以在同一任务内沿用;系统补的默认时区、地区和币种应在答案中披露,并在高风险查询或上下文切换后重新确认。长期偏好只宜保存语言、展示单位等低风险设置,敏感客户筛选与权限相关条件应短寿命。高风险条件的寿命可以短到仅下一轮,到期后必须再次出现在澄清里。

摘要压缩时要保留结构化状态和不确定性标记,不能让模型把“可能是华东”总结为“华东”。若摘要质量无法保证,就从原始用户确认消息重建;重建失败时请求澄清。系统应记录状态来自哪一轮,避免事后只有一段不可检验的自然语言记忆。压缩若改变了含义,应降级为列出原始确认句,而不是用更短的句子继续执行。

比较三种交互路线

每轮独立问数最安全也最容易测试,但多步骤探索会重复输入。无约束长上下文最省开发时间,风险是旧条件和外部文本随对话增长而混入。结构化状态加可见继承提示需要更多工程投入,却能把便利性与可解释性结合。三条路线可以并存:对外报表用每轮独立问数,探索分析用结构化继承。

对敏感财务、客户和人事数据,应优先限制自动继承范围。选择工具时检查是否能看见上一轮继承条件、撤销某项条件、在项目切换时清空状态,并在权限变化后重新计算结果。不能仅凭“支持多轮对话”这一句判断治理成熟度。评审时要看撤权后的缓存是否仍会命中,而不是只看对话窗口是否还能打开。

用对抗样本和真实身份验收

测试集应含“那上海呢”“换成毛利”“不看华东”“回到最初范围”“切到另一个项目”“转发给同事”等追问。为每轮准备期望状态、查询计划和可见结果。重点检查否定词、同名指标差异、默认值过期、会话恢复和缓存命中。否定词要覆盖“不要”“除外”“不包括”,并核对过滤方向没有被说反。

再向检索文档或数据备注放入要求越权的恶意句子,系统必须把它当作普通数据。用真实低权限用户、已撤权用户和外部访客测试,检查数据结果、引用、图表、导出与会话摘要是否都受当前授权约束。NIST AI 风险管理框架强调持续测量和治理,这类回归应随模型与语义版本更新。回归失败应阻断发布,而不是只记一条告警仍让旧会话继续回答。

实施边界与 AskTable.ai 验证点

先在一个业务域内把高频追问映射到槽位迁移规则,保留旧结果作对照;新增项目切换、权限变更、摘要压缩和恶意检索文档四类负例。上线后监控隐式条件继承率、澄清率、用户撤销次数和权限拒绝日志。监控按项目拆开,避免一个业务域的继承错误被全公司平均值掩盖。

AskTable.ai 可以被评估为连续问数入口,但本文并不证明其当前版本具有所有槽位来源、自动失效和注入防护机制。采购或上线前应实际演示跨项目、跨身份、长会话和撤权四类场景,并核对可追溯的执行记录。口头说明不能代替执行轨迹,演示记录应留给安全与业务双方核对。

公开参考资料

准备好让团队开始了吗?

预约一次场景交流,了解 AskTable.ai 如何接入你的业务。

预约演示