| 1 | import type { DocsSubagentsDict } from "../types"; |
| 2 | |
| 3 | /** 「并行运行智能体」页的简体中文词典;与 `en/docs-subagents.ts` 逐段对应。 */ |
| 4 | export const docsSubagents: DocsSubagentsDict = { |
| 5 | metaTitle: "并行运行智能体 · Codewhale 文档", |
| 6 | metaDescription: |
| 7 | "让 Codewhale 把任务中彼此独立的部分交给子智能体,为它们选择角色,把它们的修改放在各自的工作树里,并随时查看进度。", |
| 8 | bodyClassName: "text-ink-soft leading-[1.9] tracking-wide", |
| 9 | title: "并行运行智能体", |
| 10 | lede: |
| 11 | "Codewhale 可以把一块聚焦的工作交给子智能体,自己继续往下做。当一个任务能拆成彼此独立的几部分——梳理代码库、审查改动、跑测试——时,用这种方式让它们同时进行。", |
| 12 | sections: [ |
| 13 | { |
| 14 | id: "ask", |
| 15 | title: "直接提出来", |
| 16 | blocks: [ |
| 17 | { |
| 18 | p: "启动子智能体不需要命令,用平常的话提出来就行。在 Operate 模式下,Codewhale 会自己把独立的步骤分派出去;在 Work 模式下,说清楚你想怎么拆分:", |
| 19 | }, |
| 20 | { |
| 21 | code: `Use three explore agents in parallel: one maps the auth code, |
| 22 | one maps the billing code, one lists the tests that cover both. |
| 23 | Then summarize what would break if we changed the session format.`, |
| 24 | lang: "提示词", |
| 25 | }, |
| 26 | { |
| 27 | p: "每个子智能体都在后台启动,完成后回报结果。你的输入框始终可用,主回合会接着处理这些结果。", |
| 28 | }, |
| 29 | ], |
| 30 | }, |
| 31 | { |
| 32 | id: "roles", |
| 33 | title: "选择角色", |
| 34 | blocks: [ |
| 35 | { |
| 36 | p: "角色决定了子智能体如何做事。你可以在请求里点名,也可以让 Codewhale 自己选。子智能体拿到的权限永远不会超过你当前会话的权限。", |
| 37 | }, |
| 38 | { |
| 39 | rows: [ |
| 40 | ["general", "按任务说明做事,可以修改文件、运行命令。默认角色。"], |
| 41 | ["explore", "只读。快速梳理相关代码——比如“找出这个函数的所有调用方”。"], |
| 42 | ["planner", "设计方案,不做任何改动。"], |
| 43 | ["reviewer", "阅读并评估一处改动,为每个发现标注严重程度。"], |
| 44 | ["implement", "用最小的修改落实一项具体改动。"], |
| 45 | ["test", "运行测试和检查,报告通过或失败。不修改代码。"], |
| 46 | ["advisor", "针对需要判断的问题,给出简短而审慎的第二意见。不运行命令。"], |
| 47 | ["custom", "只能使用你列出的工具,适合权限需要严格收紧的任务。"], |
| 48 | ], |
| 49 | codeTerms: true, |
| 50 | }, |
| 51 | { |
| 52 | p: "想让某个角色固定使用某个模型,用 `/fleet setup` 保存——见[运行工作流](/docs/fleet)。", |
| 53 | }, |
| 54 | ], |
| 55 | }, |
| 56 | { |
| 57 | id: "worktrees", |
| 58 | title: "让并行修改互不干扰", |
| 59 | blocks: [ |
| 60 | { |
| 61 | p: "如果两个子智能体会修改同一个仓库,请让它们各自在自己的工作树里工作。Codewhale 会在你的仓库旁边的 `.codewhale-worktrees/` 下,为该智能体创建新的 git 工作树和分支;在你合并之前,你的工作副本保持干净。", |
| 62 | }, |
| 63 | { |
| 64 | p: "工作树只是隔离,不代表授权:需要写入的智能体仍然要有可写的角色,以及允许修改的路径。两个智能体如果声明要改同一批文件,会在任何一方动手之前就被拦下。", |
| 65 | }, |
| 66 | ], |
| 67 | }, |
| 68 | { |
| 69 | id: "watch", |
| 70 | title: "查看进度并回应它们", |
| 71 | blocks: [ |
| 72 | { code: "/subagents", lang: "Codewhale" }, |
| 73 | { |
| 74 | p: "`/subagents`(与 `/fleet workers` 是同一个视图)会列出挂在本次会话上的智能体,以及每个智能体正在做什么。选中一个即可阅读它的对话记录。", |
| 75 | }, |
| 76 | { |
| 77 | p: "子智能体遵循你的[审批设置](/docs/modes)。在 Ask 下,需要审批的调用会像普通提示一样出现在你的会话里,智能体则在一旁等待;在 Auto-Review 下,每个被拦下的调用都会经过同样的独立审查,不会打扰你。凡是不是由你亲自做出的决定,都会写进该智能体的对话记录。", |
| 78 | }, |
| 79 | ], |
| 80 | }, |
| 81 | { |
| 82 | id: "limits", |
| 83 | title: "了解上限", |
| 84 | blocks: [ |
| 85 | { |
| 86 | rows: [ |
| 87 | ["同时运行", "默认 64 个。可在 `~/.codewhale/config.toml` 中设置 `max_subagents`(最多 128)。"], |
| 88 | ["排队加运行", "最多 1,024 个;超出的启动请求会排队等待。"], |
| 89 | ["嵌套", "子智能体也可以再启动子智能体,默认最多三层,绝不超过八层。"], |
| 90 | ], |
| 91 | }, |
| 92 | { |
| 93 | p: "这些只是上限,不是目标。少量边界清晰的智能体加一份清楚的汇总,胜过一大堆彼此重叠的智能体。如果工作需要在重启或笔记本休眠后继续,请改用 [Fleet 运行](/docs/fleet)。", |
| 94 | }, |
| 95 | ], |
| 96 | }, |
| 97 | ], |
| 98 | next: [ |
| 99 | { |
| 100 | href: "/docs/fleet", |
| 101 | label: "运行工作流", |
| 102 | note: "把反复使用的计划写成工作流,分阶段执行,每次运行都有记录。", |
| 103 | }, |
| 104 | { |
| 105 | href: "/docs/work", |
| 106 | label: "跟踪进度", |
| 107 | note: "To-do 列表如何显示已完成、进行中和剩余的工作。", |
| 108 | }, |
| 109 | { |
| 110 | href: "/docs/review", |
| 111 | label: "查看改动", |
| 112 | note: "在保留之前,先检查这些智能体改了什么。", |
| 113 | }, |
| 114 | ], |
| 115 | sourceNote: "来源文档:docs/SUBAGENTS.md、docs/FLEET.md、docs/MODES.md · 修改时同步更新 docs-map.ts。", |
| 116 | }; |
| 117 |