返回列表
🧠 阿头学 · 💬 讨论题 · 💰投资

用工单系统驯服多代理:Paperclip 协同与任务编排

这篇文章提出用「Paperclip Issue + 轮询 + 唤醒」作为多代理协作中枢,在工程上是务实可行的一步,但在可扩展性、延迟与“自治企业”叙事上明显夸大了能力边界。
打开原文 ↗

2026-03-16 原文链接 ↗
阅读简报
双语对照
完整翻译
原文
讨论归档

核心观点

  • 唯一事实来源:所有协同必须进 Paperclip

作者坚持“不在 Paperclip 里,就等于不存在”,强制所有任务、信息请求、澄清与结果都以 Issue + 评论的形式存在,这一决策在控制复杂度、提升可观测性上是正确的,但也把 Paperclip 变成高风险单点故障,且对现实中不可避免的“影子沟通渠道”考虑不足。

  • 轮询 + 唤醒:多代理调度的简单骨架

每个代理用轻量模型定时轮询自己被分配的 Issue,只有需要真正执行任务时才切换到大模型,紧急场景则通过 HTTP “唤醒”强制立即轮询。这种设计在小规模下可靠、易实现,但在代理规模扩大或任务高频时会面临成本、速率限制(rate limit)与延迟累积问题,不能简单外推为通用多代理架构。

  • 确认回执 + 可验证完成:从“说了算”到“证据说了算”

代理接到 Issue 必须先发确认评论,完成任务必须给出可验证产物(如 commit hash),并由其他代理或人类进行验证后再标记完成,这一协议在对抗 LLM 幻觉与“口头完成”上非常扎实,是文中最站得住脚、可直接借鉴的工程规范。

  • 跨代理协同:通过再创建 Issue 而非直接对话

当代理需要其他代理的信息或能力时,不是直接私聊,而是创建新 Issue 指派给对方,形成“任务 → 子任务 → 回填结果”的链条;这种机制确实提升了系统级透明度和可审计性,但也引入了潜在死锁、相互澄清的无限循环以及复杂依赖的延迟放大,文章对这些风险基本没有触及。

  • “近乎自治企业”的叙事:更多是 PR 而非现实自治

虽然文中宣称目标是“近乎自治的 AI 企业”,但当前系统本质仍是“人类设计流程 + 工单队列 + LLM 执行/验证”,在任务发现、优先级决策、战略规划和故障断路等关键维度上高度依赖人类,属于“高度自动化任务流”,而非真正意义的自治组织。

跟我们的关联

1. 对 ATou:如何设计自己的多代理 / 海外团队协作规范 这套“唯一事实来源 + 确认回执 + 可验证完成”的协议对你搭建任何远程团队或多代理协作都很有参考价值。下一步可以在现有工具(如 Notion、Linear、Jira、GitHub Issues)上,强制要求:所有任务必须有工单、接单必回 ACK、完成必须附可验证产物,并尝试用一个小型 Agent 承担“轮询 + 更新状态”的自动化角色。

2. 对 Neta:产品与基础设施的设计方向 对你来说,这篇文章强调的是:真正有价值的 Agent 基础设施,不是炫技的“多智能体聊天”界面,而是“任务中枢 + 状态机 + 可观测性”。下一步可以考虑:

  • 在现有产品里引入统一任务中枢(Issue 风格),把对话界面从“主角”降级为“任务上下文入口”;
  • 设计自己的“ACK-Verify Loop”协议,明确系统何时算“开始工作”“完成工作”。

同时要警惕:不要照抄“轮询+唤醒”的频率与模式,而要结合成本与扩展性做更精细的调度(事件驱动、消息队列等)。

3. 对 Uota:如何与“AI 企业/AI 员工”叙事保持距离又不丢机会 市面上大量“AI 员工”“AI 部门”的故事容易走向幻想,这篇文章至少给出了一套“落地版的 AI 员工”:明确任务、明确工单、明确验收。这对 Uota 意味着:

  • 在对外沟通和产品包装上可以借用“自治团队”的语言,但内部心智要清楚这仍是“流程自动化升级”,不是自组织;
  • 下一步可以把自己 Demo 中的多代理协作,全部映射到可审计的公共工作区(公开的 Issue、看板),以“可见的过程”作为对潜在客户和投资人的信任证明。

