按你的角色选 division:agency-agents 不用一次全装

2026-08-09

第一次翻开 agency-agents 这个仓库,很容易产生一种”全都要”的冲动:README 把它描述成一整间随身携带的 AI 事务所,./scripts/install.sh --tool claude-code 一条命令就能把整柜子人格搬进你的工具里。截至 2026-08-09 的 GitHub 快照,这个仓库有 140729 star、22985 fork、110 个 open issue——关注度确实高。但 star 数说明的是有多少人点了收藏,它不能推导出这批 agent 的质量、稳定性,更不能推导出它适配你手上这个项目。

所以这篇不打算按 division 逐个夸一遍,而是倒着来:从你的处境推到你该装哪几个。裸调用 install.sh 的语义是”把所有 team 装到所有检测到的工具”,而带 frontmatter 的 agent markdown 一共 255 个,分布在 17 个 division。往 ~/.claude/agents/ 这种共享目录一次性写进两百多个文件,是有代价的——上下文占用、工具启动时的加载、命名冲突都跑不掉。具体代价有多大我们没测过,不给数字;但”能不能少装点”这个问题,是值得在敲回车之前想三十秒的。

顺带先纠一个常见误读:仓库里 markdown 文件总数约 316,比 255 多出来的那部分是 README、CONTRIBUTING、strategy/ 下的编排文档、examples/ 之类的非 agent 文件。能装的是 255 个,不是 316 个。

第一个岔路:你的工具属于哪种 installKind

在讨论”挑哪个 division”之前,得先确认一件事——你的工具允不允许你挑

tools.json 里收录了 16 种工具,每个工具都带一个 installKind 字段,它的 _note 把这个字段定义为安装机制,并且说明它是”上游真相,对每个消费方都成立”。一共三种:

installKind产物形态属于这一类的工具
per-agent每个 agent 渲染出一个文件或一个目录Claude Code、Codex、Gemini CLI、GitHub Copilot、Qwen Code、Cursor、opencode、Osaurus、Antigravity、Kimi、OpenClaw、Mistral Vibe、ZCode
roster所有 agent 合并成一个文件Aider(CONVENTIONS.md)、Windsurf(.windsurfrules
plugin一个构建出来的产物,不能按 agent 渲染成字符串Hermes(唯一一个)

这张表就是第一道分流。如果你在 Aider 里琢磨”怎么只装 Code Reviewer 一个”,答案不在参数里,在产物形态里:roster 的输出本来就不是一 agent 一文件,它把花名册压成一份 CONVENTIONS.md。Windsurf 的 .windsurfrules 同理。Hermes 的 plugin 更极端——它是一个构建产物,只能走命令行,官方 app 也装不了。

所以:只有 per-agent 的工具,“按 division 收窄”这件事才谈得上。 用 roster 类工具的人,该想的是另一个问题——这份合并文件里塞多少人格是你愿意让它每次都参与的,而不是怎么筛。

另外提一句 format 字段的契约:tools.json_note 说同一个 format 名保证渲染出字节级相同的输出。这就是 claude-codecopilot 都用 identityosaurusantigravity 都用 skill-md 的原因。_note 最后一句也要如实带出:渲染器覆盖面是消费方自己的事,目录本身不携带任何 app 发布状态

第二个岔路:装进家目录,还是装进这个项目

第二个决定比”挑哪个 division”更影响你的日常。

install.sh 的注释里列出了各工具的落点,其中有一个很容易被扫过去的差别:opencodecursoraiderwindsurf 这四个写的是”当前目录”,而 claude-code~/.claude/agents/)、codex~/.codex/agents/)、gemini-cli~/.gemini/agents/)、osaurus~/.osaurus/skills/)、openclaw~/.openclaw/agency-agents/)等多为家目录。qwenzcode 则同时给了用户级与项目级两种写法。

