用途
prun(parallel run)用于把一个可以拆分的大任务并行执行:协调会话将任务分解为若干独立单元并派发,各单元由 Agy 进程在后台运行,协调会话随后收集结果、审查差异并整合。协调会话自身只承担分解、派发、读取结果和整合的工作。
主要能力与执行器
- 唯一执行器是 Agy(agy),使用 Antigravity 中已认证的 Google AI 套餐;默认运行账号可用的最新 Gemini Flash High,并采用高 effort。
- 协调会话本身只做协调与整合,不作为任务单元。
- 不支持 Claude 侧 worker(Sonnet 子代理、Workflow 代理等),也不使用 Codex 执行单元;Codex 额度保留给 /vet 审查角色。
- 单元数量由编排器根据依赖结构和负载自行决定;支持十几个甚至二十个并行单元。实际限制主要来自本地 CPU/内存、Agy 配额余量和整合带宽。
- 支持用 --continue-from <state-dir> 继续同一单元对话进行后续轮次。
使用方式(依据资料)
- 派发命令:<python> scripts/dispatch-task-agy.py --prompt-file <prompt> --result-file <fresh abs result> --unit-id <id>;该命令在 stdout 输出一行 STATE-DIR <abs-path>。
- 无 --mode 时,在 scratch 目录中以 accept-edits 和 --dangerously-skip-permissions 运行;调用方提供的目录(PRUN_SCRATCH_CWD 或 --add-dir)需显式指定 --mode accept-edits 或 --mode plan。
- 代码编写单元在去掉 remote 的临时本地克隆中运行: git clone --local -c core.longpaths=true <repo> <clone-dir> git -C <clone-dir> remote remove origin
- 监控脚本为 scripts/monitor.{sh,ps1} <state-dir> ...,会在全部完成、单元停滞或失败时唤醒;gather.{sh,ps1} 用于等待全部完成。
- 脚本查找顺序:skills/prun/scripts/、.claude/skills/prun/scripts/、.agent-config/repo/skills/prun/scripts/。
- 环境变量:PRUN_KEEP_ENV 用于保留指定变量;ANTIGRAVITY_DISPATCH_MODEL 指定模型;ANTIGRAVITY_DISPATCH_EFFORT 覆盖 effort;ANTIGRAVITY_PREFLIGHT=off 跳过模型列表预检。
安全与约束
- 硬性规则:worker 不得 commit、push 或执行破坏性 git(commit、push、分支/标签变更、reset --hard、clean)。
- 只读或研究单元在每单元 scratch 目录中运行;代码编写单元在无 remote 的一次性克隆中运行,协调会话读取 diff 后整合,由用户确认最终提交。
- 派发时构建子进程环境会剔除名称包含 KEY、TOKEN、SECRET、PASSWORD、PASSWD、CREDENTIAL、APIKEY、AUTH 的变量,以及以 AWS_ 开头的变量;保留 ANTIGRAVITY_*。
- 环境清理不是沙箱,worker 仍可读取用户可读的文件。
- 会话内工具(MCP、邮件连接器、Artifact 工具)不可由 Agy 单元使用,需要先由协调会话收集并写入单元提示词。
适用场景
适合任务可拆为相互独立、可单独校验的单元:不同模块的开发、独立研究问题、并行分析等。不适合单一顺序任务、单元间存在输出依赖,或单元结果必须重做才能校验的任务。
限制
- 受 Agy 配额和本地并发能力限制;配额不足时应排队或告知用户,不应转用 Claude 账号。
- 具体模型版本、套餐配额和价格会变化,资料未提供固定承诺;大规模批处理前应检查当前配额。
- 资料未提供图形界面、独立安装包或其他平台的明确信息。