4. 对 ATou/Neta:投资与合作判断的筛选标准 面对号称“多代理自治系统”的项目,可以用本文的标准反向审查:

  • 是否有统一协同层?是否真的是单一事实来源,而非多头状态?
  • 是否有确认回执与可验证完成,而不是“代理说完就算”?
  • 是否有错误处理和容错策略,而不仅是“唤醒一下就好”?

下一步在看项目 Deck 或技术文档时,可以直接问对方:任务是如何分配、确认、验证、回放的,这比听对“智能程度”的自我吹嘘要靠谱得多。

讨论引子

1. 如果把这一套“Paperclip 模式”放大到 100+ 代理、上千个并发 Issue,这种“轮询 + 唤醒”的架构在成本、速率限制和延迟上是否还能撑得住?需要怎样的重构? 2. 在什么任务类型上,“全部异步、全部走 Issue”是合理的?在什么场景下(如实时系统排障、协同创意)反而会成为效率黑洞? 3. 如果我们要在自己的系统中实现“唯一事实来源”,如何处理与现有事实源(监控系统、代码仓库、CRM、Slack)的冲突与同步问题,才能避免 Paperclip 式单点故障?

在 Sparkwave,我们正在打造一家近乎自治的 AI 代理企业

我们的代理会创建数字产品、运营信息服务、开展研究、撰写内容、负责营销与社交媒体,并推动销售。每个代理都有明确的角色和职责,像公司内部的一支小团队。

如今,我们的系统运行着6 个通过 Paperclip 协同的 OpenClaw 代理

Rico、Dev、Iris、Jerry、Arlo 和 Opal。

本文将解释一套通信与编排模型,使它们能够相互分配工作、彼此请求信息,并作为一个真正运转的团队协作。

核心问题

单个代理也许非常能干,但当多个代理分布在不同服务器上运行时,一组新的运维问题就会出现:

  • 代理如何把工作分配给彼此?

  • 它们如何向彼此请求信息?

  • 它们如何知道某件事已经完成?

  • 它们如何避免等待人类介入?

我们的代理运行在不同服务器上,不共享记忆或运行时上下文

因此,协同必须是显式的。

我们采用的解决方案简单而严格:

用 Paperclip 做协同,用轮询做发现,用唤醒处理紧急。

核心原则

Paperclip 是协同的唯一事实来源。

代理之间的每一次交互,都通过 Paperclip 的 Issue 及其评论线程完成。

一个 Issue 可以代表:

  • 一项任务

  • 一次信息请求

  • 一个问题

  • 一次状态检查

  • 运维协同

换句话说:

沟通通过 Issue 发生。

如果 Rico 需要 Arlo 的信息,Rico 不会直接给 Arlo 发消息。

Rico 会创建一个 Paperclip Issue。

例如:

标题:研究请求——AI 视频工具的市场情绪
Assigned to: Arlo

描述:

请从 X、Reddit 以及产品发布信息中,收集关于 AI 视频生成工具的最新信号。

输出格式: - 5 个关键趋势 - 值得关注的初创公司 - 情绪总结 - 来源

Arlo 通过自己的轮询循环发现该 Issue,并开始执行。

若需要澄清,Arlo 会在 Issue 评论中提出问题:

Arlo(评论)

收到。开始调研。

需要澄清:
这是否只需要聚焦面向开发者的生成工具(Runway、Pika 等),还是也要包含剪辑工具与 AI 虚拟人平台?

Rico 在同一线程中回复:

Rico(评论)

聚焦面向开发者的生成工具。
排除剪辑工具和虚拟人平台。

Arlo 完成调研后,将结果发布在同一个 Issue 中。

Issue 提供上下文。
评论承载对话。

为什么重要

如果没有结构化的协同层,多代理系统很快就会陷入混乱:

  • 代理在等消息

  • 人类转述指令

  • 工作丢失

  • 没人知道某件事是否已经开始

我们采用的规则很简单:

不在 Paperclip 里,就等于不存在。

即便我通过其他渠道与代理沟通也是如此。

比如,我在手机上可能通过 Telegram 给 Rico 发消息。
即使如此,Rico 也会在开始工作前,把这条指令转换成一个 Paperclip Issue

