AWS开源了n8n社区节点,可视化编排生产级AI Agent,支持持久记忆、真实工具调用、代码执行和VPC隔离,无需写Agent代码。
如果你在 n8n 中构建和自动化工作流而不需要写太多代码,你可能用过它的 AI Agent 节点来在工作流中添加模型调用。这是一个很好的起点。但生产级 Agent 需要的远不止一次模型调用:能够跨多次运行持久化的记忆、真正能使用的工具(比如浏览器或代码沙盒),以及处理更长任务的空间。自己搭建这套脚手架才是真正的难点。
Amazon Bedrock AgentCore 是一个用于大规模构建、连接和优化 Agent 的平台,支持任何框架或模型。AgentCore harness 是 Amazon Bedrock AgentCore 的一项能力,现已正式发布,为你提供了那套脚手架。一个新的开源社区节点将它带入了 n8n 的可视化编辑器。你可以获得具有持久记忆、真实工具和自选模型提供商的生产级 Agent,无需编写基础设施或 Agent 代码。你也不必绑定某个模型。该节点支持 Amazon Bedrock、OpenAI、Google Gemini 和 LiteLLM 支持的提供商,且可以在同一对话的不同轮次之间切换提供商。
在本文中,你将安装节点 @aws/n8n-nodes-agentcore,并在 n8n 编辑器中逐步构建 Agent。你将从一个能记住对话的 Agent 开始,将记忆范围限定到单个用户,添加代码解释器工具,赋予 Agent skills,最后实现以私有方式在你的虚拟私有云(VPC)中运行 Agent。该节点基于 MIT 许可证开源,AgentCore harness 由 AWS 的开源 Agent 框架 Strands Agents 提供支持。
Agent 远不止是一个模型。模型负责推理,但周围的脚手架承担实际工作:它运行编排循环、调用工具、管理上下文窗口、跨轮次保持状态、从故障中恢复,以及隔离每个会话。构建这一层正是大多数团队花费大量时间的地方。
AgentCore harness 将这一层作为托管能力提供。你在配置中定义一个 Agent,包括它使用的模型、它调用的工具、它有权访问的 skills 以及它遵循的指令,然后 AgentCore 为你组装并运行这个循环。每个会话都在自己的隔离环境中运行,拥有文件系统、shell、跨会话记忆和网页浏览功能。当配置不足以满足需求时,你可以将 harness 导出为 Strands 代码,继续在同一系统上运行。
n8n 内置的 AI Agent 节点非常适合在工作流中进行单次模型调用。这个社区节点则更进一步,在 n8n 编辑器中暴露了完整的 harness。它有一个操作和一个决定性字段:Harness ARN:
留空该字段,节点会在首次运行时为你创建一个 Agent,在后续运行时复用它,并在配置变更时更新它。
粘贴现有的 harness ARN,节点会直接调用该 Agent,这样你就可以使用在 n8n 之外创建的 Agent。
该节点使用与其他 n8n AWS 节点(AWS Lambda 和 Amazon S3)相同的 AWS 凭据模式,因此如果你已经在 n8n 中自动化了 AWS 服务,会感到非常熟悉。
在开始之前,请确保你具备以下条件:
一个 n8n 实例。你可以将 n8n 作为自托管安装或通过 n8n Cloud 运行。两者都可以与该节点配合使用。如果你对 n8n 不熟悉,请参阅 n8n 部署文档来选择一种方式并设置你的实例,然后完成初始登录,以便进入编辑器,在其中构建本文的工作流。
已安装该节点。@aws/n8n-nodes-agentcore 是一个经过验证的社区节点,因此你可以直接在 n8n 节点面板中找到它。在编辑器中,添加一个节点,搜索 Amazon Bedrock AgentCore,然后选择它——n8n 会为你安装它。(你也可以从 Settings、Community Nodes、Install 中安装,输入 @aws/n8n-nodes-agentcore。)本文使用的是节点版本 0.3。

一个在支持的 AWS 区域中拥有 AgentCore harness 访问权限的 AWS 账户。
调用者的 AWS 凭据(即将其密钥放入 n8n 凭据的身份)需要具备 harness 调用者权限,另外还需要一个单独的 AWS IAM 执行角色,供 harness 在运行时担任。AWS 在 AgentCore harness 安全文档中维护了最小权限参考策略,节点 README 将每个功能映射到需要添加的权限。
重要提示:在可能的情况下,使用 AWS IAM Identity Center 或 AWS STS 的临时凭据,并在配置 IAM 权限时遵循最小权限原则。不要将凭据提交到源代码控制中。
关于成本的说明:AgentCore harness、它配置的托管内存存储,以及(如果使用的话)VPC 端点都是计费的 AWS 资源。请遵循末尾"清理"部分删除你为本次演示创建的内容,并参阅 AgentCore 文档了解定价。
你只需配置一次 AWS 凭据,方式与其他 n8n AWS 节点相同。
在 n8n 中,进入 Credentials 并选择 New。
搜索并选择 Amazon Bedrock AgentCore API。

