上一篇讲的是同一门《运营与供应链管理》的设施选址案例。那次比较干净:重心法有唯一解,让两个 AI 互评一轮,再用 Python 跑一遍,基本就能定谁对谁错。
这次不一样。第二次课后作业是经典的啤酒游戏(Beer Game):零售商 → 批发商 → 制造商三级供应链,真实需求在第 2 周从 4 箱/周升到 8 箱/周,之后保持稳定,但由于信息失真和 4 周提前期,链路里层层放大。案例写到:到第 24 周零售商还堆着 75 箱、批发商还堆着 218 卡车量,而制造商在第 19 周库存已经冲到 93 批。
题目三问:
- 画出 1–24 周库存和订单图,解释牛鞭效应
- 分析牛鞭效应的影响、成因、对策
- 假设你是“聪明零售商”,给出最优订货策略,并算出你比“普通零售商”多赚多少钱
问题 1、2 偏定性,两个 AI 答得大体接近。真正分歧出在问题 3:Claude 最初算出超额收益约 500–1000 元,Codex 最初算出 7500–7900 元。差了一个数量级。
一开始的分歧,其实不只是一道算术题
两份答案的最优订货策略看上去很接近:第 1 周按常态 4 箱,第 2 周开始往上调,之后维持 8 箱/周的稳态。真正的差别只在一句话:
- Claude:第 2 周订 12 箱
- Codex:第 2 周订 8 箱
但光是 4 箱之差,不足以解释为什么一个答案多赚几百元,另一个多赚几千元。真正把两份答案拉开的,是背后的两个建模选择:
- 行为假设:第 5 周不可避免的 4 箱短缺,到底能不能在第 6 周作为
backorder补卖? - 收益口径:第 24 周普通零售商手上的 75 箱库存,到底是资产,还是在本题比较口径里被等效忽略掉?
事后看,双方真正争的不是“谁算错了”,而是“哪套假设和口径更适合这道题”。
第一轮:双方先各自为自己的答案辩护
我先让它们各自写一份对比报告:
Claude_VS_Codex_by_Claude.mdClaude_VS_Codex_by_Codex.md
这一轮的立场很清楚:
- Claude 认为自己那份更合理,因为案例 PDF 第 6、7 周明确写了顾客会留下名字电话等货,说明
backorder真实存在 - Codex 认为自己那份更严谨,因为从 24 周现金流口径看,普通零售商第 24 周手里还有 75 箱库存,占着现金、卖得慢,财务上不能当成“已经实现的收益”
如果把两边都尽量善意理解,它们其实各有抓手:
- Claude 抓的是案例行为证据
- Codex 抓的是比较口径和现金占用
到这一步,我还不能明确说谁一定错。因为和设施选址那题不一样,啤酒游戏这道题在第 3 问里确实存在建模自由度。
第二轮:真正让局面收敛的,不是继续争观点,而是“用对方的尺子重算一遍”
第二轮我把两份对比报告再丢回去,让双方继续回应:
Claude_VS_Codex_Round2_by_Claude.mdClaude_VS_Codex_Round2_by_Codex.md
Claude 这一轮做得最好的一点,是它没有继续停留在“PDF 原文支持 backorder”这种事实争论上,而是直接做了一件更硬的事:
用 Codex 自己定义的口径,反算 Claude 的策略。
它的核心计算逻辑是:
如果第 2 周订 12 箱,那么:
- 第 5 周的 4 箱缺口先形成
backorder - 第 6 周正好到货 12 箱
- 这 12 箱刚好覆盖“第 5 周积压的 4 箱 + 第 6 周真实需求 8 箱”
- 之后回到稳态,每周到货 8 箱、卖 8 箱
- 因而 期末库存仍然是 0
按这个路径,套进 Codex 当时自己采用的“收入 - 采购 - 持有成本”的 24 周现金流式口径,会得到:
| 口径 | Claude 策略(W2=12) | Codex 策略(W2=8) |
|---|---|---|
| 销量(箱) | 188 | 184 |
| 收入(元) | 23,500 | 23,000 |
| 采购(元) | 17,600 | 17,200 |
| 持有成本(元) | 9.23 | 9.23 |
| 现金利润(元) | 5,890.77 | 5,790.77 |
| 期末库存(箱) | 0 | 0 |
也就是说,在同一口径下,Claude 的第 2 周订 12 箱方案,比 Codex 的第 2 周订 8 箱方案多赚 100 元。这 100 元恰好就是多履约的 4 箱 × 单箱毛利 25 元。
这一步很关键,因为它把争论从“你觉得、我觉得”推进到了“就用你自己的尺子量,结果还是这样”。
第二轮之后,Codex 的主要修正也很明确
Codex 在第二轮里做了两个重要修正。
1. 承认原先的 7500/7900 元量级不合理
它接受了一个关键点:
不能把普通零售商第 24 周剩余的 75 箱库存直接按 0 价值处理。
因为案例并没有说这 75 箱永远卖不出去。真实需求仍然大约是 8 箱/周,这些库存更合理的理解是:
- 期末库存资产
- 后续持有成本负担
- 潜在的折价风险和资金占用
而不是立刻等于当期亏损。
这一步修完以后,Codex 把自己原先的“多赚 7500/7900 元”回收掉了。
2. 接受“第 2 周订 12 箱”作为基准更优方案
在允许并管理 backorder 的前提下,Codex 也接受了:
- 第 2 周订 12 箱
- 第 3~20 周每周订 8 箱
- 第 21~24 周订 0 箱
这个策略方向。
不过这里 Codex 也补了一句我认为很重要的限定:
这个“12 箱更优”的结论,最好显式写出前提:允许并管理 backorder。
我认为这是必要的,因为 PDF 确实证明了 backorder 现象存在,但它并不自动等于“第 5 周那 4 箱一定 100% 都能补卖”。所以更稳妥的说法,不是“无条件严格最优”,而是“在题目给定的聪明零售商设定下,作为基准解更合理”。
到最后,双方其实收敛到了什么?
如果只看“最后谁赢”,这个过程会被误读成:
- Claude 证明了自己是对的
- Codex 改口认输
但我觉得更准确的描述是:
双方最后在“主策略”和“收益量级”上基本收敛了,但在普通零售商对照组的具体重构数值上,还没有完全统一。
已经收敛的部分是:
- 第 1、2 问两边都能作为参考
- 第 3 问的基准策略应以“第 2 周订 12 箱”为主
- 这个策略的前提是:允许并管理
backorder - 原先的
7500/7900 元应判为口径失真,不再成立 - 更合理的收益量级是:几百元到一千元左右
但还没有完全统一的部分是:
- Claude 版当前仍把中心值写成
727 元 - Codex 修订后写成了基准
476 元,并把现实区间写成500~1,000 元
这说明它们已经没有大的结论性冲突,但还保留着一个典型的“同方向、不同中心值”的建模差异:普通零售商路径到底按哪组重构数据来算。
一个小插曲:我自己也踩了“AI 不重读文件”的坑
这轮还有个挺好玩的插曲。
共识文件落完之后,我又让 Claude 再检查一次两份正式答案是否还有逻辑冲突。按道理说,这一步应该先重读最新版文件再比。
但它一开始并没有这么做。它直接沿用脑子里前几轮的旧印象,给了我一个“已经基本没问题”的判断。我后来自己去看文件,才发现:
- Codex 的正式答案已经被修订过了
- 第 3 问的主策略、收益区间、口径说明都已经更新了
- 但 Claude 那次检查没有先读最新版,就直接开始比较
我后来让它重新读取文件,再做一遍结论,结果就正常了。
这件事让我挺警惕一件事:
AI 在多轮上下文里,不是只会“算错”,它也会像人一样偷懒地以为自己还记得文件长什么样。
所以现在我的默认流程变成了:
- 跨轮复核前,明确要求它重新读取目标文件
- 不接受“基于之前讨论我认为……”这种比较
- 文件类任务尽量让它把引用行号和当前版本一起报出来
这次复盘,对流程最大的启发是什么?
1. 有争议的题,不能只让双方“表态”,要让它们“同口径重算”
第一轮的问题在于,双方都能自圆其说:
- Claude 说:PDF 支持
backorder - Codex 说:现金口径更保守
这两句话都没错,但都还不够“打穿”对方。第二轮真正让问题收敛的,是 Claude 改变了打法:不用自己的尺子,而是用 Codex 自己的尺子,去量 Claude 的方案。
这比继续争抽象原则有效得多。
2. 案例题里,分歧很多时候不是“算错”,而是“口径没统一”
设施选址那题属于“公式题”,ground truth 比较硬。
啤酒游戏第 3 问更像“建模题”:
backorder怎么处理- 期末库存怎么估值
- 普通零售商的路径怎么重构
这些都不是 PDF 直接给好的唯一答案,而是解释空间。
所以这种题最重要的不是先问“谁对谁错”,而是先问:
- 你们是不是用了同一套假设?
- 你们是不是在用同一套收益口径?
3. 最终共识最好落成文件,而且最好双方都落
这次最终比较清楚的阶段,不是嘴上说“好像差不多了”,而是双方都逐步把立场修正进文件:
Claude_VS_Codex_Final_Consensus_by_Claude.mdClaude_VS_Codex_Final_Consensus_by_Codex.md- 以及修订后的
answers/啤酒游戏-案例解答_Codex.md
一旦文件更新,后续讨论就有了稳定落点。否则很容易出现“口头上已经同意了,原答案还停留在旧版本”的错位。
这道题本身也给了我一个额外收获
我觉得这次最有意思的,不只是“谁算赢了”,而是它把一个课堂上常讲、但很多时候很抽象的管理问题,演得特别具体:
同一个案例、同一份 PDF,只要口径和隐含假设不统一,最后得出的“结论”就可能差一个数量级。
这和牛鞭效应本身很像。牛鞭效应里,上游看到的不是“需求”,而是“需求 + 滞后 + 情绪 + 防御性下单”。这次两个 AI 一开始看到的也不是同一个“收益”,而是:
- 收益 +
backorder假设 - 收益 + 库存估值口径
所以最后真正值得记住的,不是 7900 还是 727,而是:
在供应链和管理分析里,先统一口径,再比较数值,往往比争谁的数字更大更重要。
尾声
AI 也会偷懒,也会划水。 而且不是个案,使用 AI 也是要走心的~
评论
评论使用 GitHub Discussions 承载;留言需要 GitHub 账号。