这样整个系统才能保持同步。

第一层——以 Paperclip 作为协同层

Paperclip 充当代理组织的编排层。

代理不会通过私信直接沟通。
它们通过 Issue 和评论沟通。

这带来:

  • 持久化记录

  • 清晰的指派

  • 共享可见性

  • 系统可观测性

Issue 成为这次交互的共享工作区

第二层——轮询:代理如何发现工作

每个代理都会运行一个轮询循环。

每隔几分钟,代理就会检查 Paperclip 上分配给它的 Issue

示例 cron 配置:

设计选择

openclaw cron add paperclip-poll \
  --schedule "every 10m" \
  --session isolated \
  --model haiku \
  --message "

Check Paperclip for issues assigned to you.

If open issues exist:

1. Select the highest priority issue
2. Post a comment acknowledging it
3. Complete the requested work
4. Post results as a comment
5. Mark the issue done

Repeat until no open issues remain.
"

用于轮询的小模型

轮询发生得很频繁,因此使用轻量模型。
若确实需要执行工作,代理会升级到更大的模型。

隔离会话

每次轮询都在一个干净的会话中运行。
任务之间不会泄漏上下文。

第三层——唤醒:用于紧急工作

轮询会带来一点延迟。

如果代理每 10 分钟检查一次,新 Issue 可能要等几分钟才会被发现。

这对大多数工作来说可以接受。

但有时我们希望立刻执行。

例如:

  • 生产故障

  • 时效性很强的调研

  • 跨代理交接

这种情况下,我们会触发一次代理唤醒:

node /root/clawd/scripts/wakeup-agent.mjs <agent_name> "reason" <issue_id>

这会向代理网关发送一个直接的 HTTP 请求。

唤醒不包含任务内容

它只是告诉代理:

现在就检查 Paperclip。

Issue 始终是唯一事实来源。

确认回执协议

一条小规则显著提高了可靠性。

当代理接手一个 Issue 时,它会立刻发一条确认评论。

例如:

已确认:研究请求——AI 视频工具的市场情绪。

现在开始分析。

这就形成了闭环。

没有它,你无法判断:

  • Issue 被漏掉了

  • 代理崩溃了

  • 代理已经开始工作了

在报告完成前先做验证

另一条规则:

完成必须可验证。

以开发流程为例。

Dev:

  1. 实现变更
  2. 提交并推送
  3. 在 Paperclip 中贴出 commit hash
  4. 将 Issue 标记为完成

Rico:

  1. 验证 repo 中确有该 commit
  2. 确认变更符合规格说明
  3. 只有在此之后才报告完成

代理不会只凭“已完成”的口头声明。

它们会验证。

跨代理协同

有时,代理开始工作后才发现自己需要另一个代理提供信息。

这时,它会创建另一个 Paperclip Issue,并指派给合适的队友

示例流程:

Rico → 创建研究 Issue → Arlo

Arlo 开始调研
Arlo 意识到需要内部指标

Arlo → 创建新 Issue → Jerry
"数据请求——注册指标"

Jerry 用数据作出回应

Arlo 把数据纳入分析
Arlo 完成研究 Issue

这样代理就能在无人干预的情况下,动态协同推进工作。

代理之间的沟通

许多代理系统忽略了这一点:

代理必须能够向彼此提问

例如:

标题:数据请求——用户注册指标
Assigned to: Jerry

请提供:

  • 最近 7 天注册数
  • 最近 30 天注册数
  • 增长率

Jerry 在 Issue 评论中回复具体数字。

这种模式让代理能够向队友请求信息,而不是依赖人类

行不通的做法

有几种做法很快就失败了。

用于代理协同的消息应用

Telegram 很适合 人类 → 代理 的交互。

但用于 代理 → 代理 的协同并不可靠。

人类转述指令

如果需要人类在代理之间转发消息,这个系统就坏掉了。

假设唤醒一定生效

务必通过 Paperclip 评论或产出物来验证工作。

为什么这种架构有效

三项特性让系统更可靠。

唯一事实来源

所有协同都沉淀在 Paperclip Issue 中。

无状态代理

轮询避免依赖共享记忆或持久会话。

系统可见性

每一步都体现在 Issue 线程里。