输入你的 Access Key ID 和 Secret Access Key,如果你使用临时凭据,还要输入 Session Token。
选择你的 Region,并输入 harness 在运行时担任的 Execution Role ARN。
选择 Test 以确认连接,然后选择 Save。
n8n 中的 Amazon Bedrock AgentCore API 凭据,显示了访问密钥、Region 和执行角色 ARN,连接测试成功。
在这个演示中,你将构建一个能够跨对话轮次记住细节的 Agent。记忆功能默认开启,所以节点会为你配置一个托管内存存储,无需额外配置。
在工作流中添加一个手动触发器,在其后添加 Amazon Bedrock AgentCore 节点,并附加你的凭据。
将 Harness ARN 留空,以便节点创建并复用该 Agent。
输入一个 Agent 名称,例如 travel_concierge。
将 Model Provider 设置为 Amazon Bedrock,并输入一个 Model ID,例如某个 Claude 模型。
输入一个 System Prompt,例如 You are a warm, concise travel concierge,以及一个 Session ID,例如 demo-travel-session。复用这个 Session ID 就是在后续运行中继续对话的方式。
输入第一条消息的 Prompt,例如 "I love warm beaches and I'm vegetarian. Note that for me.",然后运行该节点。
首次运行需要大约 30-60 秒,因为 AWS 在此期间配置 Agent。输出包括 Agent 的响应、token 使用量,以及节点配置内容的摘要,包括为你创建的内存存储。
Turn 1. 节点输出显示 Agent 的响应,以及一个 harness 摘要,确认了托管内存和已配置的内存 ARN。
现在只更改 Prompt 为 Suggest one destination and one dish I'd enjoy, based on what you know about me,保持相同的 Session ID,再次运行。
Turn 2. Agent 回忆起了第一轮中的偏好——温暖的海滩和素食,因为对话通过相同的 Session ID 实现了持久化。
当你不提供 session ID 时,输出字段 sessionSource 显示为 provided;而在第二轮中,输入 token 计数上升,因为节点在 Agent 推理之前加载了之前的对话。如果你将 session ID 留空,每次运行都会开启一段新的对话。
当一个 Agent 服务于多个人时,你可以使用 Actor ID 保持每个人的记忆相互独立。记忆按 actor 和 session 进行范围划分,因此不同的 actor 从同一个 Agent 获得隔离的历史记录。
这种划分是一种层级结构:Agent 持有共享配置,Actor ID 将一个用户的记忆与其他用户的记忆隔离开来,Session ID 则在同一个 actor 内部隔离各个对话。一个 actor 可以有多个 session。不同的 actor 即使使用相同的 session ID,也会得到各自独立的记忆。
使用一个带有托管记忆的 Agent,例如 team_assistant。
在 Additional Options 下,将 Actor ID 设置为每个用户的值,例如 user-alice,并为该用户设置一个 Session ID。
运行第一轮,例如 Remember my project is codenamed Aurora。
将 prompt 改为 What's my project codename?,并使用相同的 actor 和 session 再次运行。
为特定用户配置了 actor ID 和 session ID 的节点。
Turn 1 针对 actor user-alice,存储了一个偏好。
Turn 2 针对同一个 actor。Agent 返回了为该用户存储的值。不同的 actor ID 保持各自独立的记忆。
当 Agent 能够使用工具时,它会变得强大得多。在本演示中,你将赋予 Agent 一个代码解释器,让它能在沙盒化环境中运行代码。
使用一个带有 Claude 模型的 Agent,例如 data_analyst。
在 System Prompt 中,指示 Agent 编写并运行代码来回答问题,然后报告结果。
打开 Add Tools,然后在 Tools 下,选择 Add Tool 并将 Type 设置为 AgentCore Code Interpreter,这是 Amazon Bedrock AgentCore 的一项能力。
输入一个需要计算的 Prompt,例如 "Generate 500 random exam scores between 0 and 100, then report the mean, median, and standard deviation.",然后运行该节点。
Agent 在沙盒中编写并运行代码,返回计算出的均值、中位数和标准差结果,而不是估算。harness 摘要显示已配置一个工具。
你可以用相同的方式添加其他工具,包括云浏览器、AgentCore Gateway(Amazon Bedrock AgentCore 的一项能力)和远程 MCP 服务器。
Skills 是指令和脚本的捆绑包,使 Agent 能够按需获取领域知识。你从 AWS 策划目录、Git 仓库、Amazon S3 或文件系统路径加载它们,harness 只在任务需要时才会加载它们。
使用一个带有 Claude 模型的 Agent,例如 aws_architect。
打开 Add Skills,然后在 Skills 下,选择 Add Skill 并设置 Source。对于策划目录,选择 AWS Skills 并输入一个 glob 模式,例如 core-skills/*。你可以添加更多 skills,例如指向公共仓库的 Git 源。
输入一个受益于该 skill 的 Prompt,例如 "Outline a serverless image-upload pipeline on AWS",然后运行该节点。
Agent 应用加载的 skills 来生成指导,harness 摘要显示已配置的 skills 数量。
对于需要私有网络访问的 Agent,你可以在你的 VPC 中运行 harness。你在凭据上设置网络配置,因此该凭据配置的每个 Agent 都会以私有方式运行。
编辑你的 Amazon Bedrock AgentCore API 凭据。
将 Network Mode 设置为 VPC。
输入你的 VPC Subnet IDs 和 VPC Security Group IDs,然后保存。
为 VPC 模式配置的凭据,包含子网和安全组 ID。
你的子网不需要互联网访问。harness 从同一 Region 的私有 Amazon ECR 仓库中拉取其托管容器镜像,因此你需要的是 Amazon ECR 和 Amazon S3 的 VPC 端点,而不是 NAT 网关。有关所需的端点和执行角色权限,请参阅 AgentCore harness 网络配置文档和 AgentCore harness 安全文档。
在工作流中,使用一个带有 VPC 启用凭据的 Agent,例如 private_vpc_agent。
输入一个 Prompt 并运行该节点。
VPC Agent 的节点输出。harness 摘要显示网络模式为 VPC。
你创建的每个 Agent 都是你 AWS 账户中的一个 harness 资源,它可以配置一个托管内存存储。为了避免持续产生费用,请删除你不再需要的 Agent。
使用 AWS CLI 或 Amazon Bedrock AgentCore 控制台列出你的 harnesses。
aws bedrock-agentcore-control list-harnesses --region us-west-2
删除你为本文创建的 harnesses。有关定价详情,请参阅 AgentCore 文档。
aws bedrock-agentcore-control delete-harness --harness-id <harness-id> --region us-west-2
如果你启用了 VPC,你可能还需要删除为本次演示创建的任何接口 VPC 端点,因为接口端点存在期间会产生费用。
本文演示了记忆、按用户范围限定、代码解释器工具、skills 和 VPC 网络连接。该节点已经支持更多 Amazon Bedrock AgentCore harness 功能集。以下是你接下来可以尝试的内容,每一项都使用与上述配置功能相同的方式进行配置:
你的模型提供商选择,支持在会话中切换。在 Amazon Bedrock 之外,使用 OpenAI、Google Gemini 或 LiteLLM 支持的提供商。在节点上设置提供商和模型,在同一会话的不同轮次之间切换,而不会丢失上下文。非 Bedrock 提供商使用存储在 AgentCore Identity(Amazon Bedrock AgentCore 的一项能力)中的 API 密钥。
更多工具。除了代码解释器之外,添加云浏览器、带可选 OAuth 出站身份验证的 AgentCore Gateway,以及远程 MCP 服务器。
内联函数。让 Agent 回调到你的 n8n 工作流中进行人机交互步骤,然后将结果返回给 Agent。
自定义容器。引入你自己的 Linux/arm64 容器镜像,使 Agent 使用你自己的依赖项运行。
文件系统挂载。使用托管会话存储,或者挂载 Amazon EFS 或 Amazon S3 用于超过会话生命周期的数据。
OAuth 身份验证调用。使用来自你身份提供商的 JSON Web Token(JWT)授权者保护的 Agent 进行调用,该令牌设置在 AgentCore 凭据上。
版本和端点。每次配置更改都会创建一个不可变版本,命名端点让你将预发布和生产环境固定到特定版本。
GitHub 仓库中的 examples 文件夹包含许多可导入的工作流。examples/templates 文件夹中有更完整的工作流,展示了 Agent 与其他 n8n 节点在完整可导入的自动化中协同工作的场景。
在本文中,你安装了用于 n8n 的开源 AgentCore harness 社区节点,并构建了能够记住对话、保持按用户记忆分离、在沙盒中运行代码、使用 skills 以及在 VPC 中私有运行的 Agent——所有这一切都从 n8n 编辑器完成,无需编写基础设施或 Agent 代码。由于该节点支持 Amazon Bedrock、OpenAI、Gemini 和 LiteLLM 提供商,你可以为每个任务选择合适的模型。
要开始使用,请从 n8n 节点面板中添加 Amazon Bedrock AgentCore 节点(或从 Settings > Community Nodes 安装 @aws/n8n-nodes-agentcore),导入一个示例工作流,然后构建你的第一个 Agent。该节点基于 MIT 许可证开源,基于开源 Strands Agents 框架构建,欢迎在 GitHub 仓库上贡献和反馈。要了解更多底层能力,请参阅 AgentCore 文档。
n8n 是 n8n GmbH 的商标。其他商标为其各自所有者的财产。