Login
Back to Blog
中文Comparison

Kimi K3 对比 Claude Opus 4.8:研究生级数学、物理与编程实测

在同一 Crazyrouter OpenAI-compatible API 上,用研究生级马尔可夫链首达时间、带阻尼耦合振子频响和依赖调度算法对比 kimi-k3 与 claude-opus-4-8,记录输出完整性、正确性、延迟和独立验收结果。

C
Crazyrouter Team
July 19, 2026 / 6 views
Share:
Kimi K3 对比 Claude Opus 4.8:研究生级数学、物理与编程实测

Kimi K3 对比 Claude Opus 4.8:研究生级数学、物理与编程实测#

Kimi K3 与 Claude Opus 4.8 研究生级任务对比

大模型在简单算术题上都能给出漂亮答案,真正拉开差距的往往是:推导是否能在输出预算内结束、矩阵和边界条件有没有写对、生成的程序是否真的满足题目语义。

这次我把题目整体升级到本科毕业设计或研究生课程的难度,使用同一组提示词测试 kimi-k3claude-opus-4-8

  • 数学:三状态有限马尔可夫链的平稳分布、首达时间、一阶与二阶矩;
  • 物理:带接地阻尼和耦合阻尼的二自由度振子,求无阻尼模态与复频响;
  • 编程:带依赖闭包、时间窗口、每日容量和三层目标函数的精确调度算法。

先给结论:

  • claude-opus-4-8 三题都在本次预算内完整返回,三题 finish_reason 均为 stop
  • kimi-k3 必须把 temperature 设为 1,在 6000 completion token 上限下,三题都以 finish_reason=length 结束,三次可见 content 长度均为 0;
  • Opus 4.8 的数学和物理答案通过了独立数值核验;
  • Opus 4.8 的调度代码通过了它自带的 13 个断言,但独立增加“前置任务必须先完成”的探针后,发现它只保证依赖任务同时被选中,没有保证前置任务排在后置任务之前;
  • 本轮成功请求平均延迟:Opus 4.8 约 70.59 秒,Kimi K3 约 225.47 秒。这个差异只能代表本轮路由和提示词条件,不能直接当作长期 SLA。

测试环境与参数限制#

测试时间为北京时间 2026 年 7 月 18 日至 19 日,先通过 /v1/models 确认两个模型 ID 都可见:

text
kimi-k3
claude-opus-4-8

请求统一走 Crazyrouter 的 OpenAI-compatible 接口:

text
POST https://cn.crazyrouter.com/v1/chat/completions

公共条件:

text
相同 system prompt
相同用户题目
不启用工具和联网

模型参数不能完全相同,因为上游对 Kimi K3 有硬约束:

模型temperaturemax_tokens结果
kimi-k31(否则 HTTP 400)6000三题均 length
claude-opus-4-80.19000三题均 stop

第一次误用 temperature=0.1 调 Kimi K3 时,接口明确返回:

text
Parameter temperature must be 1 for this model.

因此本文把这项参数限制记录为测试事实,不把失败隐藏成“模型不可用”。在把结果用于生产选型时,也应该把模型专属参数能力写进配置层,而不是假设所有模型都接受同一组采样参数。

结果总表#

任务Kimi K3Claude Opus 4.8独立判定
马尔可夫链首达时间235.420 s,6000 completion,5997 reasoning,length,content 为空57.870 s,4764 completion,stopOpus 完整并正确,Kimi 未交付可见答案
二自由度耦合振子204.568 s,6000 completion,5997 reasoning,length,content 为空64.966 s,5284 completion,stopOpus 完整并通过数值核验
依赖调度算法236.434 s,6000 completion,5997 reasoning,length,content 为空88.934 s,6857 completion,stopOpus 主体可运行,但遗漏依赖先后约束

Kimi 三题的共同形态非常一致:接口返回了模型名和 usage,但 message.content 没有可交付的最终答案。对于需要把结果直接展示给用户或交给编译器的应用,这应当判定为“任务未完成”,而不是“模型已经答对,只是日志没记录”。

数学题:有限状态马尔可夫链的首达时间与方差#

题目使用转移矩阵:

P=(1/21/31/61/41/21/41/61/31/2),X0=1,P=\begin{pmatrix} 1/2 & 1/3 & 1/6\\ 1/4 & 1/2 & 1/4\\ 1/6 & 1/3 & 1/2 \end{pmatrix},\qquad X_0=1,

目标状态为 3,定义:

τ=min{n0:Xn=3}\tau=\min\{n\ge 0:X_n=3\}。

这不是把概率代入公式就能完成的题,至少要处理平稳分布、暂态子矩阵、首达时间的一阶矩和二阶矩,并明确目标态边界 t_3=s_3=0

