• 投稿

DeepSeek Harness 源码解析:Agent 运行机制、Turn/Step 与 Session 重建

4099
0
2026-08-19 08:20:01
131
39
419
26
这是《DeepSeek Harness 架构拆解》第三章。 本章围绕一个具体问题展开:DeepSeek Harness 中的 Agent 到底是怎样运行的? 我们会沿着一条用户消息,从进入 Agent Inbox 开始,依次经过 Agent Loop、Turn、Step、LLM 请求、Tool Call、Tool Result 和 Session Event Log,最后说明下一次模型请求怎样从持久化事件中重新构建。 本章主要包括以下内容: Agent、AgentRegistry、AgentFactory、Agent Loop 和 Session 的职责划分。 followup、steer、inject 的目标队列、唤醒行为和领取边界。 Turn 与 Step 的层级设计,以及零 Step、单 Step、多个 Step 三种运行情况。 用户消息进入第一 Step 前的处理过程,包括上下文组装、pre-step 检查和模型请求构建。 模型响应、工具调用、工具结果与后续 Step 之间的条件关系。 实时控制事件与 Session 持久事件的区别。 Session Surface 和 Request Header 如何共同重建下一次模型请求。 Session 日志如何用于保存、恢复、分叉、回放和客户端投影。 这一章有两个特别容易误解的地方: 第一,Turn 和 Step 不是同一个层级。Turn 表示一轮完整工作,而 Step 更接近一次模型请求和相关的工具处理批次。一个 Turn 可能没有 Step,也可能包含多个 Step。 第二,模型产生 Tool Call,不代表系统必然进入下一 Step。工具执行结束之后,Agent Loop 还需要判断当前 Turn 是否仍然欠一次模型请求,或者 Inbox 中是否已经出现了新的 next-step 输入。 本章重点不是逐行阅读源码,而是建立一张完整的运行地图。看完之后,你应该能够判断一个新的运行期能力应该接在 Inbox、Agent Loop、Tool Pipeline,还是 Session 事件层。
一个长期做研发和架构设计的一线技术人,现在专注 AI、Agent 和智能工具实践。 适合技术人、产品人. ppt: youbeat.cn
客服
顶部
赛事库 课堂 2021拜年纪