
5分钟手把手教你学会在亚马逊云科技上设计AI智能体Agent(上)
在 Agent 资源角色(Agent resource role) 部分,我保持默认设置 Create and use a new service role,这样 Agent 假设的 AWS Identity and Access Management (IAM) 角色 会自动创建,无需手动配置。在 Instructions for the Agent(Agent 指令) 部分,我提供了清晰且具体
欢迎大家再次来到亚马逊云科技AI解决方案篇。借助Amazon Bedrock的智能体Agents功能,应用程序可以利用生成式AI在多个外部系统和数据源之间运行任务。亚马逊云科技推出的智能体新功能就简化了Agent的创建和管理,新功能具体如下:
快速创建Agent——大家现在可以在亚马逊云科技上快速创建Agent,通过在Agent中添加指令和操作组,从而为开发流程提供更大的灵活性和敏捷性。
Agent设计控制台—— 所有Agent配置现在都可以直接在控制台的新Agent设计构建器中进行操作。
简化配置 —— 操作组(Action Groups) 现在可以使用简化的API Schema,仅需在UI中列出函数和参数,无需提供完整的API Schema脚本。
由Agent完全控制 —— Agent现在可以不通过使用AWS Lambda函数完成任务,而直接将任务控制权返回给调用Agent的应用程序。这种方式使应用程序可以直接与AWS之外的系统集成,或调用 Amazon VPC内部托管的内部端点所挂载的服务,而无需通过Lambda进行网络和安全配置与VPC内部的服务进行集成。
基础设施即代码 —— 通过使用AWS CloudFormation脚本,通过创新方式简化配置、部署和管理 Agent,确保在不同环境中agent方案保持一致性和可复现性,从而更高效地构建生成式AI应用。
5分钟手把手教会你开发一个AI Agent
使用新简化控制台创建 Agent
接下来我会构建一个Agent来帮助我回复一封包含客户反馈的电子邮件。我可以使用生成式AI,但仅调用基础模型(FM)无法完全满足我们的需求,因为我需要与其他系统交互。为此我们需要使用Agent。
在Amazon Bedrock控制台里,我选择 Agents,然后点击Create Agent创建Agent。输入Agent 名称(customer-feedback)和描述就可以创建 Agent,而不需要在此阶段提供额外信息。
配置 Agent 构建器
下面现在我进入了Agent 构建器(Agent builder),这是用于访问和编辑Agent方案配的地方。
在 Agent 资源角色(Agent resource role) 部分,我可以通过Create and use a new service role直接自动创建一个新的Agent访问权限,这样Agent所使用的AWS IAM角色权限会自动创建,而无需手动配置。
在模型(Model)选项中,我选择了Anthropic Claude 3 Sonnet作为我们Agent运行时所使用的基础模型。
定义 Agent 指令
在为Agent配置提示词指令的部分,我提供了清晰且具体的任务提示词,确保Agent知道自己需要执行的任务。此外我也可以指定Agent回复的风格和语气。对于我的使用场景,我们输入以下提示词:
Help reply to customer feedback emails with a solution tailored to the customer account settings.
在Additional settings(额外设置)的设置部分,我将User input(用户输入)选项开启,这样当 Agent没有足够的信息时,它可以主动向用户询问更多细节进行任务。填好之后我们选择Save以更新Agent配置。
添加 Action Group
接下来我进入Action groups(操作组)部分,操作组主要的目的就是定义当该agent被调用时的操作,点击Add以创建新的Action Group。Action Group允 Agent与外部系统和数据交互,从而获取额外信息或执行特定操作。我输入Action Group名称:retrieve-customer-settings以及备注描述:
Retrieve customer settings including customer ID.
描述(Description)不是必填项,但如果提供了描述,它将作为背景传递给基础模型,帮助Agent 识别何时应该调用该Action Group。
操作组类型选择
接下来在Agent的Action group type(操作组类型)部分,我选择类型:Define with function details(使用函数详细信息定义),这样我只需要在UI中指定函数及其参数即可完成配置。这里还有另一个选项Define with API schemas(使用 API 模式定义)对应的是通过API Schema脚本模式配置Action Group的。
Action Group的行为可以设置成Lambda函数调用,或者配置为将控制权返回给调用Agent的用户或应用,以便它们可以直接为该函数提供响应。最后一个返回控制选项在以下四种主要场景中非常有用:
- 如果直接在现有应用中调用API更简单,而无需创建一个新的Lambda函数来处理API认证和网络配置。
- 如果任务的执行时间超出Lambda函数15分钟的最大超时时间,那么可以让应用运行在容器或 虚拟服务器上,或者使用Step Functions进行工作流编排。
- 如果任务执行时间较长,在启用返回控制后,Agent不需要再等待任务完成即可继续执行下一个步骤,可以在后台异步运行任务,而Agent的整体编排流程仍然可以继续。
- 在开发和测试阶段需要快速模拟API交互,此方式可以解决的模拟开发测试的需求。
在Action group invocation(操作组调用方式)部分,我还可以指定一个Lambda函数,以便当模型在编排过程中识别到需要调用Action Group时调用该函数。我可以选择快速创建一个新的Lambda 函数,或者选择一个已有的Lambda函数,或者选择我们刚介绍的返回控制,让调用Agent的用户或应用决定如何生成响应。下面就是我配置Agent选择Return Control(返回控制)时的具体操作方式。
接下来我将配置Action Group中的第一个交互调用函数。首先我输入函数名称:retrieve-customer-settings-from-crm),并提供以下函数描述:
Retrieve customer settings from CRM including customer ID using the customer email in the sender/from fields of the email.
在Parameters(参数)部分,我添加了email地址作为参数,并设置Customer email(客户邮箱)作为该参数的描述。此参数的数据类型为String,并且要求是必填项。最后选择Add完成第一个Action Group的创建
在本篇中,我们介绍了如何在亚马逊云科技上创建一个AI智能体Agent,并配置一个Agent交互操作组用于Agenty与外部系统和数据交互,我们首先展示的是Return Control(返回控制省),让调用Agent的用户或应用决定如何生成任务执行中的响应,省去开发API调用代码的工作量。欢迎大家继续关注小李哥的亚马逊云科技前沿AI解决方案介绍系列,关注我不要错过未来更多高质量内容。
更多推荐
所有评论(0)