Opus 4.8 的结果#

它给出的平稳分布为:

π=(310,410,310)\pi=\left(\frac{3}{10},\frac{4}{10},\frac{3}{10}\right),

并逐分量验证了 πP=π

{1,2} 为暂态状态,得到:

Q=(1/21/31/41/2),N=(IQ)1=(323/23)Q=\begin{pmatrix}1/2&1/3\\1/4&1/2\end{pmatrix}, \quad N=(I-Q)^{-1}=\begin{pmatrix}3&2\\3/2&3\end{pmatrix}。

一阶矩方程为:

(IQ)t=1(I-Q)t=\mathbf 1,

所以:

E1[τ]=5E2[τ]=92E_1[\tau]=5,\qquad E_2[\tau]=\frac92。

二阶矩使用:

(IQ)s=2t1(I-Q)s=2t-\mathbf 1,

得到:

E1[τ2]=43Var1(τ)=4352=18E_1[\tau^2]=43,\qquad \operatorname{Var}_1(\tau)=43-5^2=18。

我用 Fraction 做了独立方程求解,结果与 Opus 完全一致;把 ts 代回两条首步方程也都成立。数学题的判定是“完整通过”。

Kimi K3 的结果#

Kimi K3 在 temperature=1max_tokens=6000 下运行了约 235 秒,usage 显示 completion_tokens=6000reasoning_tokens=5997finish_reason=length,可见 content 为空。

这意味着本轮不能从 Kimi 的输出判断它是否会做这道马尔可夫链题。能确认的只有:在当前接口、提示词和预算下,它没有把推理收束为最终可见答案。

物理题:带阻尼耦合振子的矩阵与频响#

第二题采用两个质量块的二自由度系统:

text
m1=1.5 kg,m2=1.0 kg
k1=120 N/m,k2=80 N/m,k3=150 N/m
c1=1.2 N·s/m,c2=0.8 N·s/m,c3=1.5 N·s/m
F(t)=10 cos(8t) N

k2c2 是两质量之间的耦合元件,c1c3 是各自接地阻尼。题目要求先求无阻尼固有模态,再在 ω=8 rad/s 下求复振幅,因此不能把所有阻尼简单塞进对角矩阵。

正确矩阵#

Opus 4.8 写出了:

M=[1.5001],C=[2.00.80.82.3],K=[2008080230]M=\begin{bmatrix}1.5&0\\0&1\end{bmatrix}, \quad C=\begin{bmatrix}2.0&-0.8\\-0.8&2.3\end{bmatrix}, \quad K=\begin{bmatrix}200&-80\\-80&230\end{bmatrix}。

无阻尼特征方程给出的固有角频率为:

ω1=10.0204 rad/s,ω2=16.2149 rad/s。\omega_1=10.0204\ \text{rad/s}, \qquad \omega_2=16.2149\ \text{rad/s}。

对应模态比 X2/X10.6173-2.4298,分别表示同相与反相模态。

ω=8 时的复频响#

复动态刚度矩阵:

Z=Kω2M+iωCZ=K-\omega^2M+i\omega C。

独立复数计算得到:

