ELAI S.r.l.

AI 智能体什么时候值得再问一次?

通过完整算例理解信息价值、工具成本与停止询问的时机:知道更多,并不总能改变决策。

AI 智能体什么时候值得再问一次?

一份业务记录、两条处理路径、一次额外询问

一个 AI 智能体要决定业务记录的处理路径:继续常规流程,或者交给人工复核。它可以查询额外的档案来源,但每次查询都消耗时间和资源。继续查询似乎谨慎,停止似乎冒险。真正有用的问题更明确:下一条回答能否充分改善选择,使其收益超过查询成本?本文将逐步计算,而不假设调用工具越多,智能体就越好。

摘要。我们建立一个合成决策问题:两种行动、一种隐藏异常以及不完美的工具。随后推导介入阈值、根据回答更新概率,并比较查询前后的期望成本。第一个有效检查将成本从 12 降至 8.88 个单位,其中已经计入查询费用。在同一个案例中,区分能力较弱的检查没有决策价值。最后,在更强假设下,依据第一次回答决定是否再次检查的策略将成本降至 8.448 个单位。这些是实际执行的教学计算,不是 EL-AI 产品测量,也不是语言模型的实验结果。

计算之前:智能体能决定什么

理解本文只需要百分比、加权平均,以及区分事实与我们对事实的认识。用 H 表示记录是否存在异常:存在时 H=1,否则 H=0。检查既不会制造异常,也不会解决异常,只提供线索。可选行动为 S,即常规处理,以及 R,即复核。这个区分很重要:这里评估的是信息请求,而不是直接修改记录或执行交易的工具。

所有合成成本都使用同一种约定单位。选择 S 且确有异常时损失为 100;没有异常时为零。R 始终花费 12,并在模型中避免进一步损失。这些数值不是欧元、实测时间或企业收费。假设复核能解决问题是为了简化计算;真实复核也可能出错,需要不同的成本表。检查价格设为 2,同样只是教学设定,且必须与其他成本使用相同单位。

行动H = 0H = 1
S0100
R1212

接着引入 p,表示检查前记录存在异常的概率。贯穿示例取 p=0.20,即假想总体有 20% 的记录存在异常。它不是模型自称的置信度,也不是从助手一句话中提取的百分比,而是实验中指定的参数。在真实应用中,应使用相关案例估计并验证它,不能直接照搬差异很大的总体中的发生频率。目前先假设它已知,以便单独研究决策问题。

不再查询,直接决策的成本是多少?

第一个公式回答一个简单问题:根据现有信息,哪种行动的平均成本更低?S 的期望成本是 100p,因为损失 100 以概率 p 发生。R 的成本始终为 12。把较小值记为 L₀,下标零表示尚未购买检查。这个平均值描述相同假设下重复处理案例的情况,并不保证某一份记录的实际成本。

L₀(p) = min(100p, 12) p* = 12 / 100 = 0.12 L₀(0.20) = min(20, 12) = 12

阈值 p* 为 0.12。低于 12% 时选择 S 更合算,高于时选择 R;恰好达到阈值时,两者在模型中等价。因此,p=20% 时应送去复核。现在我们有了评估任何进一步查询的明确基线。如果缺少这个基线,“工具很准确”或“智能体收集了大量证据”并不能证明查询改善了结果。必须先明确要改善的选择,以及衡量改善程度的后果。

工具回答之后:我们知道了什么

工具 A 返回正信号 + 或负信号 −。正信号表示存在异常的线索,并不表示确定存在异常。定义灵敏度 s=P(+ | H=1)=0.8:真实异常中有 80% 返回正信号。定义假阳性率 f=P(+ | H=0)=0.1:普通记录中仍有 10% 触发警报。竖线表示“在给定条件下”。这些数值同样是合成假设,不是任何现有档案服务的性能声明。

