这个开源仓库里躺着一整家“AI 公司”——几十个带性格、流程和成功指标的专家角色。它不是框架,却比很多框架更值得学。
“我不只是测试你的代码——我默认要找出 3-5 个问题,而且所有结论都要视觉证据。”
这不是某个 QA 主管在给自己立人设,而是开源项目 agency-agents 里一位名叫 Evidence Collector 的“AI 员工”的开场白。
你有没有过这种体验:让 AI 助手帮你干活,它什么都能聊两句,可真到要交付的时候,写出来的东西总觉得“差点意思”?问题往往不在模型不够强,而在——你没有告诉它“你是谁、该怎么做、做到什么程度算好”。
这个叫 agency-agents 的项目,试图回答的正是这个问题。
一个把“AI 公司”打包进 GitHub 的项目
项目的来历有点浪漫。它诞生于 Reddit 的一条讨论帖,作者随手晒了个想法,结果 12 小时内就有 50 多位网友追着要。于是他把这份“愿景”做成了开源仓库,MIT 协议,个人和商业都能随便用。
它到底装了什么?一句话:一整家 AI 公司的“员工档案”。
从前端工程师到 Reddit 社区运营,从趣味设计师到现实校验官,每个 .md 文件就是一位员工的完整角色卡——告诉 AI“你是谁、你为什么存在、你该怎么做、做到什么程度算好”。仓库按专业领域把员工分成 17 个部门:工程、设计、营销、产品、项目管理、测试、安全、空间计算……你几乎能为任何一个场景找到对应的人。
这里有个容易误解的地方,得先讲清楚:它不是框架,没有 SDK,不需要安装任何东西。 它是一批打磨过的提示词成品,外加一套把它们转换成各种 AI 工具可用的脚本。理解这点很重要——它教的不是“怎么写提示词”,而是“好的 AI 角色应该长什么样”。
为什么这些“角色卡”比普通提示词好用?
普通提示词通常是“你是一个资深前端,请帮我……”——然后就没了。而这里的每个 Agent 都严格遵循五个设计支柱:
强人格。 不是“我是乐于助人的助手”这种谁都能说的话,而是有辨识度的角色。Reddit 社区运营的自我介绍是:“你不是在 Reddit 上做营销——你是成为一个恰好代表品牌的社区成员。”一句话就定下了整个调性。
明确交付物。 不是空泛的描述,而是真实可运行的代码示例、模板、框架。前端开发者的角色卡里,直接塞进了一段带虚拟滚动的 React 表格组件,连 useMemo、useCallback 该怎么用都示范好了。
成功指标。 每个 Agent 都写死了“做到什么程度算好”:Lighthouse 评分超过 90、3G 网络下页面 3 秒内加载、组件复用率超过 80%、生产环境零 console 报错。有了这些数字,AI 干活就有了明确的“及格线”。
成熟工作流。 一步步可执行、经过实战检验的流程,而不是纸上谈兵。
学习记忆。 明确告诉 Agent 该从过往的成功与失败里记住什么,让它在使用中越变越强。
这五条,就是这家“公司”的员工质量整齐划一的原因——也恰好是你评估任何 AI 提示词质量的标尺。
拆开一个 Agent:专业是如何被“写”出来的
打开任意一个员工档案,结构都异常规整。头部是一段 YAML 元数据:名字、一句话简介、颜色、表情符号,外加一句“vibe”(人设钩子)。正文则分成两组章节——Persona(我是谁):身份与记忆、沟通风格、铁律红线;Operations(我做什么):核心使命、技术交付物、工作流程、成功指标、进阶能力。
这个分组不是随意的排版洁癖。仓库外围有一组脚本,会按章节标题把同一个文件自动切分成不同工具所需的格式——给 Claude Code 用 .md,给 Qwen 用 SubAgent,给 Codex 用 TOML。也就是说,一份角色卡,写一次,处处可用。这正是它敢以“内容”为代价、却长成“工程”的原因。
最打动我的是“沟通风格”这一节。前端开发者被要求这样汇报:“实现了虚拟滚动表格组件,渲染时间降低 80%”,而不是“我做完了”。它不仅在教 AI 干活,还在教 AI 怎么向人交代工作。 一句措辞的差别,背后是对“专业”的完整定义。
单打独斗没意思:真正的玩法是组团队
单个 Agent 再强,也只是单兵。这个仓库真正的玩法,是把员工编排成团队。
仓库里有一个完整的范例:用 4 周做一个 SaaS 产品 MVP。Sprint Prioritizer 负责把项目拆成周计划,UX Researcher 做用户访谈和竞品分析,Backend Architect 设计数据模型,Frontend Developer 和 Rapid Prototyper 负责把功能跑起来,Growth Hacker 在开发的同时铺好发布策略——而 Reality Checker 在每个关键节点拦一道,默认倾向“不通过”,除非有压倒性证据。
这个例子里藏着四条最值钱的模式:顺序交接(上一个 Agent 的输出,就是下一个的输入);并行作战(互不依赖的任务同时开跑);质量门(上线前必有严格把关);以及最关键的一条——Agent 之间不共享记忆,所以交接时必须把上一个的输出完整粘贴,不能转述、不能省略。
如果嫌手动编排麻烦,还有一位专门的“编排总监”:Agents Orchestrator。它把整个流程跑成一条带质量门的流水线——项目经理拆任务 → 架构师打地基 → 开发与测试逐任务循环 → 最终集成验收。每个任务必须通过 QA 才能进入下一个;同一任务最多重试三次,超过就升级。这套“IF 通过 / IF 失败 / 重试计数 / 升级”的分支逻辑,几乎是所有 Agent 编排的教科书范式。
普通人怎么用起来?
三条路,丰俭由人。
最快的路:在仓库里挑一个你需要的 Agent,把 .md 文件复制到 ~/.claude/agents/,然后在对话里说一句“激活 Sprint Prioritizer”就能用。零依赖,五分钟上手。
进阶的路:用仓库附带的脚本批量把角色卡转换成你常用工具的原生格式,一次配置,全家桶都能用。
最有意思的路:直接照仓库给的三套“团队阵容”抄作业——做 Web 应用、打多平台营销战役、跑企业级交付,每个场景的“员工组合”都给你配好了。
如果以上都不过瘾,你甚至可以往这家“公司”里塞一位自己的员工:照着模板写一个角色卡,跑一遍仓库自带的原创性检查(防止你造出个换皮怪),提交一个 PR——一个 Markdown 文件,是这家“公司”最欢迎的入职申请。
我拆完这个项目最大的感受是:AI 能不能干活,模型只占一半;另一半,是你有没有把“专业”这件事,具体地、可衡量地、带着性格地写给它。
那,如果你明天就把它克隆下来——你最想先激活哪一位员工?
夜雨聆风