Agent Builder 中用于编写系统提示和用户提示的富文本编辑器,使用 @ 触发器插入参数、工具、上下文、升级和输出的彩色内联引用。
提示词编辑器是 Agent Builder 中的富文本区域,用于编写系统提示词和用户提示词。参数、工具、上下文、升级和输出以颜色编码的内联引用(称为“药丸”)形式表示,而非键入的占位符。
提示词编辑器可用于自主智能体和对话智能体,并适用于系统提示词和用户提示词。
@ 触发器
提示词编辑器对所有引用类型使用单个触发键。
在提示词中的任何位置键入 @,将打开引用选取器。选取器会按固定顺序将可用引用归入五个部分:
- 输入 - 智能体在运行时收到的参数
- 工具 - 连接到智能体的工具
- 上下文 - 上下文锚定源
- 升级 - 升级路径
- 输出 - 之前步骤的输出(如适用)
在 @ 之后继续输入,会使用模糊匹配来缩小列表范围,无需精确的前缀。例如,@srch 匹配 tools.web_search。
选取器中的键盘导航
| 密钥 | 操作 |
|---|---|
| ↑ / ↓ | 上下移动选择内容 |
| Tab / Shift+Tab | 与箭头键相同 |
| Enter | 插入高亮引用 |
| Esc | 关闭选取器,而不插入 |
| 鼠标选择 | 插入选定引用 |
当 @ 未打开选取器时
为避免在正常键入过程中出现意外激活, @ 字符仅在出现在以下位置时会打开选取器:
- 在行开头,或
- 紧跟空格字符后面。
在句子中间写入 team@example.com 不会打开选取器,@ 会被保留为纯文本。在 @ 之前键入空格会强制打开选取器。
与 {{ }} 占位符的兼容性
包含 {{argument_name}} 的现有提示可在不执行任何迁移步骤的情况下继续运行。当编辑器加载提示词时,{{ }} 占位符会在屏幕上自动转换为“药丸”。保存提示词后,输入药丸会作为 {{argument_name}} 写回存储,而工具、上下文和输出药丸则作为 @{tools.search} 写回,从而保持与任何将提示词读取为文本的后端系统的兼容性。
编辑时直接键入 {{ ... }} 不会触发创建,它会以纯文本形式保留,只有当提示词保存并重新打开时,如果内部名称与现有参数匹配,才会转换为药丸。使用 @ 插入引用。
以药丸形式引用
提示词中的每个引用都会呈现为内联药丸,其中包含:
- 类别图标
- 标签 - 引用路径的最后一段(例如,
web_search,而非tools.web_search) - 反映引用类别的颜色:蓝色输入,绿色为工具和上下文以及升级,橙色为输出
药丸作为单个单元运行:
- 按一下箭头键,光标即可移过一个药丸。
- Backspace 或 Delete 键会移除整个引用。
- 每颗药丸在悬停时都有一个 × 按钮,用于通过鼠标移除。
- 药丸可以在同一智能体的不同提示词字段中复制和粘贴,也可粘贴到其他智能体的提示词中。将药丸粘贴到编辑器外部的纯文本目标位置后,药丸将恢复为
{{...}}或@{...}文本格式。
引用无效
当引用指向已不存在的资源(例如已移除的工具或手动重命名的参数)时,药丸会变为红色。这仅是视觉信号;提示词仍会按原样保存。
若出现无效引用,可通过删除红色药丸并使用 @ 选择替代方案,或通过重命名底层资源来解决,以便引用重新生效。
自动重命名传播
在智能体定义中重命名工具、参数、上下文、升级或输出时,编辑器会检测到该变更,并在所有提示字段中自动更新引用该变更的每个药丸。嵌套路径也会以一致的方式重写。
在智能体定义之外进行的重命名(例如通过直接编辑原始 JSON 来重命名)不会被检测到。
编辑和预览
编辑器顶部的工具栏包含编辑/预览切换。
- 编辑 - 用于输入文本、应用格式和插入引用的实时编辑模式。
- 预览 - 提示词的只读呈现,并应用了所有药丸和 Markdown。保存前,使用预览功能验证长提示词或包含大量格式的提示词的最终外观。
切换到“预览”会保留当前草稿。切换回“编辑”后,将恢复到切换前完全相同的编辑状态。
格式工具栏
在“编辑”模式下,工具栏会提供以下格式操作:
| 按钮 | 效果 | 键盘快捷方式 |
|---|---|---|
| H | 切换当前行上的标题 | — |
| B | 将选定的文本加粗 | — |
| I | 将选定的文本设置为斜体 | — |
</> | 内联代码 | — |
| 编号列表 | 切换编号列表 | — |
| 项目符号列表 | 切换项目符号列表 | — |
| 撤消 | 逐步回退编辑操作 | Ctrl / ⌘ + Z |
| Redo | 逐步重做编辑操作 | Ctrl / ⌘ + Shift + Z |
通过工具栏应用的 Markdown 会原封不动地保留在保存的提示词中,并在预览模式下以完整的 Markdown 样式呈现,包括标题、列表、围栏代码块、块引用和表格。预览模式处于激活状态时,工具栏会被禁用。
覆盖高亮
运行评估集后,当提示词覆盖数据可用时,工具栏中会出现覆盖切换。
选择覆盖,编辑器会切换为“预览”模式并包含内联高亮显示,显示提示词中的哪些指令在评估运行期间已执行。选择高亮显示部分后,将打开一个弹出窗口,列出覆盖该部分的具体评估运行。当提示词或评估集发生变化时,切换旁边的 ↻ 按钮会重新计算覆盖范围。
切换回“编辑”会停用覆盖范围高亮显示。
查看 AI 建议
当 Autopilot 或其他 AI 助手建议重写您的提示词时,编辑器会进入差异模式:
- 已删除的内容会以红色删除线的形式显示。
- 新增的内容会以绿色高亮显示。
- 显示差异时,编辑器将处于只读状态。
编辑器右下角显示两个按钮:接受会将提示词替换为建议版本;拒绝会放弃建议并恢复原版本。选择其中一个按钮之前,会保留原提示词。
全屏编辑
工具栏右端的展开图标会以全屏模式打开编辑器。在可用屏幕空间有限的情况下,这对于长提示词非常有用。关闭模式后,模式中进行的编辑会保留。
辅助功能
- 每个工具栏按钮均可通过键盘上的 Tab 键访问,并包含一个工具提示和
aria-label。 - 引用选取器完全通过键盘操控,插入任何引用都不需要鼠标。
- 编辑/预览切换和覆盖切换通过
aria-pressed语义公开其状态。 - 编辑器会通过其
ariaLabel配置向屏幕阅读器公布活动字段名称,例如“系统提示词”。
常见问题
现有提示词会中断吗?
不会。编辑器按之前相同的格式读取和写入,输入采用 {{argument}} 格式,工具、上下文和输出进采用 @{path} 格式。现有提示词会自动以药丸形式打开;无需执行迁移步骤。
我仍然可以输入 {{ 来插入参数吗?
不可以。{{ }} 不再是编辑器中的创建触发器。改为使用 @。编辑时输入的任何 {{ ... }} 将保留为纯文本,只有在保存并重新打开提示词时,在内部名称与现有参数匹配的情况下,才会转换为药丸。
@ 触发器是否会与电子邮件地址或社交媒体用户名冲突?
不会。选取器仅在 @ 出现在行首或紧跟在空格字符后出现时才会打开,因此在句子中间出现的 team@example.com 会被视为纯文本。
重命名参数或工具后会发生什么情况?
编辑器会检测智能体定义中的重命名,并自动更新所有提示词中的所有引用。仅当底层资源被删除或其路径以编辑器无法推断的方式发生更改时,引用才会变成红色。
能否禁用新编辑器?
在推出期间,提示词编辑器会通过功能标志进行控制。要在推出期间返回到之前的编辑器,请联系您的 UiPath 代表。