更新概率之前,需要知道每种回答出现的频率。正信号可能来自发现了真实异常,也可能来自误报。对于同一份记录,这两种情况互斥,因此可以相加。将正信号的概率记为 z,得到 0.24。如果 1,000 个假想案例恰好按模型比例分布,就会有 160 个真阳性和 80 个假阳性,共 240 个正信号。这是根据参数构造的期望计数,不是实际采集的样本。

z = sp + f(1 − p) = 0.8 × 0.2 + 0.1 × 0.8 = 0.24 p₊ = sp / z = 0.16 / 0.24 = 2/3 p₋ = (1 − s)p / (1 − z) = 0.04 / 0.76 = 1/19

后两行使用贝叶斯规则:在与回答相符的所有案例中,真正包含异常的比例是多少?正信号后的 240 个期望案例中有 160 个异常,所以 p₊=2/3,约 66.67%。负信号后的 760 个案例中仍有 40 个异常,所以 p₋=1/19,约 5.26%。只有负信号分支越过了 12% 的阈值。因此 + 之后仍选择 R,− 之后则可以选择 S。负信号并不保证没有异常,只是改变了成本权衡。

信息价值要在知道答案之前评估

调用工具时,还不知道会出现哪个分支。因此,应把每个分支中最优决策的成本按该分支概率加权。用 L₁ 表示观察信号后的成本,但暂不包含查询费用。毛价值 V 是相对 L₀ 的成本下降。“毛”这个字避免了一种实际误解:信息可能有用,却仍然太贵。查询策略的总成本是 c+L₁,其中 c=2。

L₁(p) = z L₀(p₊) + (1 − z)L₀(p₋) L₁(0.20) = 0.24 × 12 + 0.76 × (100/19) = 6.88 V = L₀ − L₁ = 12 − 6.88 = 5.12 c + L₁ = 2 + 6.88 = 8.88

结果表示:如果在假定总体中理想地重复此流程,平均成本会从 12 降至 8.88,净收益为 3.12。它不表示每次查询都能节省 3.12。正信号分支中,我们支付 2,仍然送去复核。整体收益来自负信号分支中避免了许多复核,同时接受模型所预测的残余损失。如果价格超过 5.12,在这个只允许一次查询的比较中就不值得检查;价格恰好等于 5.12 时,两种策略持平。

为什么毛价值不会为负?因为智能体可以忽略信号,保留原来的选择。形式上,对任一固定行动 a,给定信号后的最低成本不会高于同一分支中采用 a 的成本。取平均,再令 a 为最初的最优行动,就得到 L₁≤L₀。这个论证要求原有行动仍可使用、信息可以被忽略,而且检查不会直接改变案例。会锁定记录、披露数据或消耗截止时间的服务,不能仅用信息收益描述。

知道更多,决策价值仍可能为零

把 A 与工具 B 比较,后者的 s=0.6、f=0.4。在相同初始 p 下,正信号以 0.44 的概率出现,将异常概率提高到 3/11,约 27.27%;负信号以 0.56 的概率出现,将其降低到 1/7,约 14.29%。检查确实区分了一些情况:两个概率彼此不同,也与初始值不同。然而它们都高于 12%。无论回答是什么,我们都选择 R,成本为 12。因此 L₁ 仍为 12,V 为零。

这就区分了减少不确定性与改善决策。互信息以比特为单位,衡量概率不确定性的平均减少量,但并不知道我们的成本表。在贯穿案例中,B 的计算结果约为 0.01864 比特,却没有决策收益。即使不掌握熵,也能理解原因:线索改变了估计,但没有跨越行动阈值。对于不同的初始概率或成本,B 可能有价值;我们并没有说它在所有情形下都无用。

