最佳实践

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

自然语言的代理名称

使用能清楚说明代理名称的自然语言。例如,“客户 帮助中心代理”比“company_specialist”更具描述性, LLM 在运行时的性能。

简洁的目标

目标应该是对客服人员目的的简要描述。

提供质量说明

相关说明应:

  • 反映解决最终用户问题的分步方法
  • 是包含简略说明的简洁自然语言语句
  • 直截了当,指明工具使用场景

每个代理至少有一个示例

你应该至少有一个 示例 每个代理 但建议至少设置四个 示例应包括满意的路径场景。

如果没有足够的样本, 可能导致不可预测的行为。 如果代理没有响应或行为符合您的预期, 缺失或定义不当的样本可能是导致这种情况的原因。 请尝试改进示例或添加新示例。

说明和示例的准确性

虽然这有助于撰写清晰的描述性说明 实际上是样本的质量和数量 而用于确定代理行为的准确性。 也就是说, 将更多时间用于编写详尽的示例 而不是编写非常精确的说明

示例中的参考工具

如果代理要使用工具提供响应,请参考 工具。

工具架构 operationId 字段

在为工具定义架构时 operationId 值很重要。 您的代理说明将引用此值。 以下是对此字段的命名建议:

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

工具架构验证

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

处理空的工具结果

当代理依靠工具来做出响应时,工具结果为空 可能会导致代理行为不可预测。有时,代理 LLM 在回答中使用幻觉信息来代替工具结果。为防止出现这种情况 您可以添加具体说明,以确保代理 LLM 不会尝试 独立回答。

某些用例要求代理响应基于工具结果,或者 提供的数据,并且需要仅根据代理 LLM 的特征来减少响应 知识。

关于如何减少幻觉的说明示例:

  • "您必须使用该工具回答所有用户问题"
  • “如果您没有从该工具获得任何数据,请回答说您不知道 针对用户查询给出解答"
  • “如果未从该工具获得任何数据,请不要编造答案”

使用 Gemini 生成架构

Gemini 可以为您生成架构 例如: 请尝试“您可以为 Google 日历创建示例 openAPI 3.0 架构吗?”

专注客服人员

避免创建庞大而复杂的代理。 每个客服人员都应完成具体且明确的任务。 如果您的代理比较复杂, 可以考虑将它分解为多个较小的分代理。

避免循环和递归

关联代理应用时不要创建循环或递归 。

向示例提供路由信息

当某个客服人员应转接给另一客服人员时, 您应向示例提供此信息。 这是 End example with output information(包含输出信息结束示例)中的示例 字段的输入和输出示例部分。

例如, 此字段的最后一句话可以是 “为进一步查询重新路由回默认代理。”

使用 Dialogflow CX Messenger JavaScript 函数实现个性化

使用 Dialogflow CX Messenger 时, 以下函数有助于向用户发送 将信息从网页界面发送到代理: