*”队友之间要有统一的沟通规矩”* — 一个 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:[] --approve--> [approved][] --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 的变更
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 监控状态