若要重建这个数值,定义 h(x)=−x log₂(x)−(1−x) log₂(1−x),在 x=0 和 x=1 时取相应零贡献。回答的不确定性是 h(z);知道 H 后,剩余平均不确定性为 p h(s)+(1−p)h(f)。二者之差 I(H;Z) 就是互信息。对 B 而言,它等于 h(0.44)−h(0.6),因为 h(0.4)=h(0.6)。这说明决策价值为零,并不是因为工具与问题完全独立。

保持行动成本不变,改变初始概率时,一次查询的毛价值。曲线来自合成参数的精确计算,不是测量数据。水平线表示成本 2,竖向点线表示 p=0.20。可打开图片查看细节。
保持行动成本不变,改变初始概率时,一次查询的毛价值。曲线来自合成参数的精确计算,不是测量数据。水平线表示成本 2,竖向点线表示 p=0.20。可打开图片查看细节。

阅读图表时,应看对应当前记录的概率位置上的曲线高度,而不是只找整体最高的曲线。在 p=0.20 处,A 高于成本线,B 则没有。在两端,状态已经几乎确定,可获得的收益很小。改变错误损失或复核成本会改变曲线。工具可靠性与决策情境共同起作用;脱离具体任务的单一工具排名会丢失这种依赖关系。

一个上界:完全知道真实状态

在设计更昂贵的工具之前,可以先问完美回答值多少钱。若知道 H,就会对普通记录选择 S,对异常记录选择 R。剩余成本为 0.8×0+0.2×12=2.4,因此完美信息的价值是 12−2.4=9.6。注意它不是 12,因为知道存在异常并不会消除复核成本。在这里固定的行动和成本下,任何仅提供关于同一状态的信息的工具都不能超过这个上界。因此,即使尚未考察准确率,支付超过 9.6 的费用也没有意义。

第二次询问:价值取决于第一次回答

此前只允许检查一次。现在最多允许两次,每次都具有 A 的性能,成本均为 2。新增一个强假设:给定 H 后,两次回答条件独立。也就是说,一旦确定异常存在或不存在,知道第一次信号不会改变第二次信号的概率。这不表示在不知道 H 时,两次回答也独立。可以设想两个错误机制分离的检查,但这只是概率构造;两个复制同一来源的档案并不会自动满足它。

第一次为正时,从 p=2/3 出发。即使第二次为负,概率也只降到 4/13,约 30.77%,仍高于阈值;第二次为正则会进一步升高。两个结果都选择 R,所以第二次检查的毛价值为零,应停止。第一次为负时,则从 1/19 出发。第二次为正会得到 4/13,因而选择 R;第二次为负会得到 1/82,约 1.22%,因而选择 S。这个分支中的检查确实可能改变行动。

展开负信号分支的计算,避免把收益藏在算法里。不再次检查时,平均成本为 100/19=5.26316。再次检查后,后续行动的成本在不含新查询费时降至 2.69474,加上 2 后为 4.69474。因此,在第一次为负的条件下,收益约为 0.56842。这个分支出现概率为 0.76,所以从起点计算的额外期望节省为 0.432。完整策略成本为 8.88−0.432=8.448。这里使用四舍五入的数字解释算术,程序则保留精确分数。

对于剩余 n 次询问预算,可以写出一般规则。Wₙ(p) 是从当前位置出发可达到的最低成本;没有询问次数时,它就是 L₀。至少还有一次机会时,比较立即停止与支付 c 后在各回答分支中继续最优决策的成本。对信号 y 的求和包括 + 和 −,pᵧ 是更新后的概率。这是有限时域递推,解决的是指定的小模型,而不是现实智能体的一切规划问题。

W₀(p) = L₀(p) Wₙ(p) = min[L₀(p), c + Σᵧ P(y | p) Wₙ₋₁(pᵧ)] W₁(0.20) = 8.88 W₂(0.20) = 8.448

