26|交互细节功能的丰富和功能优化
月影

你好,我是月影。
上一节课,我们几乎已经实现了 AI 面试官项目完整的流程,给面试官智能体赋予了人设、上下文和记忆。
但是,在这里,我们还需要进行一些细节优化,以保证面试效果和面试体验。
异步更新记忆及前端优化
我们上一节课有一个细节,那就是我们在工作流中对 memory 的更新采用了 quiet 的方式,在 Ling 框架的介绍中我提到过,当我们给 Bot 设置 quiet 参数后,它在执行推理的过程里,并不会将任何内容发送给前端。
所以,我们无需等待这部分内容更新结束,就可以继续前端的对话。这样就不会因为记忆的更新需要的时间过长,而导致用户等待很久,让面试沟通变得不够流畅。
不过这带来另一个问题,那就是我们持续对话的时候,有可能记忆还未更新,这会导致 AI 记住的内容和当前对话不一定同步。例如面试对话已经进行到了第 5 轮,而记忆可能才更新到第 3 轮。所以我们还是需要传递给 AI 少量的上下文,以防止这种情况下 AI 对话丢失了最近的上下文信息,产生不恰当的提问或者重复对话等问题。
所以,这时候,我们还是需要把最近的一部分历史对话传给大模型。上一节课,我们通过 historyMap 记录了所有的历史对话,因此我们可以取最近两轮历史对话,也就是 histories 的最后 3 条记录传给当前对话。
公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结

1. 实现语音输入功能,以提升面试对话的体验。 2. 对代码进行了修改,包括给Ling对象增加了max_tokens参数,设置为8192,给面试对话的bot增加了一组最近的聊天记录,以及在bot输出结束时,给前端发送一个response-finished事件。 3. 异步更新记忆及前端优化,包括对话同时更新记忆、传递最近的一部分历史对话给大模型以防止AI对话丢失最近的上下文信息,以及在前端进行UI处理以防止用户重复提交。 4. 控制时间线,跳过当前面试阶段,通过Ling的sendEvent能力,通知前端更新Timeline,具体方法是发送一个`update-timeline`事件给前端,参数传递timeline的值。 5. 产品化及其他细节优化,包括将Job Description配置项抽取出来,将AI的人设抽取出来,以及通过Memory中的内容进行整体的面试回顾和评估,让AI给出面试结论。 6. 在前端体验上,添加输入切换,让输入过程可以切换输入框为多行文本或者CodeMirror编辑器,以便于获得更好的体验。 7. 优化产品的方向,支持面试记录的持久化存储来支持面试过程的中断与恢复,以及通过控制时间线允许跳过当前阶段来更好地掌控面试流程。 8. 课后练习,通过Memory对象结构,用语义化的JSON字段,引导AI在记录Memory时的思考,结合Memory和当前讨论进行思考和分析,从而给对话模型一些建议,让它能够问出更有针对性的问题。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《跟月影学前端智能体开发》,新⼈⾸单¥59
《跟月影学前端智能体开发》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论