OpenClaw 部署指南:https://www.azman.cn/

平台永久地址:www.azman.cn/

温馨提示: 本站内容精选自优质公开渠道,仅供分享与交流。我们尊重原创,如涉及版权问题,请权利方及时与我们联系,我们将在核实后第一时间处理。感谢您的理解与支持!

从零构建AI编程Agent:沟通协议

*”队友之间要有统一的沟通规矩”* — 一个 request-response 模式驱动所有协商。

PART 01问题

队友能干活能通信, 但缺少结构化协调:

关机: 直接杀线程会留下写了一半的文件和过期的 config.json。需要握手 — 领导请求, 队友批准 (收尾退出) 或拒绝 (继续干)。

计划审批: 领导说 “重构认证模块”, 队友立刻开干。高风险变更应该先过审。

两者结构一样: 一方发带唯一 ID 的请求, 另一方引用同一 ID 响应。

PART 02解决方案

Shutdown Protocol            Plan Approval Protocol==================           ======================Lead             Teammate    Teammate           Lead  |                 |           |                 |  |--shutdown_req-->|           |--plan_req------>|  | {req_id:"abc"}  |           | {req_id:"xyz"}  |  |                 |           |                 |  |<--shutdown_resp-|           |<--plan_resp-----|  | {req_id:"abc",  |           | {req_id:"xyz",  |  |  approve:true}  |           |  approve:true}  |Shared FSM:  [pending] --approve--> [approved]  [pending] --reject---> [rejected]Trackers:  shutdown_requests = {req_id: {target, status}}  plan_requests     = {req_id: {from, plan, status}}

PART 03工作原理

1.领导生成 request_id, 通过收件箱发起关机请求。

shutdown_requests = {}def handle_shutdown_request(teammate: str) -> str:    req_id = str(uuid.uuid4())[:8]    shutdown_requests[req_id] = {"target": teammate, "status""pending"}    BUS.send("lead", teammate, "Please shut down gracefully.",             "shutdown_request", {"request_id": req_id})    return f"Shutdown request {req_id} sent (status: pending)"


2.队友收到请求后, 用 approve/reject 响应。


if tool_name == "shutdown_response":    req_id = args["request_id"]    approve = args["approve"]    shutdown_requests[req_id]["status"] = "approved" if approve else "rejected"    BUS.send(sender, "lead"args.get("reason"""),             "shutdown_response",             {"request_id": req_id, "approve": approve})


3.计划审批遵循完全相同的模式。队友提交计划 (生成 request_id), 领导审查 (引用同一个 request_id)。

plan_requests = {}def handle_plan_review(request_id, approve, feedback=""):    req = plan_requests[request_id]    req["status"] = "approved" if approve else "rejected"    BUS.send("lead", req["from"], feedback,             "plan_approval_response",             {"request_id": request_id, "approve": approve})



一个 FSM, 两种用途。同样的 pending -> approved | rejected 状态机可以套用到任何请求-响应协议上。

PART 04相对 s09 的变更

组件
之前 (s09)
之后 (s10)
Tools
9
12 (+shutdown_req/resp +plan)
关机
仅自然退出
请求-响应握手
计划门控
提交/审查与审批
关联
每个请求一个 request_id
FSM
pending -> approved/rejected

PART 05试一试


试试这些 prompt (英文 prompt 对 LLM 效果更好, 也可以用中文):

1.Spawn alice as a coder. Then request her shutdown.

2.List teammates to see alice's status after shutdown approval

3.Spawn bob with a risky refactoring task. Review and reject his plan.

4.Spawn charlie, have him submit a plan, then approve it.

5.输入 /team 监控状态


从零构建AI编程Agent:沟通协议

给TA打赏
共{{data.count}}人
人已打赏
技能技巧

2026 OPC + AI 漫剧:一个人、一套工具、一个角色,撬动下一个 IP 时代

2026-3-23 4:18:15

技能技巧

旧手机别扔!5 分钟变身 AI 服务器,手机部署 Open Claw AI 全教程

2026-3-23 4:18:56

版权与安全声明:本站所发布的内容来源于互联网,我们致力于传递有价值的信息,同时也尊重并维护原作者的权益。若文章内容出现版权问题,或文中使用的图片、资料、下载链接等,如涉及侵权,请联系我们删除或调整。联系6065565#qq.com(请替换#为@)

网络信息繁杂,请读者自行甄别内容真实性,谨防受骗。本站目前无任何收费项目,官方福利群https://t.me/

官方福利群: https://t.me/

觉得内容不错?欢迎分享给好友,复制链接使用浏览器打开,让更多朋友看到!

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索