跳到正文
AWS Machine Learning Blog· Jed Lechner·· 2 小时前AI 评分38

AWS Quick 中 skills 与 agents 如何协同工作

How skills and agents work in AWS Quick

AI 导读

AWS Quick 通过 agents 与 skills 组合来执行可重复任务:agent 遵循指令、按需加载 skills、经 connectors 操作外部应用,并以 spaces、知识库、数据集和仪表盘作为数据依据。

正文 · AI 翻译

如果你使用 AI 代理,你可能不止一次地解释过同一个任务。你可能描述过如何构建每周状态更新、编写发布说明、管理项目或创建工单。这些都是可重复的任务,你可以通过代理和技能使用 AWS Quick 将其编码。AWS Quick 是一项 AI 驱动的服务,用于自动化任务、分析数据、构建 Web 应用程序和开展研究。你可以用自然语言与它交互,Quick 使用 AI 代理针对你连接的数据源和应用程序处理你的请求。

在本文中,我们介绍代理、技能和你的数据如何在 AWS Quick 中协同工作,以及如何构建和共享适用于你团队的技能。我们还会展示官方目录和自定义代理如何帮助你运用这些技能。

理解基础概念

在本节中,我们解释有助于你理解 AWS Quick 与代理、技能和数据之间关系的基础概念。

Hub-and-spoke diagram with the Quick agent at the center, connected to its instructions, skills, connectors, and data sources

图 1:Quick 代理如何遵循其指令、加载任务所需的技能、通过连接器执行操作,并基于你的数据为其回答提供依据

代理位于图 1 的中心。它遵循其指令,加载任务所需的技能,通过连接器执行操作,并基于你的数据为其回答提供依据:空间、知识库、数据集和仪表板。

使用代理

AWS Quick 中的代理是一个可配置的 AI,拥有自己的指令、知识源(空间)和连接器,用于回答问题并为你完成工作。你可以在聊天中与代理交互,或通过例程让它自行运行。代理只能访问你所能访问的资源和服​​务,并且由你决定每个代理允许执行的操作。

Quick 是每个用户都可以访问的默认内置代理。它没有固定范围,因此在每次对话中,它会使用你有权访问的任何资源,例如你的空间、知识库、仪表板、连接器和技能。你无需预先决定某个请求需要哪些数据或工具,因此你可以用 Quick 开始大多数工作。

自定义代理是你或你团队中的某人为特定工作配置的代理。例如,一个人力资源(HR)入职助理,它从 HR 团队的空间中回答新员工的问题。你为它提供自己的指令,并将其限制在你的用例所需的空间、连接器和技能范围内。在测试并发布后,你可以将其共享给 AWS Quick 账户中的其他用户和群组。有关构建此类代理的演练,请参阅使用 AWS Quick 构建 AI 驱动的员工入职代理。

使用数据

代理基于你连接到 Quick 的数据为其回答提供依据。空间是文档和 AWS Quick 资源的精选集合,代理将其用作信息来源。你可以为自己、你的团队或组织中的其他群组创建一个空间。你可以将文件和文件夹上传到空间,或添加仪表板、知识库、操作连接器和数据集等资产。当你开始与 Quick 对话时,你可以附加一个空间,以缩小 Quick 在该对话中使用的数据范围。当你将空间添加到代理时,该空间会成为代理配置的一部分,代理会在请求需要时利用它。

知识库是来自数据源的文档或内容的有组织、已索引的集合,针对检索和问答进行了优化。Quick 可从 Google Drive、Microsoft OneDrive、Confluence、Microsoft SharePoint、Amazon Simple Storage Service (Amazon S3)、网络爬虫或 Amazon Bedrock Managed Knowledge Bases 等来源同步知识库。Quick 会按同步计划使其保持最新。

数据集和仪表板来自 AWS Quick Sight,这是 Quick 中的商业智能功能,可在通过 AWS Management Console 预置的账户中使用。数据集是准备好用于分析和仪表板的已准备数据集合。仪表板是与其它 Quick 用户共享的分析的已发布版本。借助数据集,您可以在结构化数据(例如数据库表)之上构建语义丰富的元数据,从而通过自然语言完成复杂的分析用例。

最后,连接器将 AWS Quick 链接到外部应用程序或原生工具,以便代理可以读取数据并代表您采取操作。云连接器将 Quick 连接到 Microsoft Outlook、Slack、Jira、Asana 和 Salesforce 等服务,以及远程托管的 Model Context Protocol (MCP) 服务器。它们可在您使用 Quick 的每台设备上使用。本地连接器在您自己的机器上运行,例如您自行托管的 MCP 服务器,因此其工具仅在机器开启并连接时可用。有关连接器类型的完整列表,请参阅 AWS Quick 用户指南中的连接器和集成特定指南。

这些功能共同使您的数据、文档和应用程序可通过自然语言访问,因此您可以在已连接的来源中提问并采取操作。

使用技能

