原作者:m4lka(@m4lkxx)
原文:Grok Bot: 6 Bots, 200+ Agents, a Smaller Bill (Full Setup)
本文是对原文的中文梳理与延伸分析,不是全文转载或逐段翻译。原文的完整角色提示词、配图和产品操作步骤请通过上方链接阅读。
给一个 Bot 接上邮箱、代码仓库、日历和知识库之后,很容易继续把所有任务都交给它。任务逐渐增多时,问题也会一起出现:不同领域的规则混在同一段会话里,工作完成与否依赖人工判断,后台任务不断运行,却难以说明这些运行带来了什么结果。
m4lka 这篇文章关注的,就是如何把这些零散的能力组织成一套可管理的协作系统。文章以 Grok Bot 的使用经验为背景,讨论角色划分、任务交接、验收、自动化、记忆与成本。下面先梳理原文的方法,再给出一个面向个人项目的落地示例。
一、先把六个席位的职责讲清楚
原文给出的参考团队包含六个席位,其中有两名领域专家。它们承担不同的责任:
| 角色 | 主要职责 | 交付给下一环节的东西 |
|---|---|---|
| CHIEF:统一入口 | 理解请求、指定负责人、协调跨领域任务、汇总结果 | 明确的目标、分工与当前状态 |
| OPS:运行管理 | 维护任务板、检查阻塞、组织例行回顾、整理工作规则 | 待处理问题、负责人和改进事项 |
| CHECKER:独立验收 | 对照原始目标与证据判断结果是否合格 | 验收结论,以及具体未满足的条件 |
| SPECIALIST:领域专家一 | 处理一个稳定领域内的工作 | 该领域的产物与验证材料 |
| SPECIALIST:领域专家二 | 处理另一个需要独立上下文的领域 | 该领域的产物与验证材料 |
| MISC:杂项入口 | 承接暂时没有固定归属的一次性请求 | 小任务结果,或值得固化为技能的需求 |
这个划分的价值在于减少职责重叠。统一入口知道应当找谁,管理者知道哪里卡住,检查者知道用什么标准验收,执行者则能保持自己的专业上下文。
六个席位是一种参考组织方式,实际配置可以更小。 判断是否需要新 Agent,可以先看它是否长期处理一个独立领域,是否需要自己的上下文、权限或运行安排。如果只是在同一领域里增加一种可复用操作,做成技能或脚本往往就够了。
二、任务需要留下状态和证据
角色齐全之后,还需要一个能保存工作状态的地方。原文强调用任务板承载进度,避免决策与交接信息随着聊天记录滚动而丢失。
一张任务卡至少应回答四个问题:要交付什么、谁负责、目前处于什么阶段、满足什么条件才能结束。状态可以覆盖待处理、执行中、阻塞、待验收和完成,但真正起作用的是状态变化背后的规则。
例如,进入“待验收”应当附带产物和证据;进入“阻塞”应写清缺少的输入、权限或决策;进入“完成”则意味着约定的验收条件已经满足。这样,看到任务卡的人能够接着工作,不必重新阅读整段讨论。
交接也应尽量精简。下一个执行者通常需要目标、产物位置、已经做出的决定、尚未解决的问题,以及接下来允许做什么。把这些信息整理成短说明,比直接转发大量聊天更容易检查,也减少了重复读取无关内容的机会。
三、验收标准要先于“完成”结论
原文把独立检查者放在重要位置:执行者容易沿着自己的假设解释结果,而检查者应重新对照用户最初的目标。
编程任务可以提供测试输出、构建结果、运行中的页面或前后对比;写作任务则可以检查出处、事实归属、链接和结构。检查失败时,应明确指出哪项条件没有满足、看到了什么问题、需要补什么材料。仅仅说“再优化一下”,很难形成有效的下一步。
这里还需要区分两类结果:
- 产物已经准备好:代码、文章或回复已经形成,可以审阅。
- 外部动作已经完成:内容已发布、消息已发出,或生产系统已发生变化。
两者可以设置不同的权限边界。研究、整理和准备产物通常可以推进到可检查的结果;涉及外部发送、资金、权限或重要数据的动作,则应结合明确授权和实际影响处理。
我的理解是,独立验收主要改变了“谁来判断完成”,它仍然需要真实证据作为依据。多加一个检查者,并不能弥补来源缺失、测试环境不对,或者验收目标本身含糊的问题。
四、记忆应保存稳定规则,业务状态要重新查询
原文区分了几种容易混在一起的信息:角色说明、可复用技能、长期记忆、实时业务来源,以及当前任务状态。
可以把它们理解成不同的存放位置:
| 信息 | 更适合放在哪里 |
|---|---|
| 职责范围、硬性约束、验收要求 | 角色说明与明确规则 |
| 已经跑通的重复流程 | 技能、脚本或操作手册 |
| 稳定的偏好、术语与长期决定 | 带有来源的长期记忆 |
| 当前价格、权限、负责人、任务状态 | 执行前查询的实时来源 |
| 本轮做到哪里、下一步是什么 | 任务板和交接记录 |
这种区分能减少一种常见错误:把会变化的事实当成长期知识。例如,某个账号上周拥有的权限,不能证明它今天仍然有权限;某个任务昨天的负责人,也可能已经变更。
当同一个错误反复出现时,原文建议先检查工具、权限或流程是否存在根本问题,再考虑增加检查、固化技能与规则。值得留下的规则应当能够跨场景使用,而不只是记录某天发生过的一次事故。
另外,多个角色如果共享同一台运行环境和同一份登录状态,角色名称本身不会形成可靠的安全隔离。这一点需要在真正的凭据、权限与运行环境层面处理。
五、成本先从触发和上下文查起
原文列举了多类用量浪费。可以把它们归并为下面四组来检查。
1. 不必要的启动
定时任务即使没有发现变化,也可能已经消耗了一轮执行。应先检查是否真的需要高频运行,能否由更明确的事件触发,或者先比较一个轻量信号,再决定是否展开完整任务。
例如,先看最近更新时间、提交标识或待办数量;只有信号改变时,才读取更大的内容并调用后续工具。“检查一下有没有变化”应有清晰的停止条件,避免检查过程中顺便探索更多页面。
2. 不必要的历史
把日常长聊天与周期性任务放在一起,会让后台工作携带越来越多无关上下文。原文因此建议关注长会话、周期任务的运行上下文,以及能否先保存必要状态,再开始一次更聚焦的执行。
这里需要保留的是决策、产物与下一步,而不是机械保留全部历史。具体平台怎样复制会话、压缩上下文或使用缓存,应以该平台当前的能力为准。
3. 不必要的通信和搜索
群聊里每个 Agent 都响应每条消息,或者不同 Agent 在没有新进展时反复交接,都可能扩大工作量。统一入口、明确负责人和简短交接能够限制这种扩散。
请求本身也应给出足够准确的定位信息。已经知道工单编号或文章链接时,就直接使用它;监听规则也应限定到真正相关的事件。能够精确调用的接口或连接器,通常比反复浏览和搜索更容易控制范围。
4. 不必要的模型参与
格式转换、固定条件判断、计数、去重和批量筛选等确定性步骤,可以优先考虑脚本。模型仍然负责需要理解、取舍和表达的部分,但不必逐项推理所有机械操作。
同样,增加一个新功能也不必然意味着增加一个长期运行的 Bot。还应检查已归档角色是否残留定时任务,以及测试运行、人工触发和后台运行之间是否重复执行了同一项工作。
六、怎样看待原文中的节省数字
原文引用了作者和其他使用者分享的用量比例、任务数量与费用估算。这些案例能够提出值得检查的方向,但本文没有独立复核它们,也不应据此承诺某个项目能节省同样的比例。
尤其需要分清:Token 数量、缓存读取量、调用次数、套餐额度和实际费用,可能是不同的指标。某一类输入占比很高,不代表它占据了相同比例的账单;用 API 单价推算的结果,也不能直接当作订阅产品的实际费用。
更稳妥的验证方式,是先保存自己的基线,再一次改变一个因素。除了用量和费用,还要同时观察交付数量、验收通过率与人工介入次数。减少无效运行之后,任务仍能及时、正确地完成,才算有意义的改进。
七、延伸分析:把它用在个人知识博客上
下面这个例子是本文的落地设计,用来说明如何把上述方法变成一条可检查的流程,并非原文提供的完整配置。
假设输入是一篇外部技术文章,目标是形成一篇有出处的中文阅读笔记:
- 统一入口确认处理范围、内容形式与发布目的,先判断是否已有重复文章。
- 阅读与写作角色整理原文观点,把自行补充的分析单独标明,并生成带出处的正文。
- 检查环节核对作者、原文链接、事实归属、示例说明与前台排版。
- 发布环节使用博客已有接口或管理后台,并记录文章 ID、链接和发布结果。
- 后续修改继续更新同一篇文章,保留版本;来源打不开或内容不完整时,记录阻塞原因。
一张任务卡可以写成这样:
这条流程起步时可以由一个执行者和人工检查共同完成。重复次数增加后,再把去重、字段校验和发布后检查固化为脚本;当不同领域需要长期独立上下文时,再增加专门角色;最后才考虑无人值守的周期运行。
原文最值得带走的,是让每次执行都具有清晰的职责、可恢复的状态和可检查的结果。这样既能解释工作为什么完成,也能在用量增加时,知道应该从哪里开始排查。