注册并分享邀请链接,可获得视频播放与邀请奖励。

山中大熊 (@xiongchun007) “今天面试官问我:Agent 在流式输出 Chat Response 的过程中,怎么实现人为中断和上下” — TopicDigg

山中大熊 的个人资料封面
山中大熊 的头像
山中大熊
@xiongchun007
加入 December 2023
0 正在关注    0 粉丝
今天面试官问我: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
38
372
56
转发到社区