技能是一组可复用的指令,用于教导代理如何完成特定任务。技能也是 Quick 中代理行为和完成工作的基础。与其他代理一样,Quick 中的代理在遵循推理与行动 (ReAct) 模式的运行框架(托管代理循环)中运行。当您向 AWS Quick 提供提示时,代理会使用其可用的工具和指令来实现目标并向您提供响应。Strands Agents SDK 等代理框架也围绕相同的模型驱动循环构建。

Quick 默认执行的许多操作都来自系统技能。例如,您可以要求 Quick 生成 Word 文档、PowerPoint 演示文稿、Excel 电子表格或 PDF。系统技能随后可以使用该技能捆绑的脚本通过代码创建或编辑文档。其他系统技能可浏览网页、运行代码、执行深度研究、转录音频和视频以及生成图像。有些技能管理 Quick 本身,例如构建 AWS Quick Flows、安排例程、将工作交给 Kiro 等编码代理、管理您的记忆和知识图谱,或跟踪您的待办事项。在 Quick 中,您可以开启或关闭系统技能,但无法编辑、复制、导出、发布、共享或删除它们。

由于 AWS Quick 提供的功能和工具,技能可以完成多种类型的工作。例如,一个技能可以生成交付物,比如根据你的模板构建的每周状态更新。另一个技能可以跨你的连接器自动化工作流,比如收集本周的 Jira 更新并将摘要发布到 Slack。技能还可以在 Python 脚本中运行计算,并用 JavaScript 将结果绘制成图表。

什么是技能?

Quick 技能遵循 Agent Skills 规范,该规范最初由 Anthropic 开发并作为开放标准发布。桌面版 AWS Quick 于 2026 年 4 月进入预览,并于 2026 年 9 月正式可用,它使用了这一规范。

技能是一个文件夹,其根目录下有一个 Markdown 文件 SKILL.md,以及其指令所使用的任何可选脚本或其他参考文件。该文件的 frontmatter,即两行 --- 之间的属性,包含名称、描述以及与你的技能相关的任何其他元数据。请参见以下名为 release-notes-generator 的技能的简化示例。

---
name: release-notes-generator
description: "Generates human-readable release notes from merged pull requests, commits, or changelogs ... Use when asked to 'generate release notes', 'write changelog', ..."
---

描述和名称是触发技能的两个最重要的方面。Quick 在将你的技能加载到智能体提示中时使用渐进式披露。智能体只读取每个技能的名称和描述,直到有请求需要该技能。然后它会加载该技能的完整指令,如智能体如何加载技能所述。这意味着某些短语可以帮助触发技能,例如“为版本 2.3 生成我的发布说明”。该规范将 name 限制为 64 个字符,将 description 限制为 1,024 个字符,并建议技能内的指令少于 5,000 个 token。

Skill folder named release-notes-generator containing a SKILL.md file alongside optional scripts and references folders

图 2:release-notes-generator 技能文件夹,包含必需的 SKILL.md 文件以及可选的 scripts 和 references 文件夹

在 Quick 中构建和共享技能

你可以从聊天、从文件(.md 或 .zip 文件)或从根目录下具有 SKILL.md 文件的文件夹创建技能。本文重点介绍聊天方式。首先,在聊天中向 Quick 描述你的任务。例如,你可以从以下模板开始(将 <> 括号之间的内容替换为你的需求):

Every <specify your cadence e.g. every day, on monday, or none at all>, I have to grab data from the following sources:
- <List your sources and how you want to query them>
...

And do <describe how you want to transform the data and the exact sequence of steps>. 

Once I am finished, I have to create a report <describe your report format or provide an example> and send to the following stakeholders <describe your recipients> using the following connector <describe your connector>.

Create a skill from this requirement, and help me come up with testing scenarios to test the skill. 

这就是开始构建你自己的技能所需的全部内容。或者,你也可以采用之前为完成某项任务而进行的多轮对话,并要求 Quick 从中生成一个技能。在你对最终结果满意后,发布并共享你的技能:

  1. 选择自定义,然后选择技能。
  2. 在草稿中找到你的技能,并打开其详情面板。
  3. 选择发布。
  4. 选择共享,然后选择要与之共享的人员或群组。

发布和共享是分开的步骤,因此仅发布并不会让任何人访问该技能。与你共享的人会从与我共享下的添加到 Quick 中添加它,并且每次你再次发布时,他们的版本都会保持同步。有关当前步骤,请参阅 AWS Quick 用户指南中的草稿和已发布版本以及共享你的技能。

用最佳实践改进你的技能

根据简短描述或对话构建的技能可能对你来说运行稳定,但在构建与团队共享的生产级技能时,有许多考虑因素必须纳入考量。技能就像代码一样,许多工程最佳实践可以帮助任何知识工作者构建它们。

  • “在我机器上能跑”是软件工程师常说的一句话。它描述的是那种对构建者本人能正常运行,但别人安装或使用时就出问题的软件。在构建技能时,你必须考虑自己的环境。技能指令可以使用代理来查询数据源,或调用连接器或工具。软件工程师通常通过记录使用软件的前提条件来规避这一限制。例如,如果你要单独分享一个技能,你可能想创建一个 README,在其中记录这些要求。如果你分享一个使用你技能的代理,也要分享它所连接的来源,否则与你分享的人只能从他们本就能访问的来源获得答案。
  • 为失败做好规划。代理使用的连接来源依赖于第三方和第一方服务。工程师编写代码时,需要了解当某部分软件失败时该怎么做。如果你把这些场景纳入技能指令,你的代理就能根据具体指令做出调整。你不需要成为下游服务的专家,因为代理会朝着目标推进,并在某一步失败时重试或尝试其他方法。你确实需要列出当失败影响你的任务或业务流程时该怎么做。以下是一个技能中工作流的片段,它一旦失败可能会产生连锁影响。