这个表达式也说明,“只有下一条回答单独值得时才问”存在局限。当还有多步机会时,第一次观察可能为后续更有价值的检查创造条件,正确标准必须像 Wₙ 一样考虑后续过程。本例中第一次检查本身就值得,但不能把这个巧合提升为普遍原则。对 h 步中每步两个回答进行朴素枚举,规模按 2ʰ 增长;缓存等价状态可减少重复计算,却不能普遍消除规划难度。

重复同一回答,不等于第二份证据

如果第二次调用返回的正是第一次缓存的同一数据,那么在已有知识的条件下,新结果已经确定。异常概率不变,新增信息价值为零。若把它当作独立测试再次使用贝叶斯公式,就是将同一证据计算两次。即使回答换了一种说法,道理也一样。因此,在估计另一个工具的价值之前,智能体必须区分新的观察与旧观察的新表述。

复现计算,并理解尚缺什么

附带代码包使用 Python 的有理数表示 Fraction 计算所有平均值,并通过断言检查主要结果。没有随机抽样,因此不需要种子。图中使用从零到一的 1,001 个 p 值;转换为小数只用于导出与显示。risk 选择较低成本,branches 计算回答概率与更新后的概率,voi 计算期望成本之差,value 实现递推。文末片段从 experiment.py 导入这些函数,需在解压目录运行,不能当作没有本地依赖的独立程序。

主要局限不是算术,而是对参数的了解。需要适用于当前情境的可靠概率、一致的成本表,以及连接工具时的联合错误模型。语言模型自信地说出一个概率,本身并不能满足这些条件。等待成本还可能取决于案例状态,复核能力可能有限,搜索过程中状态也可能变化。这些情形需要扩展模型,而不能继续套用同一组数字,并赋予它们并不具备的精确性。

要把推理转移到企业项目,可以提出一项评估:在与参数估计数据分离的案例上,比较不查询、固定查询一次和自适应查询三种策略。应记录结果、成本、调用次数和来源依赖关系,并区分概率质量与决策质量。这里尚未执行这项评估,没有使用企业档案,也没有邀请读者或操作人员参与。该模型是设计与评估智能体的应用假设,并不证明 EL-AI 已有相应功能。

回答最初的问题

当未来决策的期望改善超过请求的总成本时,就值得询问。本例中,有效回答在扣费前值 5.12 个单位;在相同情境下,区分能力较弱的回答价值为零;第二次独立检查仅在第一次为负后值得进行。目标不是让智能体吝于提问,而是把每次提问连接到可能改变的选择,再把选择连接到明确后果。这样才能解释为什么继续或停止,而不是用查询次数衡量智能程度。

来源与本文性质

概念参考:David L. Poole 与 Alan K. Mackworth,Artificial Intelligence: Foundations of Computational Agents,第三版,2023 年,第 12.3 和 12.4 节。查阅了序贯决策形式化、策略优化与信息价值的性质。该来源是教科书,不是新预印本或智能体基准测试。本文的行政业务案例、参数、数值推导、图和代码均为本次讲解构建,并非复刻书中案例。本文是 AI 辅助的教学专论,不是经过同行评审的原创研究。

Poole & Mackworth (2023), §12.3 — Sequential Decisions.

Poole & Mackworth (2023), §12.4 — The Value of Information and Control.

from fractions import Fraction as F
from experiment import risk, branches, voi, value, STRONG, WEAK
p = F(1, 5)
print('baseline', float(risk(p)))
for name, tool in [('A', STRONG), ('B', WEAK)]:
    print(name, [(float(w), float(q)) for w, q in branches(p, *tool)])
    print('gross value', float(voi(p, *tool)))
print('one query', float(value(p, 1)))
print('adaptive two queries', float(value(p, 2)))

代码、数据与说明 · JSON. 教学计算使用 Python 3.14.0,图使用 Matplotlib 3.11.2。分析由 AI 辅助,不声称经过同行评审或人工审核。原创 ImageGen 封面仅作示意,不记录 EL-AI 人员、场所或实际安装。来源查阅于 2026 年 10 月 9 日。