kimi-code/docs/zh/customization/agents.md

55 lines
4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 注入专业知识和工作流程