人是一个异步接口:冰淇淋配送背后的智能体架构

Melanie Warrick · Temporal 工程师 · 2026-10-07
听中文精华AI 合成朗读00:00
我今天要讲的主题是:人类就是一个异步 API。
— Melanie Warrick

关联

演讲者 Melanie Warrick 来自 Temporal 公司。

她没有讲玄乎的概念,而是现场演示了一个冰淇淋配送系统:多个智能体协同调度,人类随时插手改单,甚至当众把服务杀掉再重启,订单照样不丢。

整场演讲的核心观点藏在她那句标题里——人在智能体系统里,应该被当成一个异步接口来对待。

冰淇淋配送是怎么跑起来的?

演示的主角是吉祥物 Ziggy,假设它在旧金山 Ferry Building 开了一家冰淇淋店。配送由3个智能体协同完成:

车队智能体负责查司机和路线(用 Google Maps),客服智能体负责查订单(用 Google Search),调度智能体则综合这些输入做决策 。

这套系统把 Google 的 ADK(一个用来编排多智能体的框架)和 Temporal 集成在一起。

Temporal 负责记录和管理整个系统的状态,并提供一个界面,让你能看到每个事件的来龙去脉。

客户改单,系统为什么不用停下来?

现场演示了一个常见场景:客户下单后突然反悔,提交了一个修改。

此时系统只暂停了这一个订单对应的司机,其他订单照常接收、照常配送。

另一个人(比如客服)审核后点批准,更新就生效了,那辆车继续开往 Oracle Park 。

这里的关键在于:一次人工介入只暂停系统的很小一部分,而不是把整个流程卡死。这就是她说的持久执行(durable execution)。

为什么直接调用人类是坑?

进入正题。她说,人类当然不是工具,但对智能体来说,人就是一个工具 。

麻烦在于,如果你在代码里直接写一个函数去调用人类,就会产生一个阻塞式调用:系统停在那里等人回话。

更糟的是,如果这时候服务挂了,这个等待中的人工交互就丢了,系统不知道自己进行到哪一步。

她给的答案是两个原语:等待条件(wait condition)和信号(signal)。

用等待条件把某个事件单独隔离并暂停,状态存进持久层;等人类回复时发一个信号进来,注入正在运行的流程 。

这样即使系统崩溃重启,它也知道从哪里继续,而且不占用线程。

这些能力是现成的,还内置超时等机制——如果你在等一个人类回应,想确保它只等待有限的时间,就可以应用超时和其他原语。

她说这套东西可以扩展到数百万个暂停中的流程同时挂着 。

当众杀掉服务,订单还能恢复吗?

第二个演示更大胆。她丢进一个高价值订单,系统按设计让调度智能体暂停,等人来批准。

人类的反应时间是几分钟、几天甚至几周,但那只车流照常跑着 。

然后她直接执行了 kill worker,把服务下线。趁着离线状态,她点了批准。

再把服务拉起来——事件日志被重放(不是重做),系统恢复到崩溃前的状态,知道有人已经批准,订单立刻分配出去,甚至已经送到了 。

架构上她故意混用了两个框架:客服和车队智能体跑在 ADK 上,调度智能体跑在 LangGraph 上。她想强调 Temporal 是框架无关的,哪个都能接 。

到底什么时候该让人介入?

这是全场最诚实的一段。她承认这是个难题,没有公式,只能逐案判断。核心标准是:出错的代价有多高 。

一边是风险——模型本质上是概率性的,很难做到完全可靠,尤其是安全相关的事,值得人把一道关。

另一边是警报疲劳——如果系统事事都来问你,你就会开始无意识地一路点是、是、是,人工审核形同虚设。

她建议在这两者之间权衡,并且坦承模型还在变好,但眼下仍是概率模型 。

无论由人发起还是由智能体发起介入,底层做法都一样:等待条件暂停流程,人类的信号让它继续往前走。

本集带走

  • 把人当成智能体系统里的异步接口:等待条件暂停、信号恢复,不要写阻塞式的调用人类。
  • 人工介入只应暂停系统的一小部分,其余流程照常运行。
  • Temporal 的三个核心原语:worker(跑代码)、workflow(跟踪步骤,确定性)、activity(外部交互,非确定性),支持 Python、TypeScript、Rust。
  • 系统崩溃后靠事件日志重放恢复状态,不是从头重做——她现场杀掉服务做了验证。
  • 是否让人介入,看出错的代价有多大,同时警惕什么都问导致的警报疲劳。
全部金句 3 条

我今天要讲的主题是:人类就是一个异步 API。
I’m here to talk to you about the human is an async API.
—— Melanie Warrick · [03:35]

所以人类,没错,我们不是工具,但对智能体来说我们是一个工具。
So the human, granted, we’re not tools, but we are a tool to the agent.
—— Melanie Warrick · [07:29]

你可以让数百万个工作流挂在那里,它还能继续运行。
You can have millions of workflows out there parked, and it can keep running.
—— Melanie Warrick · [09:14]

接着看

顺着「智能体」挖下去

换个口味