这个差别决定了两件事:

  • 你在哪个目录敲命令很重要。 落点是”当前目录”的工具,你在哪个项目根下执行,文件就写在哪个项目里;跑错目录会把规则文件撒进不相干的仓库。
  • 收窄的必要性不一样。 装进当前项目的,天然被项目边界圈住了,多装几个 division 影响范围可控;装进家目录的,是给整个账户装,之后每个项目都带着——这种才是真正需要克制的。

顺便说一个坑:tools.json 里 opencode 的用户级路径是 .config/opencode/agents/{slug}.md,而 install.sh 注释写的是当前目录的 .opencode/agents/。这两处分别对应不同 scope,不是矛盾。要断言某个具体路径,回源文件核对当前是哪个 scope,别混着说。

如果你想强行指定目标,--path <dir> 可以覆盖安装目录,但它只接受单一目标。另外 install.sh 还会在硬编码默认值之前检查一批环境变量:CLAUDE_CONFIG_DIRCOPILOT_AGENT_DIRCURSOR_RULES_DIRGEMINI_AGENTS_DIROPENCODE_AGENTS_DIROPENCLAW_DIRQWEN_AGENTS_DIRCODEX_AGENTS_DIROSAURUS_SKILLS_DIRHERMES_HOMEHERMES_PLUGIN_DIRVIBE_HOME。习惯用非默认配置目录的人,先设变量比事后搬文件省事。

第三个岔路:按角色对 division

到这一步才轮到”选哪几个”。先把规模摆出来,因为 division 之间的体量差得很远:

division展示名agent 数
engineeringEngineering58
specializedSpecialized57
marketingMarketing36
gisGIS13
securitySecurity12
designDesign10
sales / testingSales / Testing各 9
paid-media / project-managementPaid Media / Project Management各 7
academic / game-development / spatial-computing / supportAcademic / Game Development / Spatial Computing / Support各 6
finance / productFinance / Product各 5
healthcareHealthcare3

读这张表的要点是:engineeringspecialized 两个就占了 115 个,接近总量的一半。也就是说,“我是个写代码的,那就装 engineering 吧”这个看似保守的选择,实际上一口气装了 58 个。

怎么对到角色上?这里只能按 divisions.json 给出的 label 语义做对应,不能承诺效果——我们一个 agent 都没有运行过,所有”适不适合你”的判断只能你自己在提示词正文里读出来。可用的起手组合大致是这样:

  • 只写业务代码的独立开发者engineering 起手就够了。想再收一层,直接跳到下一节用 --agent 点名。
  • 要交付前端界面的engineering + designdesign 只有 10 个,代价小。
  • 对交付质量负责的(自测、回归、上线前把关)testing 9 个,体量很轻,值得单独加。
  • 要过安全审查或合规的security 12 个。
  • 一人多岗、还要写文案和落地页的marketing 36 个是个不小的增量,建议先用 --agent 点名而不是整个 division 拖进来。
  • 做需求与排期的product(5)+ project-management(7),加起来 12 个,是全表里性价比最直观的一组。
  • 领域强相关的gishealthcaregame-developmentspatial-computingfinanceacademic 这几个,不在你的领域里就别装——它们不会因为多装而”备用”,只会占位置。

specialized 这个名字最有迷惑性:57 个,仅次于 engineering,但”专门化”具体专门在哪,只能逐个看 agent 的 description 才知道。不建议闭着眼睛整包装。

收窄的三个粒度,以及先跑 --dry-run

install.sh 的调用形式是 ./scripts/install.sh [selection] [mode] [behavior],选择器可以自由组合,全空就是全装:

参数含义
--tool <a,b>只装这些工具
--division <a,b>只装这些 division
--agent <slug,slug>只装指定 agent
--agents-file <path>从文件读 agent 列表,每行一个 slug 或名字,支持 # 注释

三个粒度从粗到细:工具 → division → 单个 agent。团队里想统一一份清单,用 --agents-file 最合适,因为它能进版本库,而且支持 # 注释——你可以在每行后面写清楚为什么留着这一个。

在真正落盘之前,先加 --dry-run。它只打印计划、不写任何东西,是这个仓库对新手最有价值的一个开关。往共享目录写两百多个文件这种事,看一眼计划再决定,成本几乎为零:

# 先列一遍可选项,确认名字没写错
./scripts/install.sh --list tools
./scripts/install.sh --list agents

# 只给 Claude Code 装工程与测试两个 division,先看计划不落盘
./scripts/install.sh --tool claude-code --division engineering,testing --dry-run

# 计划没问题了,去掉 --dry-run 真装
./scripts/install.sh --tool claude-code --division engineering,testing

# 或者按点名清单装,清单文件放进你自己的项目里
./scripts/install.sh --tool claude-code --agents-file <你的项目目>/agents.txt

以上为按官方参数语义组合的示例,未逐项实测,以官方文档与 ./scripts/install.sh --help 的实际输出为准。

还有几个行为开关值得知道:--no-convert 关掉”集成文件缺失时自动跑 convert.sh”;--parallel 并行装各工具、输出按工具缓冲,--jobs N 控制最大并行数(默认 nproc 或 4);--interactive / --no-interactive 控制交互向导,终端里默认是开的。--link 用符号链接代替拷贝,改动会自动传播——这一条是双刃:跟着上游走确实省事,但你本地改过的内容和仓库更新之间的关系也变复杂了,装在共享目录时尤其要想清楚。

Windows 用户注意:脚本注释里写的支持平台是 Linux、macOS(需要 bash 3.2+)、Windows 的 Git Bash / WSL。别在 PowerShell 里直接敲。

两个”装完像没装”的坑

第一个:Cursor 的转换产物 alwaysApply 是写死的 falseconvert.sh 渲染 .mdc 时,frontmatter 固定是 description + globs: "" + alwaysApply: false。也就是说转出来的规则默认不会自动生效,得在 Cursor 里按需引用。装完感觉”一点反应都没有”,先查这一条,别急着怀疑 division 选错了。

第二个:integrations/ 是产物目录,不是源目录install.shintegrations/ 读取已转换的文件再拷到各工具配置目录,divisions.json_note 也明确把 integrations/strategy/examples/scripts/ 排除在 division 之外。想改提示词要改源 agent markdown 然后重新 convert,直接编辑 integrations/ 下的文件会在下次转换时被盖掉。另外 strategy/ 里放的是 playbook 和 runbook,没有 agent frontmatter,是编排方法论不是可安装 agent——按 division 挑的时候不用惦记它。

哪些维度我们不比

选型文章最该说清楚的,是自己的边界:

  • 效果、产出质量、“用了提效多少”——不比。 我们只读了仓库文件,没有安装或运行过其中任何一个 agent,没有任何依据。
  • agent 提示词里的自述(比如”You’ve built and deployed ML systems at scale”这类句子)是写给模型的人设文本,不是任何人的真实履历,更不构成能力背书。挑 agent 时它只能当风格参考。
  • star 数不参与选型。 140729 这个数字是 2026-08-09 的快照,只说明关注度。
  • 各 division 之间谁”更成熟”——官方没给这个维度的数据,我们不比。 表里的 agent 数只反映数量,不反映成色。
  • 正文词数(花名册导出里每个 agent 后面那个”~N 词”)也只是长度,长不等于好用。

最后给一条兜底建议:如果你实在拿不准,就从”当前项目目录”这一侧起步——用落点在项目里的工具试,或者用 --path 指到一个临时目录,观察一段时间再决定要不要往家目录铺。装进 ~/ 的东西,清理成本永远比装进项目里的高。

延伸阅读


本文依据 agency-agents 官方仓库(github.com/msitarzewski/agency-agents)的 README、tools.jsondivisions.jsonscripts/ 下的安装与校验脚本整理,核对日 2026-08-09。本文内容为仓库源码与文档口径,我们没有安装或运行过其中任何 agent。目录、脚本与安装路径随上游更新而变动,请以仓库最新内容与 ./scripts/install.sh --help 的实际输出为准。许可条款请以官方 LICENSE 原文为准,本文不构成法律意见。

想系统学会用 AI?报名体系课或加入会员,照着学、照着用。