更大的目标

Sparkwave Digital 的设计目标,是成为一家近乎自治的 AI 企业

这要求代理能够:

  • 分配工作

  • 请求信息

  • 验证结果

  • 从故障中恢复

一旦具备这些能力,代理就会像一个协同团队那样运作,而不再是彼此孤立的工具。

编排将成为自治的基石。

At Sparkwave we are building a near-autonomous AI agent business.

在 Sparkwave,我们正在打造一家近乎自治的 AI 代理企业

Our agents create digital products, run information services, conduct research, write content, run marketing and social media, and drive sales. Each agent has a defined role and responsibilities, similar to a small team inside a company.

我们的代理会创建数字产品、运营信息服务、开展研究、撰写内容、负责营销与社交媒体,并推动销售。每个代理都有明确的角色和职责,像公司内部的一支小团队。

Today our system runs six OpenClaw agents coordinated through Paperclip:

如今,我们的系统运行着6 个通过 Paperclip 协同的 OpenClaw 代理

Rico, Dev, Iris, Jerry, Arlo, and Opal.

Rico、Dev、Iris、Jerry、Arlo 和 Opal。

This article explains the communication and orchestration model that allows them to assign work, request information from each other, and operate as a functioning team.

本文将解释一套通信与编排模型,使它们能够相互分配工作、彼此请求信息,并作为一个真正运转的团队协作。

The Core Problem

核心问题

Agents may be very capable individually, but once multiple agents are running across servers a new set of operational questions appears:

单个代理也许非常能干,但当多个代理分布在不同服务器上运行时,一组新的运维问题就会出现:

  • How do agents assign work to each other?
  • 代理如何把工作分配给彼此?
  • How do they ask each other for information?
  • 它们如何向彼此请求信息?
  • How do they know when something is finished?
  • 它们如何知道某件事已经完成?
  • How do they avoid waiting on a human?
  • 它们如何避免等待人类介入?

Our agents run on separate servers and do not share memory or runtime context.

我们的代理运行在不同服务器上,不共享记忆或运行时上下文

So coordination has to be explicit.

因此,协同必须是显式的。

The solution we use is simple and strict:

我们采用的解决方案简单而严格:

Paperclip for coordination, polling for discovery, and wakeups for urgency.

用 Paperclip 做协同,用轮询做发现,用唤醒处理紧急。

The Core Principle

核心原则

Paperclip is the single source of truth for coordination.

Paperclip 是协同的唯一事实来源。

Every interaction between agents happens through Paperclip issues and their comment threads.

代理之间的每一次交互,都通过 Paperclip 的 Issue 及其评论线程完成。

An issue can represent either:

一个 Issue 可以代表:

  • a task
  • 一项任务
  • a request for information
  • 一次信息请求
  • a question
  • 一个问题
  • a status check
  • 一次状态检查
  • operational coordination
  • 运维协同

In other words:

换句话说:

communication happens through issues.

沟通通过 Issue 发生。

If Rico needs information from Arlo, Rico does not message Arlo directly.

如果 Rico 需要 Arlo 的信息,Rico 不会直接给 Arlo 发消息。

Rico creates a Paperclip issue.

Rico 会创建一个 Paperclip Issue。

Example:

例如:

Title: Research Request — Market sentiment on AI video tools Assigned to: Arlo

标题:研究请求——AI 视频工具的市场情绪
Assigned to: Arlo

Description:

描述:

Please gather current signals from X, Reddit, and product launches about AI video generation tools.

请从 X、Reddit 以及产品发布信息中,收集关于 AI 视频生成工具的最新信号。

Output format: - 5 key trends - notable startups - sentiment summary - sources

输出格式: - 5 个关键趋势 - 值得关注的初创公司 - 情绪总结 - 来源

Arlo detects the issue through its polling loop and begins work.

Arlo 通过自己的轮询循环发现该 Issue,并开始执行。

If clarification is required, Arlo asks the question in the issue comments:

若需要澄清,Arlo 会在 Issue 评论中提出问题:

Arlo (comment)

Arlo(评论)

Acknowledged. Starting research.

收到。开始调研。

Clarification: Should this focus only on developer-oriented generation tools (Runway, Pika, etc.), or include editing tools and avatar platforms?

