agmsg 模型选择型开发 是做什么的?
使用此技能形成任务范围内的同级团队。没有永久的指挥官,也没有常驻工作者池:任务负责人是你为本会话选择的模型(在 Claude Code 或 Codex 中)。它端到端拥有任务,然后只为在 agmsg 上进行的有限工作启动必要的同伴角色。
需要已安装 agmsg 技能 (https://github.com/fujibee/agmsg),并且 claude 和 codex CLI 均可用——agmsg 团队会在两者上生成同伴。在调用其脚本前,请阅读已安装的 agmsg 技能。仅使用其提供的 Bash 脚本;切勿直接访问其数据库、团队文件或配置。
启动或恢复团队
在进行任务工作之前先确定团队。在以下 <cli> 出现的地方,使用当前会话的 CLI 名称(claude-code 或 codex)。
- 如果调用指定了团队名称,则使用该确切名称。如果本地不存在该团队,则使用
join.sh创建/加入它;如果存在,则使用team.sh检查其名册,并在该团队内工作。当请求是拉取远程团队时,不要创建本地的同名校名——请遵循 agmsg 的远程拉取流程。 - 如果没有明确名称,则运行
whoami.sh "$(pwd)" <cli>和team-list.sh --scope project "$(pwd)"。恢复与此项目关联的唯一团队。如果没有,则创建一个本地团队,名称取自项目目录名称的安全小写 slug(例如,payments-api)。如果存在多个适用的团队,请询问用户使用哪个现有团队;切勿随意选择。 - 在需要时,使用
join.sh <team> <agent> <cli> "$(pwd)"注册任务负责人。选择一个未使用的身份,例如<team>-owner(可选地加上模型限定,例如<team>-sol-owner);首先检查team.sh <team>,如果冲突则加上编号后缀。记住本次任务已确定的团队和代理身份。 - 在每次恢复轮次开始时以及声明完成前,检查负责人的收件箱:
inbox.sh <team> <owner>。
因此,首次调用会在没有可用项目团队时创建默认的项目团队;明确提供的团队始终优先。团队和代理身份是 agmsg 的本地状态,因此除非已配置远程同步,否则不要假设它们跨机器共享。
模型路由
任务负责人 (TO) 控制模型选择和升级。工作人员将其结果或升级请求返回给 TO;他们从不直接重新分配或移交工作。提供者边界无关紧要,因为任务上下文和结果可以通过 agmsg 传递。
使用能够可靠完成任务的最便宜模型。角色定义职责;模型定义当前工单所需的推理能力。不要仅仅因为一个角色被称为“顾问”或“专家”就选择昂贵的模型。
- 通用——Luna: 日常实现、机械性编辑、直接的重构、简单的文档以及其他明确的执行密集型工作。
- 顾问——Terra 或 Sonnet: 规划、需求/产品分析、评审、直接的设计或架构、中等难度的调试以及权衡分析。根据任务适配度选择,而非提供商偏好。
- 专家——Sol 或 Opus: 复杂的架构或用户体验、困难的调试和重构设计、深入评审、跨领域推理以及具有重大下游影响的决策。两者都不是该角色的强制默认模型。
- 升级——Astra: 异常困难或高风险的推理、未解决的全系统问题,或者在 Sol 或 Opus 仍不足够时进行最终的独立评审。Astra 不是默认的专家模型。
通常路线是 Luna → Terra/Sonnet → Sol/Opus → Astra;当工单明确证明合理时,TO 可以跳过一个层级。基于模糊性、所需推理深度、上下文大小、失败成本、先前失败的尝试或信心不足来决定升级——而不仅仅是任务重要性。
当工作人员认为其分配的模型不足时,它会报告已经确定的内容、尚未解决的问题、当前方法为何不足、是否建议升级以及需要哪些额外的推理。然后 TO 决定是重试、在层级内切换、升级还是请求独立意见。
用户在调用此技能之前选择负责人模型;该技能不会更改正在运行的会话的模型。如果所选模型不明确,请询问用户,而不是生成第二个负责人来做出决定。
所选的任务负责人必须确定需求和验收标准,检查相关代码和文档,仅拆分独立工作,实现或集成结果,运行适当的测试,并验证完成。除非路由规则证明升级合理,否则 Luna 是默认的委托工作人员模型。
在需要时,自由委派只读的研究、质量保证和安全审查。不要让两个同伴同时编辑同一个文件;分区文件或使用单独的 Git 工作树。任务负责人对成果负责,而不必亲自完成每个步骤。
使用工单形式的消息。仅发送接收者需要的上下文,并引用文件、提交、差异或先前的发现,而不是让另一个模型重新发现它们。在委派或升级时,请阅读消息模板。
角色与直接沟通
- 任务负责人(你选择的模型): 拥有范围、决策、集成、测试和最终检查。
- 工程师/调查员: 接收有限范围内的实现或研究工单,并直接向负责人报告。
- 产品经理 / PdM: 当产品问题或需求需要在设计或实现之前定义时使用。澄清用户成果、范围、优先级、业务规则和验收标准;不要选择屏幕结构、用户界面文案或实现方式,并向负责人汇报未解决的产品决策。
- 产品设计师: 当产品需求需要屏幕/用户体验规范之后才能实现时使用。定义信息层级、流程、非正常路径状态以及简洁一致的、可供工程师直接使用级别的用户界面文案;不要更改需求、业务规则、API/数据模型或实现方式,并向负责人报告需求差距或矛盾。
- 无障碍审查员: 对于有意义的用户界面或用户流程变更,且需要进行无障碍审查时使用。检查键盘操作、焦点、标签、错误和状态反馈、对比度以及仅依赖颜色的说明;以证据和实用的修复方案报告障碍,通常不编辑代码或更改需求。
- 质量保证: 用于行为变更、错误修复、多文件更改、回归风险、多个验收标准或有意义的负责人盲区。质量保证通常报告发现,不编辑代码。
- 安全审查员: 仅用于认证/授权、会话/Cookie、API/外部输入、上传、密钥、数据库/行级安全、基础设施、依赖项更新或敏感数据。报告严重性、证据和修复方案;通常不编辑代码。
- 顾问: 仅提供有针对性的判断。负责人提供问题、当前状态、选项、权衡、建议、相关文件和一个准确的问题。不要让它重新调查整个仓库。
- 专家: 在根据难度、不确定性、失败成本和先前尝试进行路由后,处理一个严格定义的难题。不要仅根据此角色头衔选择模型。
每个工作人员都将其结果返回给 TO。工作人员可以在需要时直接沟通,但他们不能重新分配工作或选择下一个角色/模型;TO 仍然是路由和对齐的权威。
升级与生成
在整个任务期间保持选定的负责人。仅在具体的决策或失败点进行升级;将响应记录回该负责人,由其做出实现和完成的决策。
按需生命周期与上下文重用
将每个非负责人角色视为按需工作人员:为一个有限工单 spawn 它,等待其报告,合并结果,然后 despawn 它。不要在工作项之间保留空闲的 QA、安全、顾问或工程师进程。
spawn.sh <type> <name> --project "$(pwd)" [--team <team>] [--model <cli-model-id>] [--boot-prompt "<ticket>"] [--no-wait] [--fresh]
预先加入 <name>,打开一个 tmux 窗格(在 tmux 内)或一个新的终端,并启动 CLI。claude-code 生成会阻塞直到其监视器附加;codex 生成会立即返回,因此 codex 同伴必须通过 --boot-prompt(而非在它空闲后发送的消息)获取其分配。
要在同一任务中稍后带回一个角色,不带 --fresh 再次 spawn相同的名称——agmsg 会恢复其记录的会话,因此只发送增量(状态、相关文件/提交、一个下一步问题)。仅当先前的上下文会误导时才使用 --fresh。
despawn.sh <team> <owner> <name> [--force] 是 spawn 的逆操作,仅拆除此负责人生成的某个角色。对 codex 同伴进行优雅的 despawn 通常会报告“no live lock”(codex 没有监视器)——这是正常的;仅当终端窗口保持打开时才添加 --force。切勿拆解手动启动的同伴。
agmsg 接口
从当前环境中安装 agmsg 技能的任何位置解析其 scripts/ 目录,而不是假设固定路径,然后调用:
bash <agmsg-skill-dir>/scripts/send.sh <team> <from> <to> "<structured ticket>"
bash <agmsg-skill-dir>/scripts/inbox.sh <team> <agent>
bash <agmsg-skill-dir>/scripts/team.sh <team>
bash <agmsg-skill-dir>/scripts/spawn.sh <codex|claude-code> <agent> --project "$(pwd)" --team <team> --model <installed-cli-model-id> --boot-prompt "<bounded ticket>"
bash <agmsg-skill-dir>/scripts/despawn.sh <team> <owner> <spawned-agent> [--force]
--model 由 agmsg 传递给已安装的 CLI。仅使用经过验证的本地模型 ID——对于 Codex 同伴:gpt-5.6-luna、gpt-5.6-terra、gpt-5.6-sol、gpt-6-astra;对于其他 CLI,请使用其文档中记录的标识符,不要自行编造。没有监视器投递的 Codex 同伴必须通过 --boot-prompt(而不是在它空闲后发送的消息)接收其初始分配。
仅当能创造有用的并行工作时才生成。优先选择范围窄的一个工作人员,而不是多个推测性的工作人员;仅并行化独立的工单。对于手动启动的同伴,使用 send.sh 即可。在分配前检查名册;每个 from 和 to 都必须已注册,除非有意使用 agmsg 文档中记录的 --force 例外情况。
完成门控
所选的任务负责人仅在满足以下条件时才关闭任务:需求和验收标准已达成,相关测试通过,触发的质量保证和安全审查已解决,没有阻塞项,并且差异中不包含无关的更改。如果使用了昂贵模型的建议,在关闭前请验证并实现其结果。