mirror of
https://github.com/MoonshotAI/kimi-code.git
synced 2026-08-03 21:45:27 +00:00
55 lines
4 KiB
Markdown
55 lines
4 KiB
Markdown
# Agent 与子 Agent
|
||
|
||
Kimi Code CLI 中的每次会话都由一个**主 Agent** 驱动。主 Agent 理解用户意图、规划步骤、调用工具,并在需要时向外派发**子 Agent** 处理更聚焦的子任务——例如探索一个陌生代码库、并行审阅多处实现、或在不触碰主上下文的情况下规划一次大型重构。
|
||
|
||
子 Agent 接受主 Agent 给出的任务描述,在自己的独立上下文里工作,最后把结论返回。它不会与用户直接对话,中间的思考和工具调用记录也不会混入主 Agent 的历史。
|
||
|
||
## 内置子 Agent
|
||
|
||
Kimi Code CLI 内置三种子 Agent,开箱即用,分别面向不同任务形态:
|
||
|
||
- **`coder`**:默认子 Agent,通用软件工程助手,可以读写文件、执行命令、搜索代码并落地具体改动。
|
||
- **`explore`**:代码库探索专用,只做只读操作,不修改任何文件。适合在不改动文件的前提下快速搜索、阅读和总结仓库。
|
||
- **`plan`**:实现规划与架构设计专用,连 Shell 命令都不提供,专注于"想清楚怎么做"而不是"动手做"。
|
||
|
||
## 调用方式
|
||
|
||
子 Agent 由主 Agent 自动调度——根据任务复杂度、上下文消耗和子任务的独立性,在适当时机派发,无需用户手动指定。
|
||
|
||
每次派发都会在终端以审批请求的形式呈现(除非命中 allow 规则或处于 YOLO 模式),方便你审视任务描述。你也可以在对话中直接指示主 Agent 使用特定子 Agent,例如"先用 explore 把相关文件梳理一遍再动手"。
|
||
|
||
子 Agent 支持在后台运行:完成后结果自动回到主 Agent,无需手动轮询。也可以唤回已有的子 Agent 实例继续推进同一任务。
|
||
|
||
## 上下文隔离与资源开销
|
||
|
||
每个子 Agent 拥有完全独立的上下文窗口,只能看到主 Agent 显式传入的任务描述,看不到主 Agent 的对话历史。子 Agent 自己的中间思考和工具调用记录不会回流,只有最终结果会出现在主 Agent 的上下文里。
|
||
|
||
这种隔离带来两个好处:
|
||
|
||
- **主 Agent 上下文保持精炼**,长会话中不会被大量探索性日志撑满。
|
||
- **多个子 Agent 可以并行运行**,互不干扰。
|
||
|
||
需要注意的是,每个子 Agent 都会独立消耗模型 token。简单任务没有必要派发子 Agent,主 Agent 直接处理更经济。子 Agent 也不支持继续嵌套调度。
|
||
|
||
## 权限继承
|
||
|
||
子 Agent 的权限规则继承自主 Agent:主 Agent 通过 `/permission` 或在审批中接受的"始终允许"规则,会自动覆盖到它派发出的所有子 Agent,子 Agent 不需要重新审批同类工具调用。`Agent` 工具本身默认放行,因此主 Agent 可以在不打断用户的前提下完成多次委派。
|
||
|
||
如果需要某类工具在子 Agent 中始终不可用,应收紧主 Agent 的权限规则。
|
||
|
||
## 指令文件
|
||
|
||
全局 Kimi 专属指令可放在 `$KIMI_CODE_HOME/AGENTS.md`(默认:`~/.kimi-code/AGENTS.md`)。当你用 `KIMI_CODE_HOME` 移动数据根时,这份全局指令文件也会一起移动。跨工具通用指令仍可放在真实 OS home 下的 `~/.agents/AGENTS.md`,项目级指令仍放在项目目录中,例如 `.kimi-code/AGENTS.md` 或 `AGENTS.md`。
|
||
|
||
## 会话目录中的存储位置
|
||
|
||
子 Agent 的运行状态持久化到当前会话目录的 `agents/` 子目录下,每个子 Agent 实例对应一个独立目录,其中包含按时间顺序记录提示词、消息历史与最终状态的 `wire.jsonl` 文件。后台子 Agent 还会通过 `tasks/` 子目录暴露生命周期状态。
|
||
|
||
::: warning 注意
|
||
会话目录、wire 文件和任务记录都属于本地调试材料,可能包含用户 prompt、命令输出、仓库路径、工具返回内容或凭证痕迹。不要把这些文件直接提交到公开仓库、issue 或聊天记录里;如确需分享,请先脱敏。
|
||
:::
|
||
|
||
## 下一步
|
||
|
||
- [Hooks](./hooks.md) — 在子 Agent 完成等关键节点触发本地脚本通知或拦截
|
||
- [Agent Skills](./skills.md) — 给子 Agent 注入专业知识和工作流程
|