参考值
`X1
∠X1-12.1524°
`X2
∠X2-13.9035°
`X2/X1
相位差-1.7511° 左右

Opus 的能量检查也通过:平均耗散功率约为 1.2574 W,与外力输入功率在舍入误差内一致。它还正确解释了:如果把 c2 错当成接地阻尼,非对角阻尼项 C12=C21=-0.8 会被错误清零,能量传递与相位结果都会改变。

Kimi K3 的结果#

Kimi K3 在约 204.6 秒后耗尽 6000 token,仍然是 finish_reason=length 且 content 为空。由于没有最终方程和数值,无法评价其物理建模是否正确,只能把本轮记录为“预算内未交付”。

编程题:依赖闭包、时间窗口和精确调度#

编程题要求实现:

python
schedule_jobs(jobs, dependencies, capacity_by_day)

每个任务有 durationrelease_daydeadline_dayvalue;任务必须完整安排在单日,每天有容量上限,依赖表示前置任务必须在后置任务开始前完成。目标按以下顺序比较:

  1. 总价值最大;
  2. 总时长更小;
  3. 排序后的任务 ID 列表按字典序更小。

这道题比普通“背包 + 排序”更难,因为需要同时处理:

  • 直接和间接依赖闭包;
  • 未知依赖与环检测;
  • 每日容量和任务时间窗口;
  • 可行子集的精确装箱;
  • 多层 tie-break。

Opus 4.8 的实现表现#

Opus 给出了完整的 bitmask + 记忆化 DFS 实现,并附带 13 个断言。我们把两个 Python 代码块提取到 Python 3.11 执行,模型自带的断言全部通过:

text
all assertions passed

它正确覆盖了空输入、容量不足、直接/间接依赖、未知依赖、循环依赖和三层目标比较。

但是,自带断言没有检查“前置任务必须先于后置任务完成”。我补充了一个独立探针:

python
jobs = [
    {"id": "A", "duration": 4, "release_day": 1,
     "deadline_day": 1, "value": 1},
    {"id": "B", "duration": 4, "release_day": 0,
     "deadline_day": 0, "value": 10},
]
result = schedule_jobs(jobs, [("A", "B")], {0: 4, 1: 4})

正确语义下,AB 的前置任务,但它只能安排在第 1 天,B 只能安排在第 0 天,因此二者不应同时被选中。模型代码却返回:

text
selected_ids: ['A', 'B']
assignment: {'A': 1, 'B': 0}

这说明实现只检查了“选择 B 时必须连带选择 A”,没有检查:

text
assignment[A] < assignment[B]

因此编程题不能判为完全通过。更准确的评价是:算法框架和输入校验较完整,资源装箱逻辑可运行,但核心业务语义漏掉了依赖的时间先后约束。对生产调度系统而言,这是必须修复的正确性问题,不是格式问题。

Kimi K3 的结果#

Kimi K3 运行约 236.4 秒后以 length 结束,6000 token 全部消耗在 reasoning,content 为空,未能交付可执行代码。

延迟、输出预算与可见答案#

三题平均延迟:

text
Kimi K3:       (235.420 + 204.568 + 236.434) / 3 = 225.474 秒
Claude Opus:   (57.870 + 64.966 + 88.934) / 3 = 70.590 秒

Kimi 的三次 usage 都非常接近:

text
completion_tokens = 6000
reasoning_tokens  = 5997
content.length    = 0
finish_reason     = length

这组数据说明,调用方不能只观察 HTTP 状态码和 model 字段。至少应同时记录:

python
choice.finish_reason
response.usage
response.choices[0].message.content

如果 finish_reasonlength,即使 HTTP 返回 200,也应该进入重试、降级或人工复核流程。

如何复现实验#

下面是最小的 OpenAI Python SDK 调用方式。实际测试时,应该使用文章中的完整题目和与模型匹配的参数:

python
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_CRAZYROUTER_API_KEY",
    base_url="https://cn.crazyrouter.com/v1",
)

response = client.chat.completions.create(
    model="claude-opus-4-8",
    temperature=0.1,
    max_tokens=9000,
    messages=[
        {"role": "system", "content": "严格基准测试,只给可验证结论。"},
        {"role": "user", "content": "替换为完整研究生级测试题"},
    ],
)

print(response.model)
print(response.choices[0].finish_reason)
print(response.usage)
print(response.choices[0].message.content)

调用 Kimi K3 时,需要把 temperature 改成 1,并为更长 reasoning 预留足够时间;本轮即使给到 6000 token 仍然没有拿到可见答案。

生产选型建议#

适合优先测试 Claude Opus 4.8 的情况#

  • 需要在单次请求中拿到完整推导或完整代码;
  • 任务包含矩阵、边界条件和数值核验;
  • 业务对首屏延迟和可交付性更敏感;
  • 能为生成代码增加独立测试和语义检查。

适合继续评估 Kimi K3 的情况#

  • 可以接受几分钟级延迟;
  • 调用层能够处理模型专属采样参数;
  • 允许拆分任务、增加预算或采用异步工作流;
  • 重点关注 reasoning 过程,而不是一次请求立即交付最终文本。

但在本轮数据下,Kimi K3 不能被描述为“已经完成了三道题但输出被日志隐藏”。实际观测是三次均没有可见最终答案。

FAQ#

1. 这次题目为什么算大学毕业或研究生级?#

数学题要求平稳分布、基本矩阵和首达时间二阶矩;物理题要求矩阵建模、模态分析、复频响和能量平衡;编程题要求依赖闭包、精确装箱、环检测和多层目标优化。这些内容分别对应概率论/随机过程、经典力学与振动、算法与系统设计课程的综合作业难度。

2. Kimi K3 是不是不支持 temperature=0.1?#

本次接口明确要求 Kimi K3 的 temperature 必须为 1。这属于当前路由的模型参数约束,调用方应读取错误信息并按模型配置重试。

3. Kimi K3 的 length 能否说明它一定不会做这些题?#

不能。它只能说明在本次提示词、输出上限和路由条件下,没有形成可见最终答案。没有可见答案就不能给正确性评分,但也不能据此证明模型在所有设置下都不会解题。

4. Opus 4.8 的编程答案能直接用于生产吗?#

不能直接使用。它自带断言全部通过,但独立探针发现依赖的时间先后约束遗漏。生成代码必须加入业务语义测试,而不仅是运行模型自己附带的测试。

5. 为什么 Opus 4.8 的物理题要检查能量耗散?#

因为耦合阻尼的非对角项很容易写错。输入功率与阻尼耗散功率一致,是检查复振幅、相位和阻尼矩阵同时正确的独立证据。

6. 这轮延迟能当成性能承诺吗?#

不能。上游渠道、缓存、并发度和重试都会改变延迟。生产环境至少要重复采样,统计 P50、P95、P99、截断率和每个成功任务的成本。

最终结论#

这轮真正比较出的不是一个脱离调用条件的“智力排名”,而是两种完全不同的交付行为:

  1. Claude Opus 4.8 在本轮三道研究生级任务上都给出了可见答案,数学和物理推导通过独立核验;
  2. Opus 的代码框架较强,但仍遗漏了依赖任务必须按时间先后完成这一关键业务约束;
  3. Kimi K3 在强制 temperature=1 的条件下,三题都把 6000 token 用完,finish_reason=length,没有可见答案;
  4. 如果业务目标是一次请求拿到完整的数学推导、物理计算或可执行代码,当前测试窗口下 Opus 4.8 的可交付性明显更好;
  5. 无论选择哪个模型,都必须把 finish_reason、usage、独立数值核验和代码语义测试纳入验收。

复现实验文件:

推荐阅读:

Implementation Guides

Topics

Comparison

Related Posts

GLM-5.2 vs Claude Fable 5 实测:真正的差异在输出预算和可见结果Comparison

GLM-5.2 vs Claude Fable 5 实测:真正的差异在输出预算和可见结果

基于 Crazyrouter OpenAI-compatible API 的真实测试,对比 glm-5.2 与 claude-fable-5 在数学推理、物理综合题和 Canvas 动画长代码任务中的表现,重点分析 max_tokens、reasoning_tokens、finish_reason、可见正文为空和浏览器验证结果。

Jul 6
Kimi K3 对比 Claude Fable 5:数学更稳,还是响应更快?Comparison

Kimi K3 对比 Claude Fable 5:数学更稳,还是响应更快?

通过四类高难度任务比较 Kimi K3 与 Claude Fable 5 的数学可靠性、物理建模、Python 可执行性、文本推理、延迟和输出预算。

Jul 17
GPT-5.6-sol vs GPT-5.5 实测:数学、物理与双摆动画代码对比Comparison

GPT-5.6-sol vs GPT-5.5 实测:数学、物理与双摆动画代码对比

基于 Crazyrouter OpenAI-compatible API 的真实模型对比测试:用偏置硬币等待 HTHT、实心圆柱滚动压缩弹簧、双摆混沌 Canvas 动画三道较难题,对比 gpt-5.6-sol 与 gpt-5.5 的正确性、finish_reason、reasoning_tokens、可见输出和浏览器验证结果。

Jul 10
GLM-5.2 vs GPT-5.5 实测:难题下真正暴露的是可见输出稳定性Comparison

GLM-5.2 vs GPT-5.5 实测:难题下真正暴露的是可见输出稳定性

基于 Crazyrouter OpenAI-compatible API 的真实模型对比测试,使用偏置硬币等待 HTH、斜面摩擦弹簧压缩、Lorenz Canvas 动画三道更难题,比较 glm-5.2 与 gpt-5.5 的 max_tokens、reasoning_tokens、finish_reason、可见输出和浏览器验证结果。

Jul 7
Gemini 2.5 Flash vs Qwen3 VL Flash:图片理解 API 实测对比(Crazyrouter Base URL)Comparison

Gemini 2.5 Flash vs Qwen3 VL Flash:图片理解 API 实测对比(Crazyrouter Base URL)

本文用 Crazyrouter OpenAI 兼容接口实测 gemini-2.5-flash 与 qwen3-vl-flash 的图片理解表现,比较识别准确率、延迟、价格、usage 信号和生产选型建议。

Jun 21
Qwen3 VL Flash vs GPT-4.1 Mini:图片理解 API 实测对比(Crazyrouter Base URL)Comparison

Qwen3 VL Flash vs GPT-4.1 Mini:图片理解 API 实测对比(Crazyrouter Base URL)

本文用 Crazyrouter OpenAI 兼容接口实测 qwen3-vl-flash 与 gpt-4.1-mini 的图片理解表现,比较识别准确率、延迟、价格和生产选型建议。

Jun 21