tasks/list 把协议做成了有状态的,而且这个接口没有任何过滤条件——后端攒了一百万个 task,你得全翻一遍才能找到要找的那个;二是"等人输入"这件事是从 tasks/result 的长连接里隧穿出去的,中间那段要开长会话、由 server 反过来向 client 索取响应,实现起来极其别扭。→ 详细tasks/list 直接砍掉,"等人输入"改成由 client 主动推一条 update 进去(本质就是 Temporal 里的 signal 概念);而任务的生命周期状态机原封不动地留着——因为那部分设计本身就是靠谱的。→ 详细tools/call 完全没变,只是想走异步时多传一些 metadata 进去;然后是 tasks/get(查状态)、tasks/cancel(取消)、tasks/list(列出)、tasks/result(取结果)。→ 详细tasks/result 会保持一条连接开着、让连接一直活着——这个差别是下面两个硬伤的根源。→ 详细tasks/list 回过头问 server "你手上都有哪些 task",然后接着往下走。→ 详细tasks/result 单看时序图很简单——它本来没有交互性。但一旦任务进入 input required,头尾两段都没问题,中间那段却要用一种很别扭的协议:开一条长连接,然后由 server 反过来向 client 发起 elicitation(反向索取信息)。她的原话是"这就变得极其麻烦了"。→ 详细tasks/list。 她的评价毫不留情:"挺好——它本来也没多大用,尤其在大规模场景下。"→ 详细tasks/result 保留,但形态变了——它不再依赖那套基于长会话的协议。→ 详细tasks/list 砍掉之后带来一个连锁后果:client 端就必须自己持久化 task ID 了(不然 task 还活着,你却再也找不到它)。→ 详细io.modelcontextprotocol/tasks,跟她讲的"core + extension 拆分、task 变成 extension"完全一致;② tasks/list 确实没了;③ 确实新增了让 client 回传输入的 tasks/update——正是她说的那个"client 直接说一句『这是我给你的更新』"的接口,血统也确实是 signal;④ 生命周期状态机保留。→ 详细tasks/result 还在,只是不再依赖长会话";而正式落地版走得更彻底——改用 tasks/get 轮询取代阻塞式的 tasks/result,那个"开着连接等结果"的方法本身被拿掉了。演讲时 V2 尚未定稿,属于方向对、细节更激进。→ 详细tasks/get 轮询上——所以她点名的 notifications 协议,正是这个坑将来的解药(见下方「收尾」)。→ 详细本场没有闪电问答,收尾是她"正在继续做的两件事":
① 即便 V2 也撑不到百万级,解法是 notifications 协议。 她的算术很朴素:"如果我有一百万个 task 在跑,就意味着有一百万个 client 在对着这一百万个 task 一个个做 get。这是扛不住的。" 而 MCP tasks 规范里其实有一部分是 notifications(通知)协议,她说自己"还没研究得特别深,但看着很有希望"——思路是与其让一百万个 client 各自轮询,不如给一个统一的 endpoint,client 只问一句『有东西变了吗』,有的话告诉我是哪几个,我再去拉那几个。她的判断:从可扩展性的角度看,这个方向是对的。→ 详细
② 一两个月内出一版更简单的实现,目标是做进 FastMCP。 她的原话是"我的目标是把它做进 FastMCP,这样你就可以沿用你今天做 MCP server 大概率已经在用的那套框架和协议了"——也就是把"实现 tasks"的门槛从"自己写一个 client"降到"升级一下依赖"。→ 详细
③ 代码全部开源。 她全场三次承诺会分享代码,最后现场展示了 Git repo 二维码,并说幻灯片也会放进那个 repo。→ 详细
④ 超时致谢收场。 "谢谢下一位讲者让我超时了几分钟。我人就在附近,大家有问题的话到走廊上找我。"→ 详细
Cornelia Davis — Temporal 技术专家(technologist),《Cloud Native Patterns》作者;分布式系统背景:Cloud Foundry / Kubernetes / GitOps / Weaveworks。
配套深讲(server 端 durability):她 2026-03 在 MCP Dev Summit 的演讲,现场以二维码指向 YouTube(本场是它的 client 端续集)。→ 详细
代码与幻灯片:现场展示的 Git repo 二维码(口播未念出 URL,需从视频画面截取)。→ 详细
本人:"我人就在附近,大家有问题的话到走廊上找我";她也说明天全天在场,愿意单独补演示那个没跑完的 demo。→ 详细
这一期是少见的双重强命中:她演示用的业务场景就是采购订单 + ERP 校验 + 发票审批(你每天在做的东西),而她要解决的技术问题——流程怎么停在"等人批"这一步、停住了还不丢——正好是你多-Agent PRD 工厂那个悬念:碰撞协议和真人评审这些"该停下等人"的环节,纪律到底有没有被强制执行。所以这段写厚。
1)你那些"该停下等人"的环节,在她这里是一个有名字的状态,不是一句提示语
2)"必须是 MUST 而不是 should"这句吐槽,是你整个工厂的病根
.Codex/agents/*.toml)和碰撞协议流程文档拿出来通读一遍,把每一句"应该 / 建议 / 最好"都标出来,然后逼自己回答:"这一条如果被跳过,后果是不是不可逆?"是的话就改成硬约束——不是把措辞改狠,是改成一个跳过就跑不动的机制(缺文件就报错、缺签字就退出)。你担心"独立初稿是否真互不可见、碰撞三件是否真交齐",本质就是怕满篇 should 没有 MUST。3)实现的大头不是协议,是"把通用状态翻译成你的业务状态"——你六条线的跨线对齐缺的就是这张表
4)"agent 产出可观测、可验证"这件事,持久化任务顺手就给你解决了
_agent-runs/active/AG-NNN/)跑到哪一步都往固定位置追加一行:哪一步、什么时候、谁签的、评审意见回炉了几次、最后什么结果。跑够十次,你手里就有一张"这条流水线到底在哪一步卡最久、被真人评审打回最多次"的真实分布图——这比任何一次性复盘都有说服力,而且是零额外成本产出的。1)长跑工具 + 取件码,是"把该做什么前移到 agent"的协议底座
2)"能做,不代表就该这么做"——契约要挑扛得住规模的那几条
tasks/list 的理由不是它不好用,而是它在小规模好用、在大规模是灾难:一百万个任务、接口上又没有任何过滤条件,你得全翻一遍才能找到那一个。判词是"能做,不代表就该这么做"。1)这就是一条现成的"大佬说 X 我试了"选题,而且弹药库闸门能过
2)AI 员工的成本账,她替你算出了一个新科目:轮询
该反着用:她的所有设计取舍都是为百万级任务优化的——砍掉"列出全部任务"是因为一百万条翻不动,担心轮询是因为一百万个客户端打爆服务端。**你的规模是个位数到几十。**所以正确的借鉴是反过来:那个被她砍掉的"列出全部在跑的任务",恰恰是你最该保留、甚至该做成首屏的东西——你的痛点不是"翻不动",而是"根本不知道现在有几件事卡在等我确认"。她为规模砍掉的可见性,正是你为可见性该主动加回来的。
和你现在做法冲突:你现在约束 agent 的主要手段是写文档、写提示词、写技能说明——本质上是"把规矩讲清楚,然后相信它会遵守"。她这一整场都在说另一件事:遵守不能靠自觉,得靠状态和协议。在她的世界里,"等人批准"不是一句叮嘱,而是一个任务真的躺在那儿不动、直到有信号打进来。这跟你把关卡写进流程文档的做法直接冲突——你的假设是模型足够聪明就会照做,她的假设是任何依赖自觉的约定在规模和时间面前都会失效。哪个假设对你现在这个阶段更划算,你自己判断;但值得注意的是,"碰撞协议的纪律是否真被执行"正是你现在挂在清单上的头号悬念。
对你的镜子:**你的 PRD 工厂真正卡住的地方,可能从来不是 agent 不够聪明,而是你把"人"当成了同步组件。**她把"等着的那个人休假去了"和"进程崩溃"并列成同一类故障,这句话值得你在自己的流程图上重画一遍——你设计的每一处"这里我会看一眼""这里等我确认",都默认了你会在几分钟内出现。而现实是你同时扛正职和多个副业,你本人就是那个随时可能休假的依赖。一条假设你随叫随到的流水线,在你最忙的那周一定会断;一条假设你随时可能消失、并且为此做了持久化的流水线,才是能陪你三年的那条。
可迁移的思维模型
判断更新
你之前大概把"多-Agent 流程停不住"当成一个提示词工程问题(措辞再狠一点、再强调一遍)。这一期给的证据是:这是一类有成熟解法的分布式系统问题,而且解法早就不在提示词层——在状态和持久化层。一个做了二十年分布式的人,用一整场演讲告诉你"长跑 + 停下来等人 + 断了能续"这件事有多难、难在哪、正确的架构长什么样。你不需要实现 MCP tasks 协议本身,但你需要把她那套思路搬到你的流程里:显式状态、持久化 ID、断线可续、执行历史即证据。
这周一个赌注
挑你 PRD 工厂里最容易被划水的那一个停点(大概率是真人评审拍板那一步),只改它一处:让这一步产出一个待签字的文件,流程读到文件存在且未签字就直接停下退出。然后做一次真实测试——**跑到这一步,关掉终端,第二天重开,看它是不是还老老实实停在原地、并且知道自己在等什么。**能过这个测试,你就有了第一个真正意义上的强制关卡;过不了,你至少知道了病灶在哪一层。成本一小时以内,是这周性价比最高的一次下注。