创建时间: 2026-09-02最后更新: 2026-09-07

1. 动态 Prompt 的作用

上一篇介绍 Few-Shot 时,我们把示例数组直接交给了 FewShotChatMessagePromptTemplate

fixed-few-shot.ts
1
const fewShotPrompt = new FewShotChatMessagePromptTemplate({
2
examples,
3
examplePrompt,
4
inputVariables: [],
5
})

这种写法有一个很容易被忽略的特点:无论用户问什么,每次调用都会带上全部示例

如果 Agent 只处理一种任务,这通常没有问题。但有的陪伴型 Agent 同时会收到情绪、学习、回忆等不同的问题。因此,准备示例时需要根据当前输入动态选择。

本轮输入任务类别加入 Prompt 的示例
这个组件为什么重复渲染?coding编程示例
最近课程太多了,学习计划怎么安排?learning学习示例
今天一直被打断,好烦。emotion情绪示例
帮我给朋友写一句祝福。general不加入示例

也就是说,示例数组本身可以保持不变,但每轮真正进入 Prompt 的示例要根据当前输入重新选择。这就是本篇要学习的动态 Prompt。

动态 Prompt 选择发生在模型调用之前:程序先读取本轮条件,选出合适的 Prompt 内容,再把整理好的消息交给模型。

正在验证登录状态
请稍候,验证完成后将继续显示文章内容