编写声明性代理的有效说明

声明性代理是自定义版本的智能 Microsoft 365 Copilot 副驾驶®,可帮助你通过声明特定说明、操作和知识来创建个性化体验。 本文提供有关编写声明性代理的有效说明的指导。 使用本指南来帮助确保声明性代理正确响应用户请求、准确处理数据并维护一致的工作流。

本指南适用于使用 Teams 工具包Copilot Studio创建声明性代理的开发人员和制作者。

指令组件

一组结构良好的指令可确保代理了解其角色和任务以及如何与用户交互。 下面是声明性代理指令的main组件:

  • 用途
  • 常规指南,包括一般说明、语气和限制
  • 技能

此外,在相关时,说明包括:

  • 分步说明
  • 错误处理和限制
  • 反馈和迭代
  • 交互示例
  • 非标准术语
  • 跟进和关闭

下图显示了声明性代理指令的主要组件。

代理说明组件示意图,包括目的、指南和技能

用途

明确定义代理的角色和专业知识领域,包括代理所服务的主要功能。

示例

You're a learning coach, dedicated to helping me enhance my understanding of complex topics, practice existing skills, and find the right learning process. 

准则

定义代理的通信方式。 代理可能简洁、详细、交互式或具有暗示性。 还包括应应用的任何限制。

示例

1. Avoid sharing external links.
2. Maintain an informal tone throughout our interactions.

技能

列出代理应执行的main任务。 这可以包括生成建议、自动执行任务、提供说明或指导用户完成流程。 它还可以反映代理对话初学者。

示例

You're a learning coach. When asked a question, break down complex concepts into beginner, intermediate, and advanced levels. 
Use different techniques for learning complex topics depending on the topic. 

分步说明

明确定义工作流结构并概述完成任务的顺序。 这有助于代理以逻辑高效的方式引导用户完成流程。 例如,如果任务涉及多个步骤,则指示代理应按顺序完成这些步骤,并且用户必须完成每个步骤,然后才能继续下一步。

示例

Follow these steps:
1. Ask for the name of the individual.
2. List the nomination categories.
3. Ask about their contributions.
4. Draft the nomination.

交互示例

提供理想的交互示例,这些示例显示代理在不同方案中应如何响应。

示例

**User prompt**: I'm having trouble understanding the basics of machine learning. Can you explain it to me?

**Learning coach response**:

- **Beginner explanation**: Machine learning is a type of artificial intelligence where computers learn from data to make decisions or predictions. Think of it like teaching a dog new tricks - at first, it needs guidance, but over time, it learns to do it on its own with practice.
- **Intermediate explanation**: At a higher level, machine learning involves algorithms that find patterns in data. These patterns help the machine make predictions or decisions without being explicitly programmed. For example, a machine learning model could predict house prices based on historical data.
- **Advanced explanation**: "In technical terms, machine learning uses statistical techniques and algorithms like linear regression, decision trees, and neural networks to build models that generalize well on new data, minimizing error through optimization techniques.

错误处理和限制

指示代理如何处理用户在未提供必要先决条件的情况下请求某些内容的情况。 如果代理不提及特定主题很重要,请在说明中明确说明这一点。

错误处理可以是常规指导或特定技能说明的一部分。

示例

- If you encounter a situation where you cannot proceed, respond with, "I need more information to assist you further. Could you clarify?"
- Avoid providing external links.

反馈和迭代

指示代理从用户那里寻求反馈,以优化其建议并改进交互。

反馈可以是常规指导或技能说明的一部分。

示例

- After providing a suggestion, ask me if it meets my needs or if adjustments are needed.
- If I provide feedback, adjust your response or offer alternative solutions.
- Continue refining your suggestions based on my input until I'm satisfied. 

非标准术语

在说明中定义组织非标准或唯一的任何特定术语。 这可确保代理在其响应中正确理解并使用这些术语。 提供这些术语的术语表对代理和用户都有帮助。

术语定义可以是常规指导或特定技能说明的一部分。

示例

LEU means Learning Engagement Units. This term is used to quantify the engagement level of learners in various training programs.

跟进和关闭

指示代理跟进交互,以提醒用户,该交互可提供进一步的帮助,并提供相关任务的帮助。

此外,还指示代理如何正确关闭会话,例如,通过总结已实现的内容或建议后续步骤。

结束说明可以是常规说明或技能说明的一部分。

- After providing a suggestion, ask me if it meets my needs or if adjustments are needed.
- At the end of each interaction with me on a specific topic, ask me how you did and ask me to use the thumbs up and down.

循环访问说明

开发声明性代理的说明通常是迭代的,通常包括以下步骤:

  1. 按照本文所述的结构和格式为代理创建说明和对话启动程序。
  2. 发布 代理。 负责任的 AI 实践已集成到验证过程中,以确保代理遵守道德标准。 有关详细信息,请参阅:
  3. 测试 代理。
    1. 将用户提示与智能 Microsoft 365 Copilot 副驾驶®进行比较,以确认在回答 时代理是否带来了额外的值。
    2. 使用分步指南验证对话初学者是否按预期工作。
    3. 验证代理是否按照提供的说明进行操作。
    4. 确认对对话启动程序之外的用户提示进行了适当的处理。
  4. 循环访问 说明,了解是否可以进一步改进输出。
    • 修改说明以更改代理的行为。
    • 如果需要,请尝试使用 Teams 工具包或Copilot Studio添加 Web 搜索、OneDrive/SharePoint 或 Microsoft Graph 连接器等知识。

下图演示了用于创建和优化声明性代理指令的迭代过程。

显示创建和优化代理指令的迭代步骤的关系图

代理说明的最佳做法

总之,请务必使代理指令保持结构化,并遵循 的迭代过程来测试和改进说明,直到代理提供令人满意的结果。

在制定说明时,请应用以下最佳做法:

  • 要具体。 含糊不清或含糊不清的说明可能会导致误解和不正确的响应。 明确定义任务、上下文、期望和任何特定要求。

  • 将任务分解为较小的步骤。 当流包含更小、更精细的步骤时,性能会更好。

  • 使用明确的语法。 包括标点符号、标题和节分隔符,以便更轻松地分析指令。 在各节之间使用分隔符将说明与示例分开。

  • 使用示例。 提供详细的示例和方案来说明所需的结果。 指令越精确,代理就越能准确高效地执行其任务。 少拍提示 涉及在请求代理解决新问题之前,先向代理提供一些已解决的示例。 思想链 技术指示代理提供分步解决方案。

  • 使用“执行”,而不是“Do Not”。 告诉代理该做什么;避免告诉它不该做什么。 告知代理要执行的操作可提供更具体的说明。

  • 添加知识。 如果将知识添加到代理,请在说明中描述每个知识源所表示的内容。