Sunday 的面试指南

AI 面试教练 Agent 实战(下):跨会话复测与 Agentic RAG

《Agent 大模型 0 到 1 系统课》 · 程序员 Sunday

你正在阅读本节的免费试读。完整课程 ¥499,可在文末添加作者微信购买。

上一篇,咱们已经完成了训练记忆的创建和更新。

第一次回答不完整以后,系统会为“短期记忆与长期记忆”这个知识主题创建一条训练记忆。其中,agent-memory 是这条记忆的唯一标识,needs_review 表示这个知识点当前还没有掌握,需要继续复习。

在同一场面试中继续回答追问题,并且回答正确以后,这条记忆又被更新成了:

{
	key: 'agent-memory',
	title: '短期记忆与长期记忆',
	status: 'improving',
	attempts: 2,
	correctCount: 1
}

但是,到这里还不能证明这套记忆真的有用。

因为这两次回答都发生在同一个 Thread 中。Agent 完全可以从当前会话的 State 里看到前面的题目和回答。

真正需要验证的是:新建一个完全不同的 Thread 以后,Agent 能不能从 Store 中找到这个薄弱点,并根据它生成一场新的复测?

复测完成以后,咱们还要继续确认两件事:

  • 第一:面试反馈需要多类技术资料时,Agent 能不能检查还缺什么并继续补查;
  • 第二:用户再次回答正确以后,improving 能不能更新为 mastered。

所以,这一篇就从页面中的“复习薄弱点”开始,把整个 AI 面试教练捋一遍。

从“复习薄弱点”进入项目

按照上一篇的操作完成两次回答以后,页面右侧的“短期记忆与长期记忆”应该处于“提升中”状态。

这时,点击页面左侧的“复习薄弱点”。

AI 面试教练 Agent 实战(下):跨会话复测与 Agentic RAG 配图 1

这个按钮会调用:createSession('review')

点击以后,发送的仍然是新建面试请求:

POST /api/sessions
Content-Type: application/json
x-demo-token: demo-linxia

{
  "kind": "review",
  "mode": "replay"
}

这次和第一篇唯一明显的区别,是 kind 变成了 review。

不过,大家要注意:这里创建的仍然是一场新面试。

服务端会生成新的 sessionId,Checkpointer 也会使用新的 thread_id。

比如:

  • 第一场面试:thread_id = f51688c6-...
  • 这次薄弱点复测:thread_id = 8d72cb40-...

两个 Thread 不同,所以新面试不会把上一场面试的所有消息全部复制过来。

新的 sessionId 准备好以后,InterviewService.createSession() 会调用:

AI 面试教练 Agent 实战(下):跨会话复测与 Agentic RAG 配图 2

这次传入的是 event: 'start',表示启动一场新的面试。

Graph 会先从 START 进入 dispatch

dispatch 后面的条件路由会根据 event 决定下一步:

AI 面试教练 Agent 实战(下):跨会话复测与 Agentic RAG 配图 3

当前的 event 是 start,不是 answer,所以 Graph 会进入 prepare_question

prepare_

本节试读已结束

继续学习,解锁完整课程

购买《Agent 大模型 0 到 1 系统课》,
继续阅读本节剩余内容与后续课程。

扫码添加作者微信,备注「Agent 课程」

添加作者微信 · 购买完整课程

解锁完整课程 ¥499

《Agent 大模型 0 到 1 系统课》
扫码添加微信,备注「Agent 课程」,购买后由 Sunday 提供完整内容的学习方式。

扫码添加作者微信 LGD_Sunday,购买 499 元 Agent 课程

微信昵称:LGD_Sunday
手机上可长按保存二维码,再用微信扫一扫识别。

保存微信二维码