自建还是购买:决策模型的经济学

Hacker News Top 新闻

摘要

一篇博客文章系统分析了决策模型(如 Jev)的经济学,探讨其 choice/score/noul 输出类型、几乎免费的输出 token 成本,以及由此衍生的"决策层级"内存层级类比。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/10/21 06:24

# 决策模型的经济学 来源: https://pncnmnp.github.io/blogs/economics-decision-models.html 如果你喜欢这篇博客文章,请订阅我的 RSS 馈送 (https://pncnmnp.github.io/rss.xml) ## 自造还是外购:决策模型的经济学 ## 首次发布: 18/10/26 > *精明的持家格言是:凡是自己制造比购买更费钱的东西,切勿在家自制。裁缝不会尝试自己做鞋,而是向鞋匠购买;鞋匠不会尝试自己做衣服,而是雇佣裁缝;农夫两者都不自制,而是雇佣这些不同的工匠。所有人都发现,把自己的全部劳力用在对邻居有某种优势的方面,再用其产出的一部分——或者说用其一部分产出的价格——去购买自己需要的其他任何东西,才是最符合自身利益的做法。* —— Adam Smith,《国富论》(https://www.gutenberg.org/files/3300/3300-h/3300-h.htm#chap27)(1776) 过去几周,Jev (https://typesafe.ai/blog/introducing-system-one-models-and-jev) 以及决策模型一度成为热门话题。随着热度稍退,我觉得系统性地探索和预测这一切最终会走向何方会很有趣。 我们都认同,魔力似乎在于输出。输出可以分为三类:*choice(选项)*、*score(评分)* 和 *noul(概率值)*。在 *choice* 模式下,我们提供一个固定的选项列表,输出是每个选项的概率,总和为 1。*score* 用于针对一个有序的等级列表给某物打分,使用这些等级的概率加权平均值。最后,*noul*(有人说它是以伯努利试验命名的 (https://news.ycombinator.com/item?id=49891495))返回一个 0 到 1 之间的数字:某个陈述为真的概率。 以下是使用 OpenRouter (https://openrouter.ai/typesafe/jev-1.13) 上的 Jev 1.13 的示例: `` REQUEST: { "model": "typesafe/jev-1.13", "state": "Some damn good curly fries - seasoning was something.", "questions": {"answer": {"type": "score", "instructions": "How enthusiastic is the reviewer?", "criteria": ["Lukewarm", "Happy", "Thrilled"] }}} RESPONSE: { "model": "typesafe/jev-1.13-20260917", "answers": {"answer": {"type": "score", "score": 1.48, "legend": {"0": "Lukewarm", "1": "Happy", "2": "Thrilled"}, "probabilities": {"0": 0, "1": 0.51, "2": 0.49}, "confidence": 0.27}}, ..... } ``` 这种模型带来了一些有趣的后果。首先,它有**明确的输出**!我们在提问之前就说明了可能的答案,模型必须从中选择。其次,**每个答案都带有几率(odds)**。稍后我们会看到,我们可以利用这一点对它们做一些有趣的算术运算。第三,由于开销在于读取 state 和消耗输入 token,**输出 token 基本上是免费的**。举个例子:我粗略计算了一下上面的例子。假设一个普通 LLM 需要 250 个输入 token 和 50 个输出 token 来生成这个响应,而我们有 400,000 个这样的查询需要处理,那么产生的 1 亿输入 token 和 2000 万输出 token 在 GPT-5 nano 上将花费 13 美元(使用缓存 token 为 8.5 美元),而通过 Jev 只需 4.2 美元。最后,**它速度很快**! ## 决策层级 也许我最兴奋的发现是,这催生了一种新的存储层级形式,我将其命名为**决策层级(decision hierarchy)**。 作为回顾,翻开你最喜欢的教科书,找到内存管理那一页。以下是 Tanenbaum 在《现代操作系统》(https://en.wikipedia.org/wiki/Modern_Operating_Systems) 中关于存储层级的论述: > 多年来,人们发现了存储层级的概念:计算机拥有几 MB 的速度极快、价格昂贵、易失性的高速缓存,几 GB 的中等速度、中等价格、易失性的主存,以及几 TB 的慢速、便宜、非易失性的磁盘或固态存储,更不用说 DVD 和 U 盘等可移动存储了。操作系统的职责是将这一层级抽象为一个有用的模型,然后管理这个抽象。 *这些经验也可以应用到 LLM 领域。*假设你有一个 L-cache,由手写规则以及针对相同问题及其 state 的历史答案的精确/语义匹配混合组成。如果是这样,Jev 和决策模型可以被想象为 RAM,LLM 是磁盘,磁带是人。每一层处理自己有把握的部分,把未命中的部分传递给下一层。 图 1:存储层级 vs. 决策层级。*但我们如何确定置信因子并选择阈值?*这就用到了 1970 年的 Chow 规则 (https://ieeexplore.ieee.org/document/1054406)。让我们先来说明这个思想。假设有一个分类器 $C$,有 $n$ 个类别。对于每个输入,分类器为这 $n$ 个类别中的每一个生成一个概率。当最大类别的概率接近 1 时,模型对自己的决策有把握,错误很少。然而,当所有类别的概率相等,比如 $1/n$ 时,任何答案都接近于猜测。因此,错误来自于不确定的输入。为了缓解这个问题,我们需要更高层次的智能——从决策模型到 LLM,在最坏情况下是人类。我喜欢这样表述:一个问题越"哲学上是 NP 的"((https://www.scottaaronson.com/papers/philos.pdf),这里并非形式化的意思),它就需要越高层次的智能来做出非模糊的判断。 ## 回答 vs. 弃答 *但我们要如何决定是否应该在某个层级给出响应,还是选择弃答?*一种简单的方法是使用阈值 $T$。对于每个输入,我们查看最高的概率,比如 $p_{\text{max}}$。如果 $p_{\text{max}} \leq T$,我们拒绝回答,并将输入传递给下一层。如果 $p_{\text{max}} > T$,我们就用最高概率的结果来回答。通过这种方式,我们得到了一个从 $T = 1/n$ 到 $T = 1$ 的旋钮。旋钮调得越高,拒绝越多,而保留下来的回答错误越少。 然而,这种简单的阈值方法没有考虑**结果的价格**。具体来说,*我们在某个层级答错问题的成本,以及在该层级拒绝回答的成本*。假设答错的成本为 1,拒绝的成本为分数 $F$,答对的成本为 0。如果我们用类别 $k$ 回答,那么答错的概率为 $1 - p_k$。对于最高概率的类别,答错的概率最小,即 $1 - p_{\text{max}}$。因此,第二种方法是:只有当我们的成本低于拒绝的成本时才回答。换句话说,当 $1 - p_{\text{max}} < F$ 时回答。 举个例子,设 $F=0.2$,$p_{\text{max}}=0.6$。由于回答的平均成本为 $1 - p_{\text{max}} = 0.4$,而拒绝的成本为 0.2,所以我们选择拒绝。 接下来,我们需要评估拒绝($F$)的实际成本。当我们把一个决策传给下一层时,需要考虑该层级出错的成本($\text{NX}_{\text{errcost}}$)、我们在该层级评估任何输入所支付的成本($\text{NX}_{\text{price}}$),以及下一层本身的错误率($\text{NX}_{\text{err}}$)。 ## 推导 Chow 规则 考虑一下——假设有 100 个软件工单需要评估并做出决策,而我们工作在 Jev 和 LLM 两个层级上。假设对于所有工单,Jev 对其决策有 60% 的把握($p_{\text{max}} = 0.6$)。错误路由的成本为 2 美元。LLM 每个工单收费 0.01 美元($\text{NX}_{\text{price}}$),错误率为 5%($\text{NX}_{\text{err}}$)。LLM 层级在出错时也会产生 2 美元的成本($\text{NX}_{\text{errcost}}$)。在两个极端场景下各需多少成本? - Jev 回答所有 100 个工单:Jev 在其中 40 个上出错。40 × $2 = $80。 - 把所有 100 个工单都发给 LLM:LLM 在 5 个工单上出错。LLM 评估费用为 100 × $0.01 = $1。在出错的 5 个工单上,总成本为 5 × $2 = $10。总共 $11。 按每个工单计算,回答的成本是 $0.80,而传递给下一层是 $0.11,所以我们选择传递。注意我们没有考虑 Jev 的费用,因为它在两种方案中都会产生,所以不会影响哪个方案更便宜。 现在让我们推导 $F$,以便将其应用于更一般的情况。**记住,传递给下一层会让我们承担两笔费用:我们既支付费用,又承担 LLM 的错误。** - *下一层的错误率*($\text{NX}_{\text{err}}$):每 100 个工单有 5 个错误答案 = 每个工单 0.005 个错误答案。 - *在下一层,一笔费用相当于多少个错误答案*:每工单 $0.01 / 每次错误答案 $2 = 0.005 个错误答案。即 $\text{NX}_{\text{price}} / \text{NX}_{\text{errcost}}$。 因此,$F = \text{NX}_{\text{err}} + \text{NX}_{\text{price}} / \text{NX}_{\text{errcost}}$。将其代入原方程,**我们得到了 Chow 规则**:$1 - p_{\text{max}} < \text{NX}_{\text{err}} + \text{NX}_{\text{price}} / \text{NX}_{\text{errcost}}$ 对于上面的例子,$1 - p_{\text{max}} = 1 - 0.6 = 0.4$。而 $\text{NX}_{\text{err}} + \text{NX}_{\text{price}} / \text{NX}_{\text{errcost}} = 0.05 + 0.005 = 0.055$。由于 $0.4 > 0.055$,我们选择传递给下一层,这与 $0.80 对比 $0.11 的结论一致。 ## 它告诉了我们什么? *注意,当错误代价高昂时,LLM 的价格几乎无关紧要。*唯一的问题是*谁在这个输入上更准确*。这是因为 $\text{NX}_{\text{price}} / \text{NX}_{\text{errcost}}$ 趋近于零,所以 $F \sim \text{NX}_{\text{err}}$。换句话说,当错误代价高昂时,更便宜的 LLM 帮助不大,但更准确的 LLM 帮助很大。 然而,当错误代价低廉时,$\text{NX}_{\text{price}} / \text{NX}_{\text{errcost}} > \text{NX}_{\text{err}}$。重新整理后得到——$\text{NX}_{\text{errcost}} < \text{NX}_{\text{price}} / \text{NX}_{\text{err}}$。换句话说,只有当答错的代价低于某个金额时,LLM 的费用才比它的错误更重要。对于我们上面的例子,这个金额是 $0.01 / 0.05,即 20 美分。我们的工单每次答错花费 2 美元,远高于此,所以准确性说了算。 用 Adam Smith 的话来说,只有当我们的收益大于我们的付出时才行动。**在我们的决策层级中,LLM 只卖一种产品——更少的错误。每个层级是一个供应商,有 3 个数字:价格、错误率,以及它每次犯错的成本。我们上面讨论的阈值就是一个盈亏平衡点——下一层节省的金额恰好等于它向你收取的金额的那一点。** ## 自信的错误,以及错误成本不相等的情况 到目前为止,我们假设每个层级做出的决策都是无噪声的。Chow 规则只会将某一层级没有把握的输入升级。然而,在现实世界中,任何层级都可能做出自信的错误。当两个层级共享相似的训练数据时尤其如此。缓解这个问题的一种方法是使用**随机审计**。想象一个很小的随机切片,比如 Jev 有把握的决策中的 1%,仍然被发送到下一层。这将有助于计算更准确的错误率估计,并调整成本。 Chow 规则还假设每个错误的成本相同。这在现实世界中同样不成立。假设一个本应发送给法律团队的工单被路由到了技术团队。根据情况,这可能比一个本应发送给技术团队却被路由到数据分析的工单代价高得多。 在我们调整 Chow 规则来解决这个问题之前,注意 $\text{NX}_{\text{price}}$ 和 $\text{NX}_{\text{err}}$ 都不依赖于任何输出类别。根据 $\text{NX}_{\text{price}}$,LLM 对每个工单收取相同的费用。类似地,只要我们假设 LLM 在每个类别上的准确度相同,$\text{NX}_{\text{err}}$ 就不会改变。因此,我们只需要 $\text{NX}_{\text{errcost}}$ 来反映输出类别的开销。基于此,以下是 Chow 规则的更新版: 1. $1 - p_{\text{max}} < \text{NX}_{\text{err}} + \text{NX}_{\text{price}} / \text{NX}_{\text{errcost}}$ 2. $(1 - p_{\text{max}}) \times \text{NX}_{\text{errcost}} < \text{NX}_{\text{err}} \times \text{NX}_{\text{errcost}} + \text{NX}_{\text{price}}$(两边同乘 $\text{NX}_{\text{errcost}}$) 3. 考虑 $1 - p_{\text{max}} = \sum_{c \neq \text{max}} p_c$ 和 $1 = \sum_c p_c$(其中 $c$ 代表一个类别) 4. $\sum_{c \neq \text{max}} p_c \times \text{NX}_{\text{errcost}} < \text{NX}_{\text{err}} \times \sum_c p_c \times \text{NX}_{\text{errcost}} + \text{NX}_{\text{price}}$ 5. $\text{NX}_{\text{errcost}} \Rightarrow \text{NX}_{\text{errcost}}(c)$ 6. $\sum_{c \neq \text{max}} p_c \times \text{NX}_{\text{errcost}}(c) < \text{NX}_{\text{err}} \times \sum_c p_c \times \text{NX}_{\text{errcost}}(c) + \text{NX}_{\text{price}}$ 7. $C' = \sum_c p_c \times \text{NX}_{\text{errcost}}(c)$ 8. $\sum_{c \neq \text{max}} p_c \times \text{NX}_{\text{errcost}}(c) = C' - p_{\text{max}} \times \text{NX}_{\text{errcost}}(\text{max})$ 9. $C' - p_{\text{max}} \times \text{NX}_{\text{errcost}}(\text{max}) < \text{NX}_{\text{err}} \times C' + \text{NX}_{\text{price}}$(除以 $C'$ 使规则回到原始公式的形式) 10. $1 - p_{\text{max}} \times \text{NX}_{\text{errcost}}(\text{max}) / C' < \text{NX}_{\text{err}} + \text{NX}_{\text{price}} / C'$ 注意,如果每个类别的 $\text{NX}_{\text{errcost}}$ 都相同,那么 $C' = \text{NX}_{\text{errcost}}$。在这种情况下,我们就回到了原始的 Chow 规则:$1 - p_{\text{max}} < \text{NX}_{\text{err}} + \text{NX}_{\text{price}} / \text{NX}_{\text{errcost}}$。 图 2:修改后的 Chow 规则 $1 - p_{\text{max}} \times \text{NX}_{\text{errcost}}(\text{max}) / C' < \text{NX}_{\text{err}} + \text{NX}_{\text{price}} / C'$ 的交互式图表。用通用术语来说,这条曲线是一条双曲线 (https://www.desmos.com/calculator/altqzwksk9),方程为 $y = 1 - a - b/x$,其中 x 是 $C'$,y 是方程右侧的阈值,$a$ 和 $b$ 分别是常数 $\text{NX}_{\text{err}}$ 和 $\text{NX}_{\text{price}}$。双曲线被截断以防止出现负值。**注意**该图是使用 Claude 的 Opus 5.5 Extra 模型生成的 AI 图。根据 Anthropic 的商业条款 (https://ww

相似文章

Amazon 发布自家 Jev 克隆,决策模型席卷网络

TechCrunch AI

Amazon Web Services 发布了 Strands Decider 2B,一个受 TypeSafe 的 Jev 启发的开源决策模型,基于 Qen3.5-2B 构建,为智能体工作流提供快速、低成本、校准化的决策能力,而非进行完整的 LLM 生成。