使用 Paperclip 构建团队:90 分钟速成课
七个场景。从一无所有,到一家能构建真实成果的 AI 公司,由你作为董事会来运营。
Paperclip 是一套用来运营 AI agent 公司的操作系统。你设定目标,雇 agent 来干活。它们做规划、做执行;你只批准那些重要的决策。它运作起来像一家初创公司:你雇一个 CEO agent,它提出一套策略,等你批准之后,这个 agent 就把工作拆成任务,分派给团队。
到最后,大约九十分钟,你就会在自己的笔记本上拥有一家运行中的 AI 公司:
- 一个你雇来的 CEO,作为董事会向你汇报,
- 一支 CEO 雇来、并交付了真实工作的 团队,每个下属各自负责自己的任务,以及
- 预算、审批和审计轨迹,让这一切都在你的掌控之中。
CEO 是领导,不是干活的人:它做规划、做分派,由它雇来的专员去执行任务。随着公司扩张,同样的模式不断重复:今天的下属会成为带着自己团队的管理者。
(做过 OpenClaw 速成课 吗?那是一个 agent。这一次,是你从中运营一整支团队的公司。)
📚 教学辅助
查看完整演示:使用 Paperclip 构建团队
它是怎么运作的。 你下载一个小文件夹,在通用 agent(Claude Code 或 OpenCode)里打开它。这个 agent 检查 Node、用一条命令装好 Paperclip,并运行一切;你只做那些只有人才能做的判断:批准 CEO 的策略、决定一次雇佣、打开仪表盘。Paperclip 免费且开源(数万个 GitHub star)。
每个员工都由一个预置 agent(Claude Code、OpenCode、Codex 或 Gemini)或一个自定义 agent 来驱动。这门课里,用你已经登录的那个就行:不需要单独的 API 密钥。临近结尾有一个例外:要亲眼看到预算真正叫停一个 agent,你会需要一个付费密钥。到那一步再细说。
协作模式
三个角色。你 是董事会:做那些只有人才能做的判断。你的通用 agent 运行 Paperclip 的命令行,出问题时负责恢复。Paperclip 是 agent 之上的那一层:它承载这家公司,并唤醒员工。一个命名上的提醒,免得混淆:「你的通用 agent」是你粘贴指令进去的工具;而 Paperclip 自己的员工按角色称呼,也就是 CEO 和它的下属。
下面就是你即将搭建的整个结构:
每个场景都以同样的方式进行:你粘贴大白话的指令,你的 agent 提出一份计划、在做任何破坏性操作前先发问,你批准并旁观,最后落在一件你看得见的东西上。大多数场景只用两条短指令,而不是一大堵指令墙。
万一哪里出了岔子,你不需要懂命令行命令。粘贴这一句:
有些东西没成功。运行
paperclipai doctor,读一读最近一次 Paperclip 服务器日志,用大白话告诉我你看到了什么,并提出一个我能批准的修复方案。
下载的内容只是一份你的 agent 会自己读的 AGENTS.md 简报,和之前课程里的模式一样。你的 agent 会在场景 1 里安装 Paperclip 及其操作技能,所以你自己不用运行任何安装命令。
下载 paperclip-workforce-base.zip
在通用 agent 里打开这个文件夹。这一步只设置一次:paperclip-workforce/ 就是你整门课要用的文件夹。
cd paperclip-workforce
claude
cd paperclip-workforce
opencode
粘贴一句话,确认简报已加载:
你能为 Paperclip 做些什么?
如果回复点出了具体的 Paperclip 工作(安装、雇一个 CEO、策略评审、任务看板、预算、审计日志),你就准备好了。如果它听起来像泛泛的 AI 套话,就关掉这个 agent,确认你在 paperclip-workforce/ 文件夹里面,然后重新启动。
场景 1:把 Paperclip 立起来,创建你的公司(约 15 分钟)
公司 是一个自成一体的 AI 组织:一个目标、一支 agent 团队、一块任务看板和一份预算。目标,是其他一切最终都要回溯到的根。
第一条指令:先探查,再规划。
我想在自己的笔记本上把 Paperclip 跑起来。在你改动任何东西之前,先查一查我机器上已经有什么,然后用大白话给我讲讲你的计划:你发现了什么、你要做什么、哪些地方需要我。
你的 agent 会读 AGENTS.md,运行安装前探查(Node 版本、已有安装、端口),并提出一份计划。如果它发现了遗留状态,会在动它之前先停下来等你定夺。读一读这份计划;觉得哪里不对就提出来。
第二条指令:跑起来,然后创建公司。
计划看着不错,按步骤往下走,把你看到的都给我看;做任何破坏性操作前先停一下。等 Paperclip 起来了,创建我的公司:取名 Northwind,目标是「启动一份每周 AI 新闻通讯,并在 90 天内达到 1,000 名订阅者」,把它登记成一个 CEO 能读取、能据以规划的真实公司目标,而不只是一句口号。设一个不高的月度预算上限,二十美元,让支出从一开始就有封顶。要求在公司雇任何新 agent 之前都要我签字,好让我对团队保持掌控。然后把仪表盘 URL 给我。
完成标志: 仪表盘渲染出来了,上面显示一家叫「Northwind」的公司,你的目标被登记成一个 CEO 能据以行动的目标,有一个预算上限,并且新雇佣被设为需要你批准。之后的每一步操作都建立在这之上。
在任何雇佣之前的你的公司,就是场景 1 的成果:
随着 Paperclip 更新,你的仪表盘可能略有不同;要紧的是那家公司、那个预算上限,以及那份等着你第一次雇佣的空名册。
场景 2:雇你的 CEO(约 10 分钟)
agent 是一个 AI 员工:一个角色、一个它向之汇报的管理者,以及一份预算。雇一个 agent 就像签下一名承包商,只不过它由一个模型来驱动(通过 适配器 接入,也就是匹配你所用服务商的那个插头)。CEO 是你雇的第一个 agent,也是唯一一个没有管理者的:它向你这个董事会汇报,一旦运行起来,就会读取目标并提出一套策略。
第一条指令:起草这个 CEO。
我想雇我的 CEO,也就是 Northwind 的第一个 agent。让它跑在我本地已登录的任意一个 coding agent 上(Claude Code、OpenCode、Codex、Gemini CLI),通过 Paperclip 对应的本地适配器接入,这样就不需要单独的 API 密钥。挑一个合理的默认项,并告诉我是哪个。在你登记任何东西之前,先把配置给我看:角色、适配器和模型、预算,以及心跳计划。预算保持低调,几美元就好。
第二条指令:雇佣并核实。
看着不错。把这个 CEO 作为一次雇佣提交,拿来给我批。等我批准之后,在仪表盘里确认它:它的 ID、它向我汇报且头上没有管理者,以及它第一次心跳的时间。
你在场景 1 里布好的那道关卡,对头一个雇佣同样生效:连你的 CEO 也是一次需要你签字的雇佣。这正是重点所在。你会看到的就是这样一幕,CEO 处在 待批准 状态,旁边有一个 批准 agent 按钮,等着你:
完成标志: 在你批准了 CEO 的雇佣之后,仪表盘显示一个 CEO agent,处于空闲,向你汇报,心跳已启用。它还什么都没做;那是下一个场景的事。
场景 3:CEO 提出一套策略;你来批准(约 15 分钟)
心跳 是一个 agent 排定的工作轮次:它醒来,干一块活,然后下线到下一次。在它的 第一次 心跳上,CEO 只做一件事:它读取你的目标,把一套策略草拟成任务看板上的第一个条目,然后把那个条目移到 in_review,也就是看板的评审车道。在你签字之前,什么都不会往前推进。批准它,就是董事会在行动:你把那套策略从 in_review 移到 done。
第一条指令:点燃第一次心跳。
点燃 CEO 的第一次心跳,让它去想。等它草拟好策略、提交给我评审之后,把它给我看,并带我过一遍 CEO 正在提议什么。
点燃它,CEO 就活了起来,实时干活:
CEO 写出的具体计划是它自己的;你要核实的,是它确实提出了一套、然后停下来等你。下面就是那套策略,停在你的评审车道里,一个附着计划的任务:
(你可能还会看到片刻之后又自行点燃了一次运行。那是一次自动唤醒,发现没有新活可做就退出了,并不是重复;只有你点燃的那次心跳真正干了活。)
第二条指令:定夺它。
我读过策略了。我会照原样签字通过它(或者告诉你我想要的那一处改动,再由你让 CEO 去修订)。把它往前推到 done,把那一行能证明是我、董事会、定夺了它的活动日志给我看,并告诉我 CEO 接下来获准做什么。
完成标志: 策略条目已从 in_review 移到 done,活动日志那一行在这次变更上显示 actor_type = user(你,那个定夺者),并且你能说清楚为什么在你签字之前什么都无法推进。
场景 4:CEO 搭起看板,雇下第一名队友(约 20 分钟)
任务 是一个工作单元,像一张 Jira 或 Linear 工单,只不过受理人是一个 agent。有了一套获批的策略,CEO 把目标拆成任务,再分派并下放它们(头几次心跳上分给自己,等雇到专员后分给专员),让每一项都走过一段生命周期:
正是在这里,公司变成了一支 团队,而不再是单打独斗的 CEO。CEO 在领导:它把策略变成工作,又因为目标大过一个 agent,它(经你签字)雇一个专员,把活往下交。你会看着一个你批准过的雇佣,去做一件 CEO 交给它的任务。
第一条指令:让 CEO 行动。
让 CEO 依据获批的策略行动。点燃几次心跳,把它做的事给我看。它也许会自己开一两个任务,但目标大过一个 agent,所以它会判定自己需要一个专员,并提交一份雇佣申请(角色、一份预算、它将负责的工作)。把那份申请给我看,好让我来定夺。
这个雇佣会作为一条 审批 出现在你的收件箱里,和你给策略的那种签字是同一类,在你点头之前没有任何东西加入这家公司。如果 CEO 先雇人、并把看板的其余部分压住等你定夺,别意外:一个精明的 CEO 不会在还没有市场专员来负责之前就先把市场任务建出来。你可能看到它给自己开的一两个任务,也可能看到一块空看板、上面只有那份雇佣申请在等;两种都正常,而你的决定才是给工作解锁的那一下。
心跳也会按计划点燃,而不只是在你提出请求时,所以一个忙碌的 CEO 可能把同一份雇佣提交两次,或者多开几个任务。如果你看到一份重复的雇佣申请,把多出来的那份拒掉就行;那是关卡在尽职。等你的专员获批、工作下放完毕,就让你的 agent 暂停 CEO 的心跳,好让它停止无人看管地干活。暂停它是一个董事会动作:自主权是你授予的,你也可以收回。
第二条指令:批准雇佣,看团队接手。
我批准这次雇佣。让这名专员入职、向 CEO 汇报,然后点燃 CEO 的一次心跳,让它把获批的策略拆成任务、交给这名新队友。把看板给我看:那些子任务、谁负责它们,以及干活的是这名队友、而不是 CEO。
雇佣一旦获批,剩下的 CEO 会自己做完:在它下一次心跳上,它把获批的策略拆成子任务,分派给新队友,而队友会在被分派时醒来、把它们干完。这就是成果:干活的是团队,而不是 CEO。它可以很快:在一次连锁里,CEO 把任务提交出去,队友在两三分钟内就把它们做完,所以你打开看板时可能发现工作已经完成。那块完成了的看板,每个任务都由队友签署,正是这支团队在你不在的时候做着自己的工作。
可选,看一个任务实时跑一遍。 因为连锁可能在你看之前就结束了,想看一名下属一步步干活,办法是给它单独一个任务:让你的 agent 新建一个全新的任务,分派给队友,再点燃那名队友的心跳。你会看着它自己从 todo 走到 in_progress 再走到 done。这也是把某一个具体片段交给队友、而不是让 CEO 决定整套拆分的办法,或者在 CEO 跑了一两次心跳后还没下放时,推它一把。
完成标志: 你的公司至少有两个 agent(CEO,以及一个向它汇报的专员),一件 CEO 下放的任务由那名专员完成了(它的评论串显示出真实的工作,由队友而非 CEO 签署),并且你能把那件任务回溯到公司目标。这就是一支团队:你来定夺,CEO 来领导,团队来干活。
场景 5:预算,你的安全护栏(约 5 分钟)
每个 agent 都带着一个支出上限,而你在场景 1 里设了一个二十美元的公司上限。规则很简单:到上限的 80% 时 Paperclip 警告你,到 100% 时它暂停那个 agent,这样一个 bug 或一个失控的循环,至多也只能花掉一个有界的金额。这正是一家公司可以放心地任其运行的原因。
老实说有个隐情:预算只能算上 按 token 计费 的支出,而你那个无密钥的本地运行时什么都不计费。Paperclip 把每个 token 都记成 0 美元,所以上限是布好了,却没有任何东西可以顶着它推;无论团队干得多卖力,支出都平平地停在零。(每次心跳都会 打印 一个参考数字,比如 cost=$0.71,那是它在计费密钥上 本会 花的钱;你预算算的那个计费数字是 0 美元。)这道护栏今天不咬人,是因为没有东西可咬。它咬人的那一天,是你把一个 agent 指向一个付费、按 token 计费的模型的时候,而那恰恰是你想要它咬的时候。
给 CEO 设一个一美元的上限,然后把 Paperclip 实际记进数据库的支出给我看。直白地告诉我它花了多少、为什么。
完成标志: 上限设好了,你能说出那条规则(80% 警告,100% 暂停),并且你亲眼看到了那个老实的 0 美元。这道护栏现在就布好了,赶在你真正需要它之前。
如果你哪天真的接了一个按 token 付费的 API 密钥,就在你的 shell 里导出它;千万别把它粘进项目里的某个文件,也别让你的 agent 把它写进去。万一某个密钥落到了不该落的地方,就轮换掉它。
场景 6:像 CFO 一样查询审计轨迹(约 10 分钟)
一套面向公司的操作系统,其意义在于:公司外面的某个人(CFO、法务、合规)能仅凭数据库,在几秒钟内重建出发生过什么。Paperclip 把那段历史保存在一个内嵌的 Postgres 数据库里:activity_log 每个动作一行(创建了公司、雇了 agent、批准了策略、创建了任务),而 cost_events 装着关于钱的那段故事。
把这一句粘给你的 agent:
该扮 CFO 了。连接到 Paperclip 的数据库,针对 Northwind 跑两条查询:第一条,「发生了什么,按顺序」,每个动作连同它的执行者和它触及的对象,最早的在前;然后是到目前为止以美元计的总成本。把 SQL 和结果都给我看。最后,调出那一行活动日志,也就是我、董事会、把策略往前推到 done 的那一行,并指出审计员会用哪些字段来确认是我做的定夺。
agent 会从你这套安装的配置里拼出 Postgres 连接字符串,跑历史查询(完整的主干:创建了公司、雇了 CEO、策略由你移到 done、经你批准雇了一个专员、任务被创建、下放、并由团队干到 done)和成本查询,然后把策略决定那一行给你看:actor_type = user、标识董事会的 actor_id(在本地模式下那是常量 local-board)以及时间戳。同一个 actor_type 列把队友的工作(agent)和你的决定(user)区分开来。
完成标志: 历史查询返回你整段运行那个有序的故事,成本查询返回一个真实的数字,并且你能说出那个把人的决定和 agent 的动作区分开来的列(actor_type)。
场景 7:给你的公司一张真桌子,好让它构建真实文件(约 10 分钟)
回头看看你的团队产出了什么:落地页文案、读者定义、主题清单。这一切都以看板上的 评论 形式存在。公司描述了它的工作,但还没构建出任何你能拿在手里的东西。缺的那一块是一个 工作区:一个你把公司指向它的真实文件夹(或 git 仓库),这样当一个 agent 干一件任务时,它就在那里写出真实的文件,而这些文件会在运行结束后留存下来。这就是「一个告诉你计划的员工」和「一个把文件交到你手上的员工」之间的差别。
这是 Paperclip 里唯一一处具体接法会在版本之间变动的地方,所以下面的指令会让你的 agent 在动任何东西之前,先从实时文档里确认当前的步骤。
第一条指令:接上一个文件夹。
给我的公司一个真实的工作场所。为 Northwind 站点新建一个文件夹,把一个 Paperclip 项目指向它、作为它的工作区,并告诉我它在磁盘上的位置。如果接入工作区的方式变了,先查 Paperclip 的实时文档,然后在你接任何东西之前把你的计划给我看。
第二条指令:让团队构建一个真实的成果物。
现在交给 CMO 一件任务,就在那个项目里:把它已经写好的落地页文案(主标题「AI you can use this week」、副标题,以及行动号召)变成一个真正的
landing-page.html。点燃 CMO 的心跳,让它干活,然后把磁盘上的那个文件给我看并打开它,好让我看到公司构建了一个真实的东西,而不是又一条评论。
完成标志: 你的文件夹里有一个真实的文件(一个 landing-page.html,或你要求的任何东西),由 CMO 写出,你能在浏览器里打开它。你的公司不再只是描述工作,而是把它产出来了。这就是一个演示和一家公司之间的那条线。
每月一次:运营这家你现在掌管的公司(约 10 分钟)
运营一家公司是一项持续的责任,而不是一次性的设置,这恰恰是它需要一次定期复盘的原因。随着时间推移,东西会累积:每一次雇佣、每一处预算改动、每一项设置,都曾是一个小决定,而小决定会漂移。防线不是每一步都保持警惕;而是按固定节奏做一次简短的复盘。这就是你每月做一次的那个动作,而你现在做的这一次运行,就是下一次据以对比的 基线。你可以手动做,也可以,既然周期性的工作正是 Paperclip 例程(routines) 的用武之地,把它排成一个按 cron 触发的例程,让公司给自己做审计;动态团队课 会构建例程。
跑我的 Paperclip 月度公司审计。把自上次审计以来雇过的、配置过的、排程过的、批准过的或暂停过的一切都过一遍。把我没有明确签字过的任何东西、没有产出有效工作的任何 agent、漂移过的任何预算,以及任何比应有状态更松的设置,都标出来。把它总结成一份我能批准或删减的简短报告,并把它存为下个月的基线。
一次好的审计回来时,带着一本干净的账目,和一份要拧紧的 松动旋钮 短清单。常见的那几个嫌疑:一个没有自己预算上限就溜进来的雇佣(它会悄悄继承整家公司的上限)、一个被设成同时跑太多东西的 agent、一个不再和实时状态相符的配置文件,或者一件停在评审里、等着一个只有你能做的决定的任务。这些都不是失败,它们是一家自行运转的公司悄悄产生的寻常漂移,而按节奏把它们逮住,正是你保持自己作为这件不靠你也能运转之物的董事会的方式。
完成标志: 你有一份你信得过的报告,你能说出它浮现的至少一个松动旋钮,并且你做了至少一个决定(补上一个缺失的上限、调低一个失控的并发、刷新一个过期的配置、退掉一个闲置的 agent,或关掉一件停着的任务)。在日历上做个记号;下个月的审计会据这一次来对比。
你做完了:你构建了什么
你不只是装了一个工具,也不只是跑了一个演示。在不到一个小时里,你在自己的笔记本上立起了一家真实的公司,并像一位创始人运营董事会那样运营了它:你设定一个目标,雇一个 CEO,批准它的策略,对它想要的专员签字放行,看着团队做下放的工作,给它一张桌子让它的工作变成磁盘上的一个真实文件,然后从账目里审计了整段运行。你做的每一个动作,无论是雇佣、批准、预算、下放还是审计,都是一个治理动作,而不是一条指令。
而这家公司还在那儿。你没有把它做完;你把它停在了一个干净的基线上。合上笔记本,它依然留存:那些 agent、那张组织图、那些工作、那条审计轨迹,全都在等你的下一个决定。它是一件你现在掌管的活物。
那份新闻通讯只是一次彩排。真正的动作,是把同一套模式指向 你自己的 目标:立起一家公司,它的目标是你真实的业务,让 CEO 来提议怎样去追求它,雇它需要的专员,并让它在那些让你保持董事会身份的预算和审批之下运行。这就是你围绕几乎任何东西去开创一家 AI 原生公司的方式,而你刚刚已经做过了一次。
你从这里带走两样东西。那个持久的成果物是 AGENTS.md,你的通用 agent 每次会话都会读的那份简报,可以随你带到下一个你把 agent 放到它面前的工具里。那个持久的技能,是这份立场:自主权是你授予的,而非默认设定,所以你通过收紧的预算、对雇佣和策略要求签字、以及按节奏复盘,始终保持董事会的身份,哪怕公司在自行运转。
接下来去哪里:
| 你想要…… | 去这里 |
|---|---|
| 在管理一支舰队之前,先把单个 agent 裹进一个持久的工作流引擎 | 从 Digital FTE 到生产级 Worker:Inngest 持久性外壳 |
| 把雇佣变成一项可调用的能力(在策略之下、agent 去雇别的 agent) | 从固定团队到动态团队:这门课的后续 |
| 从另一个 agent 内部,把 Paperclip 的 REST API 当作工具来用 | 去 docs.paperclip.ing 查当前的 MCP 服务器包;把版本钉死 |
| 把 Paperclip 部署到云上或一台共享主机 | docs.paperclip.ing 上的实时文档;在你依赖它之前,先核实已经发布了什么 |
| 把 OpenClaw 接成人与你的公司之间的边缘层 | OpenClaw 速成课 |
| 给你的 agent 一个真实的代码库去工作 | docs.paperclip.ing 上的 Execution Workspaces 指南:接上一个项目,让 agent 起草、编辑并运行真实代码 |
| 把你构建的那个 FTE(OpenAI Agents SDK,或任何自定义运行时)作为员工雇下来 | 带上你自己的 agent:用 http 适配器雇它;Paperclip 把工作 POST 给你的 agent,它再回调来关闭任务 |
| 把周期性的工作放上日程(一次每日站会、一份每周报告) | Paperclip 例程(cron 或 webhook 触发器);动态团队课 会构建它们 |
| 把整家公司随身带走 | 把它导出成一个可移植的 markdown 包,一个 COMPANY.md 加上每个角色一个 AGENT.md,就是你刚学会的那套简报模式,然后再导入或纳入版本控制 |
抽认卡学习辅助
知识检查
对你刚刚走过的那些想法做一次带门槛的快速自检。