摄影:产品经理
油炸臭豆腐
如果一个 AI 能把每个小问题都答对,它能不能把大问题做对?
直觉上似乎可以。
把复杂任务拆成几个简单判断,让模型分别给出概率,再用代码聚合:
signal 1 → 0.91
signal 2 → 0.13
signal 3 → 0.77
signal 4 → 0.24
signal 5 → 0.96
↓
代码聚合
↓
最终答案
这种架构很漂亮,也很符合最近火起来的 Jev。
Jev 的核心能力,就是把自然语言状态转换成结构化概率判断。相比让大模型生成一大段文字,再从中提取 "continue"、"stop" 或 "risk=high",这种方式更适合作为程序里的决策组件。
问题在于:
复杂问题一旦被拆开,某些决定最终结果的关系可能同时被拆没了。
最后就会出现一种很危险的系统:
每一条判断都合理,每一个数字都说得过去,最终结论却非常愚蠢。
一、那个让 Jev 从 62.6% 涨到 95% 的 benchmark
最近有一组很有意思的第三方测试。
研究者使用 2000 封邮件测试 Jev 和 Claude Haiku 4.5 的 phishing 识别能力,其中钓鱼邮件和正常邮件各 1000 封。
直接问模型:
这是不是一封钓鱼邮件?
结果:
Jev:62.6% Claude Haiku 4.5:81.3%
Jev 输得相当明显。
随后测试者换了一种方法。
他们不再让模型直接给最终答案,而是让它判断几个更简单的信号,例如:
发件域名和链接域名是否异常 是否使用可疑托管服务 是否要求登录或验证账号 是否制造紧迫感 是否存在身份冒充特征
于是 Jev 输出类似:
域名异常概率 0.91
可疑托管概率 0.74
要求登录概率 0.88
制造紧迫感概率 0.63
身份冒充概率 0.81
随后再把这些结果交给一个经过训练的 logistic regression 分类器。
最终准确率:
95.0%。
这个结果非常亮眼,也非常容易产生一个诱人的推论:
Jev 不擅长直接处理复杂问题,所以把复杂问题拆成很多简单判断,再用代码组合,就可以获得更好的结果。
这个推论需要非常谨慎。
因为 95% 的成绩属于整个系统:
人工设计 decomposition
+
Jev 提取局部信号
+
有监督训练的聚合器
+
最终分类
这里面真正聪明的地方,并不全部来自 Jev。
测试者已经提前决定,哪些因素值得观察。
随后又通过有标签的数据,学习这些因素应该如何组合。
换句话说,复杂问题中很重要的一部分结构,已经由设计者和下游分类器提前编码进系统。
而 phishing 恰好又是一类非常适合这种玩法的问题。
二、为什么 phishing 特别容易拆?
假设要判断一封邮件是不是 phishing。
它可能存在一些相对稳定的特征:
发件人异常
链接域名异常
短网址
要求输入密码
制造紧迫感
冒充银行
这些信号有一个共同特点:
它们多数属于静态、可观察的特征。
邮件不会发现自己正在被检测,然后突然改变策略。
一个链接域名被检测出异常之后,也不会因为模型得出了这个结论,就改变下一步行为。
所以这个任务很接近:
只要找到合适的特征,再训练一个好的组合函数,确实可能取得很高的准确率。
很多真实决策并没有这么友好。
尤其当:
不同因素之间存在强交互 当前选择会改变后续环境 每一步行动都会影响下一步可选空间 对方会观察你的行为并作出反应
简单拆成几个概率,很容易丢掉最重要的信息。
三、一个很生活化的例子:买衣服
假设你正在商场买一件外套。
你让一个 Jev 风格的决策系统分别判断:
这件衣服好看吗? 0.92
价格便宜吗? 0.88
质量好吗? 0.81
穿着舒服吗? 0.90
适合我的身材吗? 0.86
五项全部很高。
于是代码计算:
综合评分 = 0.874
结论:买。
单看这些判断,完全合理。
现在增加一个信息:
你的衣柜里已经有六件几乎同样款式、同样颜色、同样用途的外套。
这时,“这件衣服本身好不好”依然没有发生变化。
它仍然:
好看 便宜 舒服 质量不错 适合你
前面五个判断依然全部正确。
可“应该买吗?”的答案已经可能发生变化。
因为最终决策取决于另一个变量:
这件衣服给你的衣柜增加了多少边际价值。
现在再往前一步。
假设商场有一个活动:【买满三件打五折】。
于是系统开始逐件判断:
第一件:
好看:0.91
实用:0.88
价格:0.86
→ 买
第二件:
好看:0.89
实用:0.84
价格:0.90
→ 买
第三件:
好看:0.87
实用:0.81
价格:0.96
→ 买
每一次局部判断都能解释。
最后你拎着三件衣服回家,其中两件一年都没穿过。
问题出在哪里?
系统一直在判断:
这件衣服值不值得买。
真正需要优化的目标却是:
在有限预算和已有衣柜的条件下,怎样配置整个购买组合,长期效用最高。
这两个问题差别很大。
四、这其实就是一个简单的博弈论问题
“买衣服”看起来不像博弈论。
一旦商家加入策略,它立刻就进入了博弈框架。
例如商家推出:【第二件半价】。
你站在第一件衣服面前。
系统判断:
第一件值 500 元吗?
→ 值
于是买。
然后看到第二件:
原价 500
现在只要 250
性价比极高
→ 买
每一步都合理。
最终花了 750 元。
如果你一开始只需要一件衣服,真实备选方案其实是:
方案 A:
买一件
支出 500
方案 B:
买两件
支出 750
方案 C:
今天都不买
等下个月真正需要时再买
商家的促销策略,会改变你每一步看到的“局部价格”。
第二件 250 元确实很便宜。
可这并不能推出:多花 250 元一定增加了 250 元以上的效用。
这就是商家和消费者之间一个非常简单的策略互动:
商家:
通过改变局部激励
提高客单价
消费者:
通过局部性价比判断
连续做出看似合理的购买决策
最终结果可能恰好符合商家的最优策略,却偏离消费者自己的全局目标。
所以一个决策系统如果每一步只问:
“当前这个选择划算吗?”
即使全部回答正确,也可能被对方通过机制设计牵着走。
这就是局部最优在策略环境中的危险之处。
五、每个 signal 都对,也可能缺少最关键的信息
假设一个 AI 判断公司是否值得投资。
它拆出五个问题:
行业增长快吗? 0.89
产品好吗? 0.91
管理层优秀吗? 0.82
估值便宜吗? 0.78
客户满意吗? 0.86
结果看起来非常好。
但真实风险可能来自这样一条关系:
公司最大的两个客户
↓
贡献 70% 收入
↓
其中一家正在自研替代产品
↓
另一家与潜在收购方存在竞争关系
这里真正重要的内容不是某一个独立 signal。
核心在于几个事实之间形成了一条因果链。
一旦把原始问题压缩成:
0.89
0.91
0.82
0.78
0.86
那条关系可能已经永久消失。
聚合器再聪明,也只能处理自己收到的信息。
输入里没有的关系,后面的代码无法凭空恢复。
六、Agent 场景里这个问题会更加严重
Jev 很容易让 Agent 开发者产生一个想法:
以后大量 control flow 都可以交给概率判断。
例如一个 research agent 每执行一步,都问:
还要继续搜索吗?
Jev 返回:
0.81
继续。
下一轮:
0.76
继续。
下一轮:
0.73
继续。
每一次继续搜索都可能有充分理由。
因为新的搜索确实还存在一定概率带来新信息。
可最终 Agent 可能出现:
搜索 30 次
获取大量重复信息
context 越来越长
冲突越来越多
真正关键证据反而被淹没
每一步都问:再搜索一次有没有价值?
而系统真正应该优化的是:
“下一步有没有收益”和“整条轨迹是否最优”属于两个层级的问题。
这也是 Jev 在 Agent 架构里最容易被滥用的地方。
七、Jev 很适合判断,规划则需要更完整的状态
Jev 这类模型非常适合处理一些边界清晰的问题:
这个网页相关吗?
这个来源是否重复?
这条证据是否支持某个 proposition?
这个请求应该路由到哪个 Skill?
当前结果是否满足某个明确标准?
这些任务通常具有明确的局部语义。
可一旦问题变成:
整个任务下一步应该怎么办?
现在是否应该停止?
应该为了短期收益牺牲未来选项吗?
对手看到我的行为以后会怎么调整?
这个行动会怎样改变十步之后的状态?
系统就需要维护更多东西:
长期目标
历史状态
资源约束
动作之间的依赖
未来状态转移
对手策略
机会成本
一个局部 probability 无法完整承载这些信息。
八、所以 phishing benchmark 应该怎样理解?
那组 benchmark 很有价值。
它说明:
在某些可以良好分解的任务中,把复杂判断拆成多个稳定特征,再通过专门的聚合器处理,可能显著提升效果。
这个结论已经足够重要。
没有必要再把它扩大成:
所有复杂推理都可以拆成简单概率判断。
phishing 的结构天然适合 feature engineering。
投资决策、Agent planning、谈判、资源分配、商业竞争和长期策略,则经常存在大量交互项、反馈循环和状态转移。
这些问题里,拆解方式本身就是推理的一部分。
如果 decomposition 错了,后面每一个模型都可以回答得非常准确,整个系统依然会失败。
九、真正需要 benchmark 的,是最终轨迹
如果要判断 Jev 能否承担 Agent 的决策层,仅测试:
这个分类对不对?
这个概率准不准?
这个 routing 准确率是多少?
还不够。
更关键的测试应该是:
最终任务完成率是多少?
整个 Agent 走出的轨迹质量如何?
是否会陷入局部最优?
是否会因为连续正确的小决定积累成大错误?
对手改变策略以后还能工作吗?
长期目标和短期 signal 冲突时会怎样处理?
这才真正对应 Agent 的能力。
Jev 很有意思。
它证明了一件事:
大量原本由 LLM 通过生成文本完成的判断,可以被压缩成非常廉价、快速的概率决策。
可当我们把复杂任务拆成几十个漂亮的 probability 时,还要问最后一个问题:
这些概率保留了做出最终决策所需要的信息吗?
如果答案是否定的,那么整个系统可能呈现一种非常诡异的失败方式:
所有局部判断都经得起检查,所有数字都看起来合理,所有代码都严格执行了规则。
最后得到的,却是一个很愚蠢的结论。
END
未闻 Code·知识星球开放啦!
一对一答疑爬虫相关问题
职业生涯咨询
面试经验分享
每周直播分享
......
未闻 Code·知识星球期待与你相见~