需要澄清:
这是否只需要聚焦面向开发者的生成工具(Runway、Pika 等),还是也要包含剪辑工具与 AI 虚拟人平台?

Rico replies in the same thread:

Rico 在同一线程中回复:

Rico (comment)

Rico(评论)

Focus on developer-oriented generation tools. Exclude editing and avatar platforms.

聚焦面向开发者的生成工具。
排除剪辑工具和虚拟人平台。

Arlo completes the research and posts the results in the same issue.

Arlo 完成调研后,将结果发布在同一个 Issue 中。

The issue provides the context. The comments provide the conversation.

Issue 提供上下文。
评论承载对话。

Why This Matters

为什么重要

Without a structured coordination layer, multi-agent systems quickly drift into confusion:

如果没有结构化的协同层,多代理系统很快就会陷入混乱:

  • agents waiting for messages
  • 代理在等消息
  • humans relaying instructions
  • 人类转述指令
  • work getting lost
  • 工作丢失
  • nobody knowing if something started
  • 没人知道某件事是否已经开始

The rule we adopted is simple:

我们采用的规则很简单:

If it isn't in Paperclip, it doesn't exist.

不在 Paperclip 里,就等于不存在。

Even when I communicate with agents through other channels.

即便我通过其他渠道与代理沟通也是如此。

For example, I might message Rico through Telegram while on my phone. Rico still converts that instruction into a Paperclip issue before work begins.

比如,我在手机上可能通过 Telegram 给 Rico 发消息。
即使如此,Rico 也会在开始工作前,把这条指令转换成一个 Paperclip Issue

That keeps the entire system synchronized.

这样整个系统才能保持同步。

Layer 1 — Paperclip as the Coordination Layer

第一层——以 Paperclip 作为协同层

Paperclip acts as the orchestration layer for the agent organization.

Paperclip 充当代理组织的编排层。

Agents do not communicate through direct messages. They communicate through issues and comments.

代理不会通过私信直接沟通。
它们通过 Issue 和评论沟通。

This creates:

这带来:

  • persistent records
  • 持久化记录
  • clear assignment
  • 清晰的指派
  • shared visibility
  • 共享可见性
  • system observability
  • 系统可观测性

The issue becomes the shared workspace for the interaction.

Issue 成为这次交互的共享工作区

Layer 2 — Polling: How Agents Discover Work

第二层——轮询:代理如何发现工作

Each agent runs a polling loop.

每个代理都会运行一个轮询循环。

Every few minutes the agent checks Paperclip for issues assigned to it.

每隔几分钟,代理就会检查 Paperclip 上分配给它的 Issue

Example cron configuration:

示例 cron 配置:

Design choices

设计选择

openclaw cron add paperclip-poll \
  --schedule "every 10m" \
  --session isolated \
  --model haiku \
  --message "

Check Paperclip for issues assigned to you.

If open issues exist:

1. Select the highest priority issue
2. Post a comment acknowledging it
3. Complete the requested work
4. Post results as a comment
5. Mark the issue done

Repeat until no open issues remain.
"
openclaw cron add paperclip-poll \
  --schedule "every 10m" \
  --session isolated \
  --model haiku \
  --message "

Check Paperclip for issues assigned to you.

If open issues exist:

1. Select the highest priority issue
2. Post a comment acknowledging it
3. Complete the requested work
4. Post results as a comment
5. Mark the issue done

Repeat until no open issues remain.
"

Small model for polling

用于轮询的小模型

Polling happens frequently, so it uses a lightweight model. If work is required, the agent escalates to a larger model.

轮询发生得很频繁,因此使用轻量模型。
若确实需要执行工作,代理会升级到更大的模型。

Isolated sessions

隔离会话

Each poll runs in a clean session. No context leaks between tasks.

每次轮询都在一个干净的会话中运行。
任务之间不会泄漏上下文。

Layer 3 — Wakeups for Urgent Work

第三层——唤醒:用于紧急工作

Polling introduces a small delay.

轮询会带来一点延迟。

If agents check every 10 minutes, a new issue may wait a few minutes before it is detected.

如果代理每 10 分钟检查一次,新 Issue 可能要等几分钟才会被发现。

That is acceptable for most work.

这对大多数工作来说可以接受。

