Playbook 最佳实践

以下最佳实践可帮助您构建强大的代理。

自然语言中的 Playbook 名称

使用具有明确含义的自然语言为 Playbook 命名。例如,“客户帮助中心手册”比“company_specialist”更具描述性,这有助于 AI 生成器在运行时提升效果。

简洁的目标

目标应简要说明 Playbook 的用途。

提供优质的说明

说明应:

  • 反映解决最终用户问题的分步方法
  • 是简洁的自然语言句子,用于提供高级别的说明
  • 简单明了,并指定工具的使用场景

每个 Playbook 至少包含一个示例

每个 Playbook 都应至少有一个示例,但建议至少有四个。示例应包含正常路径场景。

如果没有足够的示例,则剧本可能会导致不可预测的行为。如果您的 Playbook 未按预期响应或行为,可能是因为缺少示例或示例定义不当。尝试改进示例或添加新示例。

说明和示例的精确性

虽然编写清晰且描述性强的说明很有帮助,但实际上,示例的质量和数量才决定了 Playbook 行为的准确性。换句话说,花更多时间编写详尽的示例,而不是花时间编写完全精确的说明。

在示例中引用工具

如果该手册旨在通过使用工具提供回复,请在与此类请求对应的示例中引用这些工具。

工具架构 operationId 字段

为工具定义架构时,operationId 值非常重要。您的手册说明将引用此值。以下是此字段的命名建议:

  • 只能使用字母、数字和下划线。
  • 在架构中描述的所有 operationId 中必须是唯一的。
  • 必须是反映所提供功能的具有意义的名称。

工具架构验证

您应验证工具架构。您可以使用 Swagger 编辑器检查 OpenAPI 3.0 架构语法。

处理空工具结果

如果您的 Playbook 依赖于某个工具来确定其响应,空的工具结果可能会导致 Playbook 行为不可预测。有时,Playbook AI 生成器会在回答中幻想出信息,而不是使用工具结果。为防止这种情况,您可以添加具体说明,确保 Playbook AI 生成器不会尝试自行回答。

某些用例要求手册回答基于工具结果或提供的数据,并且需要仅根据手册 AI 生成器的知识来缓解回答。

减少幻觉的说明示例:

  • “您必须使用该工具回答所有用户问题”
  • “如果您没有从该工具收到任何数据,请回复您不知道用户询问问题的答案”
  • “如果工具没有返回任何数据,请勿杜撰回答”

使用 Gemini 生成架构

Gemini 可以为您生成架构。例如,尝试输入“您能否为 Google 日历创建一个 OpenAPI 3.0 架构示例”。

专注型 Playbook

避免创建非常大且复杂的 Playbook。每个 Playbook 都应完成一项明确的特定任务。 如果您的 Playbook 较为复杂,不妨考虑将其拆分为较小的子 Playbook。

避免使用循环和递归

在指令中关联代理时,请勿创建循环或递归。

为示例提供路由信息

当某个 Playbook 应路由到另一个 Playbook 时,您应向示例提供此信息。此示例来自输入和输出示例部分的包含输出信息的结尾示例字段。

例如,此字段的最后一句可以是“重定向回默认的 Playbook 以进行进一步查询”。

使用 Conversational Agents (Dialogflow CX) Messenger JavaScript 函数实现个性化

使用 Conversational Agents (Dialogflow CX) Messenger 时,以下函数可用于将用户个性化信息从 Web 界面发送到 Playbook:

规划效果

生成式功能通常需要几秒甚至几十秒才能生成回答。虽然游戏规则集可以增强对话的自然度,但管理响应时间对保持良好的最终用户体验至关重要。以下是一些优化效果的策略:

  • 平衡生成式功能使用

    仔细考虑执行多项生成式功能所需的时间与它们为对话带来的价值之间的权衡。如果这些功能对用户的目标没有显著贡献,请避免过度使用。

  • 最大限度地减少生成式功能输入

    尽量收集和处理 AI 生成器生成实用回答所需的信息量。这可以显著缩短处理时间。

  • 使用上下文缓存

    如果您通过工具使用 Gemini 且初始上下文较大,请使用 Vertex AI 上下文缓存探索缓存信息,以避免重复请求相同的数据。为提高速度而实现固定响应

    如果您的应用不需要独特的动态内容,请考虑将常用的回答存储在 Firebase 等传统数据库中。由于这些固定回答是预定义的且随时可用,因此与需要动态计算答案的生成式功能相比,它们的响应速度要快得多。

  • 指示 AI 生成器生成简洁的 Playbook 回答

    对于文本输入和输出,AI 生成器的响应时间在很大程度上取决于所使用的模型和输出长度。简短的回答可以显著提升性能。虽然输入长度也是一个因素,但输出长度的影响更大。

  • 流式回答

    将 Playbook 响应流式传输回 Dialogflow 客户端,后者再将响应流式传输给最终用户。这与在生成整个响应后再发送任何部分响应形成鲜明对比。流式传输响应可在有部分响应可用时提供这些响应,从而改善用户体验。这种方法可最大限度地减少感知延迟时间,缩短用户的等待时间。