註冊並分享邀請連結,可獲得影片播放與邀請獎勵。

山中大熊
@xiongchun007
👨‍💻 驻山程序员, 分享 AI 产品构建 • 开源测评 • Vibe Coding 实战 🛠️ Building a data workbench @DataCollie in public
加入 December 2023
3.3K 正在關注    13.7K 粉絲
今天面试官问我:Agent 在流式输出 Chat Response 的过程中,怎么实现人为中断和上下文感知恢复? 我说关键就两点: 第一,一个 Task 一个 Session。 用户点 Stop,只是中断当前这次 run,不是清空整个对话。所以停止时,要把当前上下文保存到对应的 sessionId 下;下一次恢复时,再根据这个 sessionId 把上下文加载回来。 第二,要处理 tool call 被截断的情况。 如果中断发生在 tool_call 已经生成、但 tool_result 还没返回的时候,消息链就是半截的。下一轮直接继续,很容易报 Pending tool calls exist without results。所以这类半截 tool_call,必须补一个 recovery result,让上下文重新变成合法状态。 一句话:Stop 停的是这次输出,不是这个 Task 的记忆。 按照这个思路,我把 Stella 的输出停止和带上下文状态恢复给做顺溜了。满分 💯
顯示更多
0
23
279
44
轉發到社區