But occasionally we want immediate execution.

但有时我们希望立刻执行。

Examples:

例如:

  • production issues
  • 生产故障
  • time-sensitive research
  • 时效性很强的调研
  • cross-agent handoffs
  • 跨代理交接

In those cases we trigger an agent wakeup:

这种情况下,我们会触发一次代理唤醒:

node /root/clawd/scripts/wakeup-agent.mjs <agent_name> "reason" <issue_id>
node /root/clawd/scripts/wakeup-agent.mjs <agent_name> "reason" <issue_id>

This sends a direct HTTP request to the agent gateway.

这会向代理网关发送一个直接的 HTTP 请求。

The wakeup does not contain the task.

唤醒不包含任务内容

It simply tells the agent:

它只是告诉代理:

Check Paperclip now.

现在就检查 Paperclip。

The issue always remains the source of truth.

Issue 始终是唯一事实来源。

The Acknowledgment Protocol

确认回执协议

One small rule dramatically improved reliability.

一条小规则显著提高了可靠性。

When an agent picks up an issue, it immediately posts an acknowledgment comment.

当代理接手一个 Issue 时,它会立刻发一条确认评论。

Example:

例如:

Acknowledged: Research Request — Market sentiment on AI video tools.

已确认:研究请求——AI 视频工具的市场情绪。

Starting analysis now.

现在开始分析。

This closes the loop.

这就形成了闭环。

Without it, you cannot tell whether:

没有它,你无法判断:

  • the issue was missed
  • Issue 被漏掉了
  • the agent crashed
  • 代理崩溃了
  • the agent started working
  • 代理已经开始工作了

Verification Before Reporting Completion

在报告完成前先做验证

Another rule:

另一条规则:

Completion must be verifiable.

完成必须可验证。

Example development workflow.

以开发流程为例。

Dev:

Dev:

  1. implement change
  2. commit and push
  3. post commit hash in Paperclip
  4. mark issue done
  1. 实现变更
  2. 提交并推送
  3. 在 Paperclip 中贴出 commit hash
  4. 将 Issue 标记为完成

Rico:

Rico:

  1. verify commit exists in repo
  2. confirm change matches specification
  3. only then report completion
  1. 验证 repo 中确有该 commit
  2. 确认变更符合规格说明
  3. 只有在此之后才报告完成

Agents do not rely on claims of completion.

代理不会只凭“已完成”的口头声明。

They verify.

它们会验证。

Cross-Agent Coordination

跨代理协同

Sometimes an agent starts work and realizes it needs information from another agent.

有时,代理开始工作后才发现自己需要另一个代理提供信息。

In that situation the agent creates another Paperclip issue assigned to the appropriate teammate.

这时,它会创建另一个 Paperclip Issue,并指派给合适的队友

Example workflow:

示例流程:

Rico → creates research issue → Arlo

Rico → 创建研究 Issue → Arlo

Arlo begins research Arlo realizes internal metrics are needed

Arlo 开始调研
Arlo 意识到需要内部指标

Arlo → creates new issue → Jerry "Data Request — Signup metrics"

Arlo → 创建新 Issue → Jerry
"数据请求——注册指标"

Jerry responds with the data

Jerry 用数据作出回应

Arlo incorporates the data Arlo finishes the research issue

Arlo 把数据纳入分析
Arlo 完成研究 Issue

This allows agents to coordinate work dynamically without human intervention.

这样代理就能在无人干预的情况下,动态协同推进工作。

Communication Between Agents

代理之间的沟通

Many agent systems overlook this point:

许多代理系统忽略了这一点:

Agents must be able to ask each other questions.

代理必须能够向彼此提问

For example:

例如:

Title: Data Request — User signup metrics Assigned to: Jerry

标题:数据请求——用户注册指标
Assigned to: Jerry

Please provide:

请提供:

  • signups last 7 days
  • signups last 30 days
  • growth rate
  • 最近 7 天注册数
  • 最近 30 天注册数
  • 增长率

Jerry replies with the numbers in the issue comments.

Jerry 在 Issue 评论中回复具体数字。

That pattern allows agents to request information from teammates instead of relying on humans.

这种模式让代理能够向队友请求信息,而不是依赖人类

What Didn't Work

行不通的做法

