Kimi-K2.7-Code
Kimi-K2.7-Code
Moonshot AI 发布 Kimi K2.7 Code,一个基于 Kimi K2.6 构建的编码 agentic 模型,采用 MoE 架构,总参数量 1T,激活参数量 32B,上下文长度 256K,支持 MLA 注意力机制与 MoonViT 视觉编码器。相比 K2.6,思考 token 使用量减少约 30%。在 Kimi Code Bench v2 上得分 62.0,Program Bench 得分 53.6,MLS Bench Lite 得分 35.1,MCP Atlas 得分 76.0,MCP Mark Verified 得分 81.1。模型采用原生 INT4 量化,支持 vLLM、SGLang、KTransformers 推理引擎,提供兼容 OpenAI/Anthropic 的 API。
1. 模型介绍
Kimi K2.7 Code 是一个以编码为核心的 agentic 模型,基于 Kimi K2.6 构建。在真实世界的长周期编码任务上进行了大幅改进,增强了跨复杂软件工程工作流的端到端任务完成能力,同时提升了 token 效率,与 Kimi K2.6 相比,思考 token 使用量减少了约 30%。
2. 模型概要
| 架构 | 混合专家模型 (Mixture-of-Experts, MoE) |
| 总参数量 | 1T |
| 激活参数量 | 32B |
| 层数(含稠密层) | 61 |
| 稠密层数 | 1 |
| Attention 隐藏维度 | 7168 |
| MoE 隐藏维度(每个专家) | 2048 |
| Attention 头数 | 64 |
| 专家数 | 384 |
| 每个 token 选择的专家数 | 8 |
| 共享专家数 | 1 |
| 词表大小 | 160K |
| 上下文长度 | 256K |
| Attention 机制 | MLA |
| 激活函数 | SwiGLU |
| 视觉编码器 | MoonViT |
| 视觉编码器参数量 | 400M |
3. 评估结果
- 通用测试细节
- 除非另有说明,Kimi K2.7 Code 和 K2.6 均在 Kimi Code CLI 中启用思考模式进行测试,temperature = 1.0,top-p = 0.95,上下文长度为 262,144 token;GPT-5.5 在 Codex 中以 xhigh 模式运行,Opus 4.8 在 Claude Code 中以 xhigh 模式运行。除这些差异外,所有基准测试均在相同条件下评估。
- 编码基准测试
- Kimi Code Bench V2 是我们内部构建的基准测试,用于评估编码 agent 在真实任务上的表现。它包含跨 10 多种主流编程语言的多样化软件工程任务,以及涵盖内部工程用例、生产事故和真实世界开源项目的完整生产技术栈,重点涉及后端服务、基础设施、性能工程、系统编程、安全、前端开发以及 ML/数据工程。
- Program Bench 通过要求代码生成 agent 仅根据编译后的二进制文件及其文档重建程序行为来进行评估。它包含 200 个任务,从小型 CLI 工具到 FFmpeg 和 SQLite 等大型系统。提交结果将根据超过 248,000 个模糊生成的 behavioral test 进行评判。在每个任务中,agent 会获得一个可执行文件及其文档,但没有源代码、反编译工具或互联网访问权限。它必须自行选择实现语言,从头构建完整程序,并通过 behavioral test 套件,将其输出与原始二进制文件进行比较。
- MLS-Bench 评估 AI 系统能否发明可泛化且可扩展的机器学习方法。MLS-Bench-Lite 是 MLS-Bench 官方 30 个任务的子集,涵盖 LLM 预训练和后训练、机器人学、世界模型、计算机视觉、强化学习、优化、ML 系统、AI for Science 等领域。Agent 有 5 小时探索时间,然后提交解决方案。Opus 4.8 在 Claude Code 中以最大努力设置进行评估。
- Agentic 基准测试
- Kimi Claw 24/7 Bench 是我们内部构建的基准测试,用于评估在持久、多日协作任务中的长周期 agentic 性能。它涵盖 17 个专业场景,共 610 个评估点,涉及软件工程、ML 研究、招聘、交易、营销等领域。所有任务均通过 OpenClaw harness 执行。最终得分为所有评估点的平均通过率,并取 3 次运行的平均值。
- MCP-Atlas 通过可扩展的 MCP 评估 LLM 在真实工具使用任务上的性能。我们遵循官方 MCP-Atlas 评估配置,工具调用预算为 100 次,每步最大 token 数为 32k。最终结果为 3 次运行的平均值。
- MCPMark-Verified 是 MCPMark 的人工验证版本,该基准测试用于评估在五个真实服务器环境(Notion、GitHub、Filesystem、Postgres 和 Playwright)中的 MCP 工具使用。每个任务均已由我们团队和基准测试官方重新检查,并将很快开源。我们遵循官方 MCPMark 评估配置,工具调用预算为 100 步,每步最大 token 数为 32k。最终结果为 3 次运行的平均值。
4. 原生 INT4 量化
Kimi-K2.7-Code 采用与 Kimi-K2-Thinking 相同的原生 int4 量化方法。
5. 部署
[!Note] 您可以在 https://platform.moonshot.ai 访问 Kimi-K2.7-Code 的 API,我们提供兼容 OpenAI/Anthropic 的 API。 目前,建议在以下推理引擎上运行 Kimi-K2.7-Code:
- vLLM
- SGLang
- KTransformers
Kimi-K2.7-Code 与 Kimi-K2.5/Kimi-K2.6 具有相同的架构,部署方法可直接复用。
transformers 的版本要求为 >=4.57.1, <5.0.0。
部署示例可在 模型部署指南 中找到。
6. 模型使用
以下使用示例演示了如何调用我们的官方 API。请注意,Kimi-K2.7-Code 强制将 thinking 和 preserve_thinking 设置为 True。
对于使用 vLLM 或 SGLang 部署的第三方 API,请注意:
[!Note]
视频内容对话是一项实验性功能,目前仅在我们的官方 API 中支持。
建议的
temperature在思考模式下为1.0。建议的
top_p为0.95。不支持即时模式。
对话补全
这是一个简单的对话补全脚本,展示了如何在思考模式下调用 K2.7-Code API。
import openai
import base64
import requests
def simple_chat(client: openai.OpenAI, model_name: str):
messages = [
{'role': 'system', 'content': 'You are Kimi, an AI assistant created by Moonshot AI.'},
{
'role': 'user',
'content': [
{'type': 'text', 'text': 'which one is bigger, 9.11 or 9.9? think carefully.'}
],
},
]
response = client.chat.completions.create(
model=model_name, messages=messages, stream=False, max_tokens=4096
)
print('====== Below is reasoning content in Thinking Mode ======')
print(f'reasoning content: {response.choices[0].message.reasoning}')
print('====== Below is response in Thinking Mode ======')
print(f'response: {response.choices[0].message.content}')
带视觉内容的对话补全
K2.7-Code 支持图像和视频输入。
以下示例演示了如何使用图像输入调用 K2.7-Code API:
import openai
import base64
import requests
def chat_with_image(client: openai.OpenAI, model_name: str):
url = 'https://huggingface.co/moonshotai/Kimi-K2.7-Code/resolve/main/figures/kimi-logo.png'
image_base64 = base64.b64encode(requests.get(url).content).decode()
messages = [
{
'role': 'user',
'content': [
{'type': 'text', 'text': 'Describe this image in detail.'},
{
'type': 'image_url',
'image_url': {'url': f'data:image/png;base64,{image_base64}'},
},
],
}
]
response = client.chat.completions.create(
model=model_name, messages=messages, stream=False, max_tokens=8192
)
print('====== Below is reasoning content in Thinking Mode ======')
print(f'reasoning content: {response.choices[0].message.reasoning}')
print('====== Below is response in Thinking Mode ======')
print(f'response: {response.choices[0].message.content}')
以下示例演示了如何使用视频输入调用 K2.7-Code API:
import openai
import base64
import requests
def chat_with_video(client: openai.OpenAI, model_name:str):
url = 'https://huggingface.co/moonshotai/Kimi-K2.7-Code/resolve/main/figures/demo_video.mp4'
video_base64 = base64.b64encode(requests.get(url).content).decode()
messages = [
{
"role": "user",
"content": [
{"type": "text","text": "Describe the video in detail."},
{
"type": "video_url",
"video_url": {"url": f"data:video/mp4;base64,{video_base64}"},
},
],
}
]
response = client.chat.completions.create(model=model_name, messages=messages)
print('====== Below is reasoning content in Thinking Mode ======')
print(f'reasoning content: {response.choices[0].message.reasoning}')
print('====== Below is response in Thinking Mode ======')
print(f'response: {response.choices[0].message.content}')
保留思考内容
Kimi K2.7 Code 强制启用 preserve_thinking 模式,该模式在多轮交互中保留完整的推理内容,并增强编码 agent 场景的性能。
此功能默认启用且无法禁用。以下示例演示了如何在 preserve_thinking 模式下调用 K2.7-Code API:
def chat_with_preserve_thinking(client: openai.OpenAI, model_name: str):
messages = [
{
"role": "user",
"content": "Tell me three random numbers."
},
{
"role": "assistant",
"reasoning_content": "I'll start by listing five numbers: 473, 921, 235, 215, 222, and I'll tell you the first three.",
# Some API (e.g. vLLM) may not support reasoning_content, you can try reasoning instead
"content": "473, 921, 235"
},
{
"role": "user",
"content": "What are the other two numbers you have in mind?"
}
]
response = client.chat.completions.create(
model=model_name,
messages=messages,
stream=False,
max_tokens=4096,
)
# the assistant should mention 215 and 222 that appear in the prior reasoning content
print(f"response: {response.choices[0].message.reasoning}")
return response.choices[0].message.content
交错思考与多步工具调用
K2.7-Code 与 K2 Thinking 共享相同的交错思考与多步工具调用设计。使用示例请参考 K2 Thinking 文档。
编码 Agent 框架
Kimi K2.7-Code 与 Kimi Code CLI 作为其 agent 框架配合使用效果最佳——请访问 https://www.kimi.com/code 试用。
7. 许可证
代码仓库和模型权重均根据 修改版 MIT 许可证 发布。
8. 第三方声明
请参阅 第三方声明
9. 联系我们
如有任何问题,请通过 support@moonshot.ai 联系我们。