本文档由 AI 自动翻译。如有任何不准确之处,请参考 英文原版。在第 8 课中,我们把工作流精简成了一个 Product Support Agent。 内容可以做到准确、得体,但生成的排版仍会有波动:问候语可能换个说法,分隔线可能消失,署名的措辞也可能每次不同。 对于必须保持一致的元素,我们可以使用模板节点。
模板转换
你可以将它理解成排版设计师:它接收原始数据(比如你的答案列表),按照你设置好的模板和标准,输出一段排版完美的文本,每一次都保持一致。动手实践:优化邮件排版
1
检查 Product Support Agent
在工作流画布上选中 Product Support。它的任务应要求它处理完整邮件,但只返回实质性的正文。在 Agent 任务 中补充下面的文字:这种分工很重要:Agent 负责表达和语气,模板负责固定的排版。
2
添加模板节点
在 Agent 节点之后、输出节点之前插入一个模板转换节点。
3
设置输入变量
打开模板节点,添加这两个变量:
customer:User Input /{x} customer_namebody:Agent /{x} text
text 输出,交接过程一目了然,也便于排查。4
使用 Jinja 语法进行排版
什么是 Jinja2?简单来说,Jinja2 就是一种让你把变量(比如答案列表)按照你想要的格式,填入到一个文本模板里的工具。它使用一些简单的符号来标记变量的位置和执行一些基本操作。通过它,我们能把一个原始的数据列表,转换成一段格式整齐的文本。在这里,我们可以把开场白、邮件正文和署名落款拼装在一起,确保每次发出的邮件都既专业又格式统一。请将下方这段排版代码直接复制并粘贴到模板节点的代码框中。
customer 和 body 的值每次运行都会变化,它们周围的一切保持固定。这样既给了 Agent 撰写答案的自由,又确保最终的邮件永远遵循规定的排版。5
更新输出节点
打开输出节点,把原来的值替换为模板节点的输出。
小挑战
- 为
customer为空的情况加一个兜底,比如Hi there,。 - 加一段 Agent 无法更改或省略的固定支持声明。