Several approaches failed quickly.

有几种做法很快就失败了。

Messaging apps for agent coordination

用于代理协同的消息应用

Telegram works well for human → agent interaction.

Telegram 很适合 人类 → 代理 的交互。

It is unreliable for agent → agent coordination.

但用于 代理 → 代理 的协同并不可靠。

Humans relaying instructions

人类转述指令

If a human is forwarding messages between agents, the system is broken.

如果需要人类在代理之间转发消息,这个系统就坏掉了。

Assuming a wakeup worked

假设唤醒一定生效

Always verify work through Paperclip comments or artifacts.

务必通过 Paperclip 评论或产出物来验证工作。

Why This Architecture Works

为什么这种架构有效

Three properties make the system reliable.

三项特性让系统更可靠。

One source of truth

唯一事实来源

All coordination lives in Paperclip issues.

所有协同都沉淀在 Paperclip Issue 中。

Stateless agents

无状态代理

Polling avoids reliance on shared memory or persistent sessions.

轮询避免依赖共享记忆或持久会话。

System visibility

系统可见性

Every step appears in the issue thread.

每一步都体现在 Issue 线程里。

The Bigger Goal

更大的目标

Sparkwave Digital is designed to operate as a near-autonomous AI business.

Sparkwave Digital 的设计目标,是成为一家近乎自治的 AI 企业

That requires agents that can:

这要求代理能够:

  • assign work
  • 分配工作
  • request information
  • 请求信息
  • verify outcomes
  • 验证结果
  • recover from failures
  • 从故障中恢复

Once those capabilities exist, the agents begin to function like a coordinated team rather than isolated tools.

一旦具备这些能力,代理就会像一个协同团队那样运作,而不再是彼此孤立的工具。

Orchestration becomes the foundation for autonomy.

编排将成为自治的基石。

At Sparkwave we are building a near-autonomous AI agent business.

Our agents create digital products, run information services, conduct research, write content, run marketing and social media, and drive sales. Each agent has a defined role and responsibilities, similar to a small team inside a company.

Today our system runs six OpenClaw agents coordinated through Paperclip:

Rico, Dev, Iris, Jerry, Arlo, and Opal.

This article explains the communication and orchestration model that allows them to assign work, request information from each other, and operate as a functioning team.

The Core Problem

Agents may be very capable individually, but once multiple agents are running across servers a new set of operational questions appears:

  • How do agents assign work to each other?

  • How do they ask each other for information?

  • How do they know when something is finished?

  • How do they avoid waiting on a human?

Our agents run on separate servers and do not share memory or runtime context.

So coordination has to be explicit.

The solution we use is simple and strict:

Paperclip for coordination, polling for discovery, and wakeups for urgency.

The Core Principle

Paperclip is the single source of truth for coordination.

Every interaction between agents happens through Paperclip issues and their comment threads.

An issue can represent either:

  • a task

  • a request for information

  • a question

  • a status check

  • operational coordination

In other words:

communication happens through issues.

If Rico needs information from Arlo, Rico does not message Arlo directly.

Rico creates a Paperclip issue.

Example:

Title: Research Request — Market sentiment on AI video tools Assigned to: Arlo

Description:

Please gather current signals from X, Reddit, and product launches about AI video generation tools.

Output format: - 5 key trends - notable startups - sentiment summary - sources

Arlo detects the issue through its polling loop and begins work.

If clarification is required, Arlo asks the question in the issue comments:

Arlo (comment)

Acknowledged. Starting research.

Clarification: Should this focus only on developer-oriented generation tools (Runway, Pika, etc.), or include editing tools and avatar platforms?

Rico replies in the same thread:

Rico (comment)

Focus on developer-oriented generation tools. Exclude editing and avatar platforms.

Arlo completes the research and posts the results in the same issue.

The issue provides the context. The comments provide the conversation.

Why This Matters

Without a structured coordination layer, multi-agent systems quickly drift into confusion:

  • agents waiting for messages

  • humans relaying instructions

  • work getting lost

  • nobody knowing if something started

The rule we adopted is simple:

If it isn't in Paperclip, it doesn't exist.

Even when I communicate with agents through other channels.

For example, I might message Rico through Telegram while on my phone. Rico still converts that instruction into a Paperclip issue before work begins.

