给编码助手装「子人格」这件事,各家工具都支持,但角色从哪来是个体力活:自己写,或者满网抄。
Agency Agents 干脆把它做成了一个仓库——起于一条 Reddit 帖子,
如今攒了两百七十个带人格的专家角色,按公司组织架构分成十七个「事业部」,一条命令装进十六种工具。
角色本身是提示词工程,仓库真正下功夫的地方是分发和治理,这篇两头都拆。

定位

MIT 协议的角色集合,每个角色一个 markdown 文件:frontmatter 记名字、简介、配色、性格标签,
正文是完整的人格设定——身份与记忆、核心使命、铁律、检查单、产出格式。
本地这份 checkout 数出 270 个带 frontmatter 的角色,分十七个分部:工程一家独大(六十个上下),
设计、销售、付费媒体、市场、产品、安全、测试之外,还有医疗、GIS、游戏开发、空间计算这些偏门。
角色光谱很宽:正经的有网络工程师(Cisco / Juniper / PAN-OS 配置排障)、嵌入式固件、Solidity 合约、
销售的 MEDDPICC 商机评分;跳脱的有给界面塞彩蛋的「Whimsy Injector」、专治大路货设计的「UI 防平庸终审门」。

角色文件

拿 Code Reviewer 感受一下成色。frontmatter 之外,正文把评审风格钉死成规则:
问题分三级(🔴 阻断 / 🟡 建议 / 💭 挑剔),每条意见必须给出理由和改法,
「建议而非命令」「一轮给全、不挤牙膏」「好代码要点名夸」。
这类文件的价值不在文采,在于把一个领域的检查单和产出格式固化下来——
模型还是那个模型,但它开工前先被塞了一份靠谱的作业规程。

分发管线

角色写成 markdown 只算完成一半,各家工具各认各的格式,这是仓库最工程化的部分。

角色的分发管线角色的分发管线:一份 markdown 源,按契约渲染成各工具认得的形状

交互版,可缩放、可播放数据流轨迹。)

tools.json 给 16 个工具各立一份契约:渲染格式、安装形态、探测目录、落盘路径。
convert.sh 按契约把角色渲染进 integrations/:Claude Code 原样 markdown 落 .claude/agents/
Codex 转 TOML,Cursor 转 .mdc 规则,Kimi 一个角色两件套(yaml + system.md),
OpenClaw 更是一角色三文件(SOUL / AGENTS / IDENTITY)。
安装形态分三种:per-agent 一角色一文件;roster 全员拼成一个大文件(Aider 的 CONVENTIONS.md、Windsurf 的 .windsurfrules 走这条);
plugin 是构建出来的插件工件(Hermes 路由插件)。
install.sh 是个交互向导:自动探测机器上装了哪些工具,按分部或单个角色挑着装,支持 dry-run;
另有一个桌面 App(独立仓库)读同一份目录,点一下装、自动更新。

目录治理

两百七十个文件、十七个目录、十六种工具、三套消费方,靠什么不散架——两份事实源加一道 CI 闸。

两份事实源与一致性闸两份事实源与一致性闸:目录、脚本、App 消费同一份目录,CI 负责对账

交互版divisions.json 管分部,tools.json 管工具,
转换与安装脚本里各持一份清单,CI 逐项对账:目录里多了个分部而 json 没登记、脚本清单跟契约对不上,构建直接红。
还有一道原创性检查,专防复制粘贴改个名就提交的角色。
社区仓库能维持秩序,靠的多半不是热情,是这类把「一致」写进 CI 的执念。

安装

bash
brew install --cask msitarzewski/agency-agents/agency-agents   # 桌面 App

git clone https://github.com/msitarzewski/agency-agents.git && cd agency-agents
./scripts/install.sh                                     # 交互向导:挑工具 + 挑分部
./scripts/install.sh --tool claude-code --division engineering,security
./scripts/install.sh --tool cursor --agent frontend-developer,ui-designer

边界与风险

先把最容易的误会说破:角色不是能力。人格提示词不给模型加新工具、新知识,
「网络工程师」上身之后干活的还是同一个底座模型——它带来的是领域检查单、产出格式和聚焦,上限始终是底座本身。
把它当「招了个专家」用会失望,当「给模型发了本作业规程」用刚刚好。

全量安装是反噬。270 个角色全装进 Claude Code 的选择器就是污染,挑角色比干活还费神;
OpenCode 的运行时超过 119 个静默丢弃(上游 bug,README 里明说);
roster 形态更要小心——Aider 和 Windsurf 是全员人格拼进一个文件,每次会话整本花名册都进上下文,token 和注意力两头吃亏。
按分部装不是可选项,是正确用法。

质量必然参差。结构有 lint 兜底、抄袭有检查拦着,但深浅没人能拦:
有的角色是老兵把二十年经验写成了规程,有的只是把岗位 JD 翻译成了第二人称。装之前把文件读一遍,跟招人面试一个道理。

维护面也大:16 个工具的目录约定随上游 CLI 演进而漂移,契约加 CI 能保证仓库内部不散架,兜不住上游改主意。

管 skill 的仓库之前写过一个,管的是「怎么做事」;这个管的是「谁来做事」。
照组织架构图给 AI 建事业部,多少有点行为艺术,但那道把一致性写进 CI 的闸,倒比不少正经产品都认真。