
现在已经有太多能写代码、而且写得非常好的模型了炒股10倍杠杆软件。Sonnets、Haiku 4.5、Codex 系列、GLM、Kimi K2 Thinking、GPT 5.1……几乎每个都足以应付日常的大多数编码任务。
但对于开发者来说,谁也不想把时间和金钱花在一个排名第二或第三的模型上。最近,小编注意到一位全栈工程师 Rohith Singh 在Reddit上发表了一篇帖子,介绍他如何对四个模型(Kimi K2 Thinking、Sonnet 4.5、GPT-5 Codex 和 GPT-5.1 Codex)进行了实测。

他给四个模型提供了完全相同的提示,要求它们解决可观测性平台中的两个复杂问题:统计异常检测和分布式告警去重。同一套代码库、完全一致的需求、同样的 IDE 配置。
最终结论是GPT-5和GPT-5.1 Codex 的表现非常出色,它们真正交付了可上线运行的代码,漏洞最少;他也分析了每个模型各自的长处:Sonnet 4.5擅长提供高质量、经过充分推理的架构设计和文档输出,Kimi则胜在创意十足且成本低。
最关键的是,GPT-5 Codex 相比Claude的可用代码成本便宜 43%,GPT-5.1 则便宜了55%。
这位老哥在 Reddit 上表示:OpenAI 显然在追逐 Anthropic 的企业利润,而 Anthropic 需要重新考虑定价策略了!
完整代码:
github.com/rohittcodes/tracer
如果你想深入研究可以去看看。提前说一句:这是作者专门为这次评测搭的测试框架,并不是一个打磨完善的产品,所以会有些粗糙的地方。
一、先放结论:GPT-5.1 Codex 是最终赢家
测试 1 : 高级异常检测GPT-5 和 GPT-5.1 Codex 都成功产出了可运行的代码。Claude 和 Kimi 则都存在会在生产环境中崩溃的关键性错误。GPT-5.1 在架构上改进了 GPT-5,并且速度更快(11 分钟 vs 18 分钟)。
测试 2 :分布式告警去重两款 Codex 再次获胜,并真正完成了端到端集成。Claude 的整体架构不错,但没有把流程串起来。Kimi 有一些聪明的想法,但重复检测逻辑是坏的。
测试环境使用了各模型自带的 CLI agent:
Claude Code:Sonnet 4.5
GPT-5 和 5.1 Codex:Codex CLI
Kimi K2 Thinking:Kimi CLI
关键在于,GPT-5 Codex 总成本是0.95美元,而 Claude 则是1.68美元。也就是说 Codex 便宜 43%,而且代码是真的能跑。GPT-5.1 更高效,总成本为0.76美元(测试1花了0.39美元,测试 2 花了0.37美元),比 Claude 便宜了55%。

GPT 5.1 Codex:

官方基准:

定价:
Claude:输入 $3 / 百万 token,输出 $15 / 百万 token
GPT-5.1:输入 $1.25 / 百万 token,输出 $10 / 百万 token
Kimi:输入 $0.60 / 百万 token,输出 $2.50 / 百万 token
测试如何进行:
我给所有模型提供了完全相同的提示,让它们解决可观测性平台中的两个高难度问题:统计异常检测和分布式告警去重。这些可不是玩具题,而是需要对边界情况、系统架构进行深入推理的那种任务。
我在 Cursor IDE 中完成所有设置,并记录了token 使用量、耗时、代码质量,以及是否真正与现有代码库完成集成。最后这一点的影响远超我的预期。
关于工具的小提示:Codex CLI 自我上次使用以来已经好很多了。支持推理流式输出、会话恢复更可靠,还能显示缓存 token 的使用情况。Claude Code 依然是最精致的:内联代码点评、可回放步骤、思维链条清晰。Kimi CLI 感觉还比较早期。看不到模型的推理过程、上下文很快被填满、费用追踪几乎没有(只能看仪表板上的数字)。整体让迭代过程有点痛苦。
二、测试 1:统计异常检测
任务要求:构建一个系统,能够学习基线错误率,使用 z-score 和移动平均(moving average),捕捉变化率尖峰(rate-of-change spikes),并在 10ms 内处理每分钟 10 万条以上日志。
1.Claude 的尝试
Claude写得非常“豪华”:用 z-score、EWMA、变化率检查构建了一个统计检测器,文档写得很详细,还提供了合成基准测试,乍一看相当令人印象深刻。但当我实际运行时,问题就来了。

图3
实际情况:
calculateRateOfChange 在前一个窗口为 0 时返回 Infinity
告警格式化器对它调用 toFixed → 立即触发 RangeError 崩溃
基线根本不是滚动的:
circular buffer 会丢弃旧样本
但 RunningStats 会保留所有数据→ 无法适应系统状态变化(regime changes)
单测使用 Math.random → 整个测试套件非确定性
更致命的是:这些代码完全没有接入真实的处理管线(processor pipeline)
结论是:一个“很酷的原型”,但在生产环境中完全不可用。
2.GPT-5 Codex 的尝试tokens:86,714 输入(+ 1.5M 缓存)/ 40,805 输出(29,056 推理)
Codex 实际上完成了集成。修改了现有的 AnomalyDetector 类,并将其连接到 index.ts。它可以立即在生产环境中运行。