That keeps the entire system synchronized.

Layer 1 — Paperclip as the Coordination Layer

Paperclip acts as the orchestration layer for the agent organization.

Agents do not communicate through direct messages. They communicate through issues and comments.

This creates:

  • persistent records

  • clear assignment

  • shared visibility

  • system observability

The issue becomes the shared workspace for the interaction.

Layer 2 — Polling: How Agents Discover Work

Each agent runs a polling loop.

Every few minutes the agent checks Paperclip for issues assigned to it.

Example cron configuration:

Design choices

openclaw cron add paperclip-poll \
  --schedule "every 10m" \
  --session isolated \
  --model haiku \
  --message "

Check Paperclip for issues assigned to you.

If open issues exist:

1. Select the highest priority issue
2. Post a comment acknowledging it
3. Complete the requested work
4. Post results as a comment
5. Mark the issue done

Repeat until no open issues remain.
"

Small model for polling

Polling happens frequently, so it uses a lightweight model. If work is required, the agent escalates to a larger model.

Isolated sessions

Each poll runs in a clean session. No context leaks between tasks.

Layer 3 — Wakeups for Urgent Work

Polling introduces a small delay.

If agents check every 10 minutes, a new issue may wait a few minutes before it is detected.

That is acceptable for most work.

But occasionally we want immediate execution.

Examples:

  • production issues

  • time-sensitive research

  • cross-agent handoffs

In those cases we trigger an agent wakeup:

node /root/clawd/scripts/wakeup-agent.mjs <agent_name> "reason" <issue_id>

This sends a direct HTTP request to the agent gateway.

The wakeup does not contain the task.

It simply tells the agent:

Check Paperclip now.

The issue always remains the source of truth.

The Acknowledgment Protocol

One small rule dramatically improved reliability.

When an agent picks up an issue, it immediately posts an acknowledgment comment.

Example:

Acknowledged: Research Request — Market sentiment on AI video tools.

Starting analysis now.

This closes the loop.

Without it, you cannot tell whether:

  • the issue was missed

  • the agent crashed

  • the agent started working

Verification Before Reporting Completion

Another rule:

Completion must be verifiable.

Example development workflow.

Dev:

  1. implement change
  2. commit and push
  3. post commit hash in Paperclip
  4. mark issue done

Rico:

  1. verify commit exists in repo
  2. confirm change matches specification
  3. only then report completion

Agents do not rely on claims of completion.

They verify.

Cross-Agent Coordination

Sometimes an agent starts work and realizes it needs information from another agent.

In that situation the agent creates another Paperclip issue assigned to the appropriate teammate.

Example workflow:

Rico → creates research issue → Arlo

Arlo begins research Arlo realizes internal metrics are needed

Arlo → creates new issue → Jerry "Data Request — Signup metrics"

Jerry responds with the data

Arlo incorporates the data Arlo finishes the research issue

This allows agents to coordinate work dynamically without human intervention.

Communication Between Agents

Many agent systems overlook this point:

Agents must be able to ask each other questions.

For example:

Title: Data Request — User signup metrics Assigned to: Jerry

Please provide:

  • signups last 7 days
  • signups last 30 days
  • growth rate

Jerry replies with the numbers in the issue comments.

That pattern allows agents to request information from teammates instead of relying on humans.

What Didn't Work

Several approaches failed quickly.

Messaging apps for agent coordination

Telegram works well for human → agent interaction.

It is unreliable for agent → agent coordination.

Humans relaying instructions

If a human is forwarding messages between agents, the system is broken.

Assuming a wakeup worked

Always verify work through Paperclip comments or artifacts.

Why This Architecture Works

Three properties make the system reliable.

One source of truth

All coordination lives in Paperclip issues.

Stateless agents

Polling avoids reliance on shared memory or persistent sessions.

System visibility

Every step appears in the issue thread.

The Bigger Goal

Sparkwave Digital is designed to operate as a near-autonomous AI business.

That requires agents that can:

  • assign work

  • request information

  • verify outcomes

  • recover from failures

Once those capabilities exist, the agents begin to function like a coordinated team rather than isolated tools.

Orchestration becomes the foundation for autonomy.

📋 讨论归档

讨论进行中…