kimi-agent-internals
透过反向工程揭秘 Kimi K2.5 Agent 的内部架构:四层容器设计、六种代理模式与技能注入机制
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
透过反向工程揭秘 Kimi K2.5 Agent 的内部架构:四层容器设计、六种代理模式与技能注入机制
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下,当你打开 Kimi 的 Agent 模式,问它「帮我分析这份 Excel 数据」,它是怎么做到的?它不只是在聊天,它在操控一个完整的虚拟计算机——有文件系统、浏览器、代码执行引擎。这正是 Kimi K2.5 与传统 AI 助手的根本区别。
2025年末,Reddit 用户 dnnyngyen 在 Kimi Agent 界面中「套话」,让 Kimi 用自然语言描述自己的运行环境。Kimi 真的给出了答案——Python 模块路径、配置文件路径、内核架构描述。更妙的是,当 Reddit 社区报告了其中一段代码中的加密货币挖矿木马时,Kimi 官方亲自下场确认:这就是生产环境的真实代码。 这一确认,将一份「社工成果」变成了「反向工程研究」的里程碑。dnnyngyen 随后系统化地整理了所有提取内容,释放为开源项目 kimi-agent-internals,所有原始素材以 CC0 协议发布(不主张版权),原创分析以 CC BY 4.0 协议发布。
传统 AI 系统的设计范式是工具调用(Tool-Use):给模型一组合法 API,模型从中挑选调用,典型的 request-response 无状态模式。这种方式在复杂多步任务中力不从心,因为每次请求都是「从零开始」。 Kimi K2.5 选择了另一条路:环境架构(Environment Architecture)。模型不仅有 API,还被赋予了整个计算上下文——文件系统访问权限、浏览器自动化能力、进程执行能力。这意味着模型可以:
Kimi Agent 运行在一个精心设计的四层容器中: 第一层:控制平面(kernel_server.py,~10KB) 基于 FastAPI + Uvicorn 的 ASGI 服务,监听 8888 端口,负责整个运行时的生命周期管理。提供 /health、/kernel/reset、/kernel/interrupt、/kernel/status 等端点,类似于容器的「主板 BIOS」。值得注意的是,这个服务没有认证机制,完全依赖容器网络隔离来保障安全。 第二层:计算引擎(jupyter_kernel.py,~17KB) 封装 IPython 内核,启动专用子进程(PID 300-400),通过 ZeroMQ 的 5 个通信通道(shell/iopub/stdin/control/heartbeat)与主进程交互。依赖 PyTorch 2.8.0 + CUDA、NumPy、Matplotlib(内置 CJK 字体支持)。这段代码的防御性很强,针对不同版本 jupyter-client 做了大量兼容性兜底。 第三层:浏览器自动化(browser_guard.py,~41KB) 这是最复杂的模块,采用双实现策略:
K2.5 模型是统一的,但通过系统提示词,Kimi 呈现出了六种截然不同的工作模式: Base Chat(kimi.com/chat):
/app/.kimi/skills/xlsx/SKILL.md(925行!),内容涵盖 Excel 365 vs 2019 兼容性、FILTER/XLOOKUP/LAMBDA 的版本差异、网格线隐藏规范、验证命令等。读完这份文档后,同一个 shell 工具突然「知道」该专注 Excel 工作了——工具没变,上下文变了。
Slides 代理:独特的人格替换模式
Slides 不走「技能脚手架」路线,而是完全替换基础人格。系统提示词告诉模型:「你是一位在麦肯锡工作了 20 年的演示设计专家。」这种设计背后的逻辑是:表格和文档有客观的「正确」标准(公式能跑/不能跑),但演示文稿有主观的质量标准——信息密度、视觉冲击力、受众体验,这些无法用规则文档描述,只能通过角色内化。这就是「技能注入」和「人格替换」的区别:技术任务用文档,创意任务用角色。Kimi 的技能系统是其最有意思的工程创新。 技能文件(SKILL.md)本质上是一份角色扮演培训手册。以 docx 技能为例,它详细规定了:
这个项目的价值不仅在于「看别人代码」的窥探欲,而在于它揭示了下一代 AI 应用的架构范式: 从「有工具的聊天机器人」到「有 AI 的虚拟机」——这是质变。当模型能够操作系统资源,传统的 AI 应用开发范式(API 调用 + 提示词工程)就需要升级为「操作系统开发」范式,需要考虑安全沙箱、进程隔离、资源配额、审计日志等系统级问题。 「环境架构」相比「工具调用」更适合复杂长程任务的论点在这里得到了有力佐证。Base Chat 的 10 步限制 vs OK Computer 的无限步数,清晰地划出了两种架构的能力边界。
| 维度 | 详情 |
|---|---|
| 底层模型 | Kimi K2.5 (Moonshot AI) |
| 主要语言 | Python + C# (docx工具链) |
| 核心模块 | browser_guard.py (41KB), jupyter_kernel.py (17KB), kernel_server.py (10KB) |
| 浏览器 | Chromium 120.x + Playwright + CDP 双模式 |
| 代码执行 | IPython kernel + ZeroMQ + PyTorch 2.8.0/CUDA |
| 系统提示词 | 6种代理模式,约 200KB 提示词素材 |
| 许可 | CC0(提取素材)+ CC BY 4.0(原创分析)+ Apache 2.0(PDF.js) |