在Nova AI中编写动态提示词,核心目标是让提示词具备“活”性——根据用户每次输入的不同内容,自动代入对应信息。举个例子:当用户说“帮我把会议纪要整理成3条重点”,这里的“3条”需要转化为真实数字参与逻辑判断,而非在提示词中固定写死。关键在于变量机制,否则所有提示词只能处理固定格式的输入,灵活度大打折扣。
识别可用变量类型
打开Nova AI的提示词编辑界面,首先要明确当前能使用哪些变量。目前可直接调用的只有【用户变量】和【系统变量】两类。用户变量由你自行定义和维护,例如user_preferred_language;系统变量由平台自动生成,如device_language、user_id,但默认处于关闭状态,需要手动开启开关才能调用。
在界面右上角找到【记忆】→【变量】,进入变量管理页面——这里可以清晰查看所有已启用变量及其当前值。如果某个变量未出现在此处,说明要么未配置,要么未开启权限,自然无法在提示词中引用。
在提示词中插入变量
变量的语法采用统一格式:${variable_name}。注意,左右大括号必须完整,中间不能有任何空格。例如,如果希望AI根据用户语言偏好生成回复,提示词中应写:“请用${user_preferred_language}输出结果”。
这里有一个常见误区:如果变量名拼写错误或未启用,AI不会报错,而是直接原样输出${xxx}这个字符串。调试时,这通常是最先需要检查的点。
给变量赋值的两种方式
方法一:通过工作流节点注入
在绑定工作流的Agent中,可以在“变量”组件里设置变量值。比如用正则表达式从用户输入中提取数字:让【message】字段匹配“整理成(d+)条重点”,然后将捕获组1赋值给变量summary_count。这样,${summary_count}就能获取用户实际要求的数量。
方法二:靠上下文自动抽取(仅限单Agent模式且未绑定工作流时使用)
当智能体运行在纯LLM模式(不走工作流),并且在用户变量配置中开启了“支持基于用户上下文抽取”开关,系统会尝试从最近3轮对话中识别关键词并更新变量。例如,用户提到“我习惯看简体中文”,系统可能自动将${user_preferred_language}设为“zh-CN”。不过,该机制稳定性有限,关键业务逻辑不建议依赖它。
变量嵌套与组合使用
第一步:确保基础变量存在且有值。例如${user_name}和${topic}都需在变量管理页面显示为非空状态。
第二步:在提示词中组合使用这些变量。例如:“用户${user_name}正在讨论${topic},请结合其历史偏好${user_preferred_language}生成建议。”
第三步:注意避免变量嵌套。像${${user_role}}这种写法不被支持——变量名必须是静态字符串,不能由另一个变量动态生成。
第四步:如果需要条件分支,比如根据用户要求的重点数量决定输出格式,需使用工作流中的“条件”节点判断${summary_count}是否大于5,然后走不同处理路径。纯提示词内部无法进行数值比较,必须借助工作流能力。