Image 4
边缘情况处理很稳健,会检查 Number.POSITIVE_INFINITY,并在调用 toFixed 时使用描述性字符串而不是崩溃。基线确实是滚动的,使用循环缓冲和增量统计(sum、sum-of-squares),更新复杂度为 O(1)。时间桶与实际时钟对齐,保证可预测性。测试是确定性的,并使用受控的桶触发。
有一些权衡。桶方法更简单,但灵活性略低于循环缓冲。它是在扩展现有类,而不是创建新类,这让统计检测和阈值逻辑耦合在一起。文档相比 Claude 的长篇说明来说很少。
但重点是:这段代码可以直接上线。现在就能运行。
3.GPT-5.1 Codex 的尝试tokens:59,495 输入(+607,616 缓存)/ 26,401 输出(17,600 推理)
GPT-5.1 采用了不同的架构方式。它没有使用时间桶,而是使用基于样本的滚动窗口,通过头尾指针实现 O(1) 剪枝。RollingWindowStats 类维护增量的 sum 和 sum-of-squares,从而可以瞬时计算均值和标准差。RateOfChangeWindow 则单独追踪 5 分钟缓冲区内最旧和最新的样本。
实现更加简洁。边缘情况通过 MIN_RATE_CHANGE_BASE_RATE 处理,避免在比较速率时出现除以零的情况。基线更新被限流,每个服务每 5 秒更新一次,减少冗余计算。测试是确定性的,使用受控时间戳。文档全面,解释了流数据的处理流程和性能特点。
相比 GPT-5 的关键改进:
执行更快:11 分钟 vs 18 分钟
架构更简单:不再需要单独的 ErrorRateModel 类
内存管理更好:周期性压缩缓冲区
质量同样可上线,但效率更高
4.Kimi 的尝试耗时:约 20 分钟 | 成本:约 $0.25(估算) | 增加 2,800 行
Kimi 尝试同时支持流式日志和批量指标,新增了基于 MAD(中位数绝对偏差)和 EMA(指数移动平均)的检测,非常有野心。

Image 5
但是基础实现有问题。它在检查新值之前就更新了基线,使得 z-score 实际上总是零,真正的异常根本不会触发。存在 TypeScript 编译错误:DEFAULT_METRIC_WINDOW_SECONDS 在声明前被使用。速率变化计算直接除以前一个值,未检查是否为零,会导致和 Claude 一样的 Infinity 崩溃。测试中在紧密循环里重复使用同一个日志对象,从未出现真实的模式。没有任何东西被集成。
这段代码甚至都无法编译。
5.第一轮快速对比
Claude
GPT-5
GPT-5.1
Kimi
是否集成
否
是
是
否
边缘情况处理
崩溃
已处理
已处理
崩溃
测试是否可用
不确定
是
是
不现实
是否可上线
否
是
是
否
耗时
11分23秒
18分
11分
约20分
成本
$1.20
$0.35
$0.39
约$0.25
架构
循环缓冲
时间桶
样本窗口
MAD/EMA
总结:GPT-5 和 GPT-5.1 都交付了可工作的、集成的代码。GPT-5.1 在速度和架构上进行了改进,同时保持了同样的生产就绪质量。
三、测试 2:分布式告警去重
工具路由集成:
我想先自己用一下处于测试阶段的 Tool Router,它基本上允许你添加任意 Composio 应用,并且根据任务上下文仅在需要时从对应工具包加载工具。这大幅度减少了你的 MCP 上下文膨胀。可以阅读这里了解更多:Tool Router (Beta)
在启动 测试 2 之前,我通过我们的工具路由将所有内容集成到 MCP 中,而 MCP 是随 Tracer 一起发布的。快速回顾一下为什么要这样做:Tool Router 将用户连接的所有应用暴露为可调用的工具给任何智能体(agent)。每个用户只需一次 OAuth 授权,AI SDK 就可以获得统一接口,而不用我手动对接 Slack、Jira、PagerDuty 以及未来可能接入的其他工具。
实际好处在于:
统一访问 + 每用户授权:一个路由就能管理 500+ 个应用,每个会话只看到用户实际连接的集成。
无需重新部署,SDK 原生支持:新的连接可以即时出现,带有正确的参数和 schema,使智能体可以直接调用,无需胶水代码。
(顺便提一句,这正是 Rube MCP 后端所依赖的服务。)创建它的辅助代码在 packages/ai/src/composio-client.ts:
复制
export class ComposioClient {
constructor(config: ToolRouterConfig) {
this.apiKey = config.apiKey;
this.userId = config.userId 炒股10倍杠杆软件
富华优配提示:文章来自网络,不代表本站观点。