[Agent] Send the report to {{recipient}} over email.

如果发送电子邮件失败,代理应该怎么做?你可能想针对该场景补充相应指令。

[Agent] Send the report to {{recipient}} over email.
Validate: The report appears in your Sent folder.
If fails: Stop, and tell the user that the report wasn't sent and why, so they can send it themselves.

当按计划在无人值守的情况下执行代理时,处理失败场景就更为重要。

  • 测试每一处变更。软件工程师会编写多种形式的测试,例如单元测试和集成测试,来帮助测试软件。这些测试会在每次变更时运行。对于技能而言,同样重要的是,你要为各种场景生成自己的测试用例,并在做出变更时持续添加新测试。有多种方法可以做到这一点,但最好使用你预期下游用户会使用的环境进行测试。

构建生产级技能时还有更多方面需要考虑:

  • 为每次变更添加发布说明。
  • 将会变化的硬编码值(例如 /Users/me/notes 或 #my-team)排除在步骤之外,并将其声明为每个人提供的输入。
  • 用人类可读的日期记录技能何时发生变更。
  • 记录每个参考文件的来源,这样当来源发生变化时,你也可以更新技能指令。
  • 存储校验和,即技能文件的指纹,用于显示某个副本与已校验版本何时出现差异。
  • 在每次变更后检查结构,就像 linter 在任何人审查代码之前发现错误一样。
  • 以一致的方式构建技能,这样你的团队就能贡献变更并更快地审查它们。

对任何用户来说,这都有很多需要考虑的地方。这就是为什么 AWS Quick 官方目录 提供了预构建资源(例如技能),这些资源在构建时就考虑到了这些最佳实践。

AWS Quick 官方目录

该目录汇集了各类智能体资源,你可以直接安装使用,也可以将其作为起点,调整后用于自己的工作。目录中说明,其中的每一项资源在发布前都经过测试,并针对质量、安全及其他因素进行了扫描。这些技能涵盖日常生产力,以及销售、市场营销、人力资源、法务、项目管理、客户成功和软件工程等团队的工作。它们还覆盖金融、医疗与生命科学、能源与公用事业、酒店业以及供应链与物流等行业。

该目录包含 Skill Architect 技能,这是一个预构建技能,可为你应用这些工程最佳实践,如 Build skills with software engineering practices in AWS Quick 所述。要安装它,请依次选择 Customize、Skills、Browse all,然后选择 Official。在搜索框中输入 skill architect,然后选择 Install。有关当前步骤,请参阅 Install skills in AWS Quick on desktop。

将技能连接到你的智能体

创建智能体时,你需要配置其名称、描述和指令,并选择它读取的空间、可使用的连接器以及可加载的技能。详情请参阅 AWS Quick 用户指南中的 Agent configuration。智能体在解决特定用例时效果最佳,例如回答新员工问题或准备每周状态报告,并将它的世界限定在该用例所需的空间、技能和连接器范围内。默认情况下,智能体可以使用你的所有技能;当你添加特定技能后,智能体就被限制为只能使用这些技能。当你共享该智能体时,这就会成为问题,因为它以使用者的访问权限运行。同一个请求对每个人可能触及不同的数据和技能,并且当它需要只有你能访问的来源时,可能返回不完整的答案。

如果你想将智能体、技能和空间全部串联起来,请尝试关联研讨会中的个人智能体架构模块。

结论

在本文中,我们展示了智能体如何在 AWS Quick 中使用技能和你的数据,以及如何构建和共享适用于你团队的技能。我们还展示了官方目录和自定义智能体如何帮助你运用这些技能。

要了解更多信息、查找活动或分享你使用 AWS Quick 的成功经验,请访问 AWS Quick Community。AWS Quick Community 提供学习材料、功能公告、活动以及其他用户的示例。你也可以在其问答论坛中提问。

如需观看关于本文主题的录制会议,请观看 Encode Your Enterprise with Agents & Skills on AWS Quick。该会议涵盖技能的结构和加载方式、技能如何与智能体、空间和连接器协同工作,以及构建可共享技能的最佳实践。会议最后演示了官方目录和 Skill Architect 技能。

以下是由每天从事 AWS Quick 工作的专家设计的一些其他资源:


关于作者

Jed Lechner

Jed Lechner

Jed 是 Amazon Web Services 的高级专家解决方案架构师,专注于 Agentic AI 解决方案。在担任现职之前,他曾在 AWS 及其他公司担任软件工程师,专注于能源与可持续发展领域。

来源:AWS Machine Learning Blog · aws.amazon.com