高代码 Agent 部署与使用指南

更新时间:
复制 MD 格式

高代码 Agent 支持将自行开发的应用以容器镜像或代码包部署到 AgentCore。您可以保留已有的开发框架和 HTTP 服务,在控制台配置运行环境、调试对话并获取调用地址。

高代码 Agent 支持将自行开发的应用托管到 AgentCore。本文提供两条完整的部署路径,可根据需要选择其中一条,按该路径依次完成准备、创建、配置和验证。

部署方式

需要准备

阅读路径

容器镜像

已推送至企业版 ACR 的应用镜像

第一部分:通过容器镜像部署

代码包

包含应用和依赖的 ZIP 文件,也可使用控制台示例

第二部分:通过代码包部署

部署成功后,可参考第三部分从业务应用调用 Agent,或参考第四部分查看状态并排查异常。应用开发和 SDK 接入请参见文末“开发参考”。

前提条件

  • 已开通 AgentCore 并创建 Workspace,具体操作请参见管理 Workspace。

  • 已准备 Agent 执行角色;应用使用平台模型、MCP、Skill 等资源时,已在目标 Workspace 配置资源,并授予所需访问权限。

  • 应用已有可运行的 HTTP 服务,实际接口与控制台声明的协议和路径匹配。首次体验代码包部署时,可直接使用平台示例。

一、通过容器镜像部署

本流程从镜像准备开始,完成 Agent 创建、调试和后续镜像更新。

1. 准备容器镜像

检查项

要求

架构

支持 Linux x86_64,即 linux/amd64

Shell

提供可执行的 /bin/bash 和 /bin/sh

运行产物

镜像内包含应用、依赖和启动所需文件

镜像仓库

使用企业版 ACR;按创建页要求开启实例的公开匿名拉取,并使用公开仓库

网络

Agent 运行环境能够访问镜像仓库,访问控制与所选公网或 VPC 路径匹配

公开镜像中不要包含密钥和业务数据。镜像构建示例请参见使用 Python SDK 快速创建高代码 Agent。

应用应监听 0.0.0.0,并实现健康检查和所需的对话接口。确认实际启动命令、服务端口、健康检查路径及协议路径。

2. 创建 Agent 并选择镜像

  1. 登录 AgentCore 控制台,选择目标地域和 Workspace。

  2. 进入 Agent 列表,单击 创建 Agent,选择 自定义代码 / 镜像。

  3. 填写 Agent 名称和可选的描述。

  4. 在 选择代码来源 中选择 容器镜像。

  5. 依次选择 容器镜像实例、镜像仓库 和 镜像版本。

字段

操作说明

容器镜像实例

选择已准备的企业版 ACR 实例;新建实例后可刷新列表

镜像仓库

选择应用镜像所在仓库

镜像版本

选择本次部署的 tag,可结合 Digest、镜像大小和最近推送时间核对

建议每次发布使用明确的版本标签,以便确认实际部署内容。

3. 配置启动方式和执行角色

在创建页面填写以下启动配置。

配置项

操作说明

启动命令

填写镜像内可执行的应用命令,确保路径和入口文件与镜像内容一致

服务端口

填写应用实际监听端口,例如应用监听 9000 时应填写 9000

执行角色

选择具备应用所需资源权限的角色,通过 查看策略 核对权限

环境变量

按应用需要添加名称和值,可使用表单模式或 JSON 模式

按页面显示的执行角色状态处理授权:

页面状态

操作

未创建

单击 一键创建并授权

已存在但缺少权限

按页面列出的缺项使用 一键授权,或 前往 RAM 控制台授权

授权未完成或尚未生效

完成授权后重新检查,必要时重试

授权成功,权限已生效

继续后续配置

授权窗口被拦截时,应允许弹出窗口后重试。执行角色用于应用访问云资源;外部系统调用 Agent 使用 Endpoint 页面提供的鉴权信息。

使用模型、MCP 或 Skill 时,需要在应用代码中完成接入。相关方法请参见对应 SDK 指南。

4. 声明对话协议

在 协议配置 中单击 配置,选择应用已实现的协议,填写 Path,并按需添加 Header,完成后保存。可同时选择两种协议。

协议

用途

页面预填 Path

Chat Completions

接收 OpenAI Chat Completions 格式的请求

/openai/v1/chat/completions

AGUI

接收 AG-UI 请求并返回流式事件

/ag-ui/agent

Path 应以 / 开头,填写应用实际路由,不包含域名。例如应用使用 /v1/chat/completions,应将预填值改为该路径。

Header 用于该 Agent 协议接口所需的固定请求头,没有额外要求时留空。不要把下游模型的 API Key 填入这里。

勾选协议不会自动生成接口或工具事件。未声明协议,或协议与实际路由、响应格式不一致,会影响控制台调试。

5. 配置运行资源和健康检查

在 高级配置 中按应用需求配置。

配置项

说明

规格

选择所需 CPU 和内存

实例数

设置运行实例数量

实例最大 Session 数

按应用的并发处理能力设置

Session TTL(秒)

设置平台 Session 的存活时间,不是模型生成超时

会话隔离方式

按需选择 不启用、会话亲和 或 Header 隔离,完成对应配置

健康检查

填写实际检查路径、端口、间隔、超时时间和阈值

健康检查失败可能导致实例停止接收流量或重启。修改应用端口时,也要核对健康检查端口。

Python SDK 镜像快速入门使用以下配置。其他应用应按实际实现填写。

配置项

示例值

启动命令

uvicorn app:server --host 0.0.0.0 --port 9000

服务端口

9000

健康检查路径 / 端口

/readyz / 9000

协议 / Path

AGUI / /ag-ui/agent

6. 配置网络和日志

配置项

操作说明

允许默认网卡访问公网

应用需要访问公网模型、工具或其他服务时按需开启

允许访问 VPC

应用需要访问 Workspace VPC 内资源时按需开启

启用日志

开启后选择 日志项目 和 日志库,用于查看已采集的应用日志

检查 ACR 网络访问控制:未启用 VPC 访问时检查公网拉取路径,并按需将页面显示的 Workspace 公网出口 IP 加入 ACR 白名单;启用 VPC 访问时,确认仓库允许对应 VPC 访问。

应用应输出必要的启动及错误日志,避免记录密钥或敏感内容。

7. 提交创建并验证

  1. 核对镜像版本、启动命令、服务端口、执行角色、协议和健康检查,单击 立即创建。

  2. 返回 Agent 列表查看状态,打开详情,在 概览与配置 中核对已保存的镜像和运行配置。

  3. 等待实例及调试端点就绪,进入 调试,选择已声明的协议。

  4. 发送一条简单消息,检查返回结果,再验证模型、工具或业务资源调用。

  5. 如需重新开始对话,单击 创建会话。异常时记录会话 ID、失败时间,并打开 运行日志 排查。

AGUI 执行过程和工具事件由应用实际输出的协议事件决定,勾选协议不会自动补齐事件。

8. 更新镜像

  1. 构建新镜像并推送到 ACR。

  2. 在 Agent 的 概览与配置 中进入 编辑配置。

  3. 刷新镜像版本列表,选择新版本,并同步调整发生变化的入口、端口、协议和健康检查。

  4. 保存后等待更新完成,再验证调试和业务调用。

仅推送镜像不会代替 Agent 配置更新,应在详情中核对实际选择的版本。

更新可能影响正在处理的请求,请选择合适的业务时间窗口操作。

二、通过代码包部署

本流程使用平台运行时,无需准备容器镜像。可以上传本地 ZIP、导入 OSS 中的 ZIP,或直接使用示例完成部署。

1. 准备代码包

格式和运行要求

检查项

要求

文件格式

非空 ZIP 文件

压缩包大小

不超过 500 MB,即 500000000 字节

解压后大小

不超过 2 GiB

应用依赖

将应用代码与实际运行依赖或构建产物一起打包。平台不会自动安装依赖或编译项目

运行兼容性

与所选语言版本及 Linux x86_64 环境兼容

入口位置

启动命令中的文件路径相对于代码包解压后的根目录

归档路径

使用包内相对路径,不包含绝对路径、路径中的 .. 或指向包外的链接

HTTP 服务

监听 0.0.0.0,监听端口与控制台填写的服务端口一致

健康检查和协议

应用已实现对应接口,接口路径与控制台配置一致

依赖可以在本地或 CI 中准备。含原生扩展、二进制依赖或 JNI 的应用,需要特别检查操作系统、CPU 架构和语言版本兼容性,避免直接打包 macOS、Windows 或 ARM 环境生成的不兼容依赖。

仅包含 requirements.txt、package.json 或 pom.xml 等依赖描述文件,不能代替实际运行依赖。

包内结构和启动命令

运行时

包内结构示例

启动命令

Python 3.12

根目录包含 main.py,依赖放在 python/ 下

python main.py

Node.js 22

根目录包含 main.js、package.json 和 node_modules/

node main.js

Java 17

根目录包含可执行 app.jar;外部依赖按应用的 Class-Path 等配置一并提供

java -jar app.jar

建议进入项目目录后,将目录内的运行文件打包。例如:

cd my-agent
zip -r ../package.zip .

这样入口文件位于 ZIP 根目录。如果实际包结构为 my-agent/main.py,启动命令应填写 python my-agent/main.py。平台不会自动去掉外层文件夹。

如果需要执行多条启动命令,可以将逻辑写入代码包中的 start.sh,启动命令填写 sh start.sh。

代码包支持 Python 3.12、Node.js 22 和 Java 17,实际可用项以当前地域、Workspace 的 运行时 列表为准。使用代码包部署无需自行准备 ACR 镜像。

2. 创建 Agent 并选择运行时

  1. 登录 AgentCore 控制台,选择目标地域和 Workspace。

  2. 进入 Agent 列表,单击 创建 Agent,选择 自定义代码 / 镜像。

  3. 填写 Agent 名称和可选的描述。

  4. 在 选择代码来源 中选择 上传代码包。

  5. 在 运行时 中选择与应用匹配的语言环境。列表加载失败时可单击 重试。

3. 提供代码包

来源选项

操作方式

上传代码包

从本地选择或拖入 ZIP 文件

使用 OSS 代码包

选择 Bucket,填写对象路径并完成校验

使用示例代码创建

使用所选运行时对应的示例代码

上传代码包 同时用于部署方式和本地来源选项:先选择代码包部署,再在下方选择本地上传、OSS 或示例来源。

方式一:上传本地代码包

  1. 在代码包来源中选择 上传代码包。

  2. 单击 点击上传,或将 ZIP 文件拖入上传区域。

  3. 页面会自动开始上传。等待出现“代码包上传成功!”。

  4. 如需更换文件,单击 重新上传 或重新选择文件,并等待新文件上传成功。

  5. 继续完成启动配置和其他部署配置。

上传区域显示文件名不代表上传已经完成。上传失败时,请检查文件格式、大小和网络后重试。

方式二:使用 OSS 代码包

  1. 选择 使用 OSS 代码包。

  2. 在 Bucket 名称 下拉框中选择当前账号、当前地域的 Bucket。可以搜索 Bucket 名称,也可以刷新列表。

  3. 页面会检查 Bucket 授权状态。若提示需要授权,单击 前往授权,按页面提示完成授权;返回后刷新授权状态。

  4. 在 OSS 目录 中填写 ZIP 文件的完整对象路径,包含文件名。

  5. 单击 校验代码包。

  6. 出现“代码包已就绪,可提交保存”后,继续完成其他部署配置。

填写示例:

字段

示例值

说明

Bucket 名称

my-agent-code-bucket

代码包所在的 Bucket

OSS 目录

releases/v1/package.zip

Bucket 内的完整对象路径,包含 ZIP 文件名

OSS 目录 应填写对象路径,不要只填写 releases/v1/,也不要填写带 Bucket 名称的完整 URL。

Bucket 授权与代码包校验是两个步骤。授权完成后,仍需对具体文件单击 校验代码包。当前授权页面会提示对象读、写、删除权限,请核对页面展示的授权范围。导入代码包无需将 Bucket 设置为公开可读。

校验用于检查文件是否存在、大小是否符合要求以及是否可读取,不会启动应用。更换 Bucket 或对象路径后,需要重新校验。保存完成前,请保持来源文件可读,避免覆盖或删除文件。

使用 OSS 来源无需另外配置 挂载 OSS。如果应用需要挂载业务数据,再按实际需求配置数据挂载。

方式三:使用示例代码创建

  1. 选择所需 运行时。

  2. 选择 使用示例代码创建。页面会选择对应示例包并带入启动命令。

  3. 核对服务端口、健康检查和对话协议配置。

  4. 根据是否需要调用真实模型,填写或留空示例的模型环境变量。

  5. 完成其他部署配置后提交创建。

示例配置如下:

运行时

示例名称

启动命令

Python 3.12

Python 3.12 Sample

python main.py

Node.js 22

Node.js 22 Sample

node main.js

Java 17

Java 17 Sample

java -jar app.jar

三个示例使用相同的服务和协议配置:

配置项

值

服务端口

8080

健康检查路径

/healthz

健康检查端口

8080

对话协议

AGUI

协议 Path

/ag-ui/agent

示例模式会补齐 AGUI 协议。若此前已配置 AGUI 路径或请求头,请核对原配置是否适用于当前示例。

选定运行时后,可单击 下载示例代码包,按弹窗提示下载对应代码。示例包已包含运行所需依赖,可以直接部署;修改示例后需要重新打包。

示例支持以下环境变量,名称使用大写,区分大小写:

环境变量

含义

AGENTCORE_MODEL_CONNECTION

当前 Workspace 中的模型连接名称

AGENTCORE_MODEL_NAME

要调用的模型名称

页面会补充这两个环境变量名称,已有同名值会保留。填写方式与运行结果如下:

配置情况

运行结果

两项均不配置或留空

AGUI 返回缺少这两个环境变量的英文提示,并输出 Hello World

只配置其中一项

返回缺少另一项的错误提示

两项均配置

通过 SDK 调用真实模型

首次体验可以将两项均留空。调用真实模型前,应先配置 Workspace 模型连接,并确保执行角色权限和网络满足访问要求。模型解析或调用失败时,示例会返回错误提示。

工具、MCP 和 Skill 的接入用法以注释形式提供,需要根据业务补充实现并重新打包。

4. 配置启动方式和执行角色

完成代码包上传、OSS 校验或示例选择后,填写以下启动配置。

配置项

操作说明

启动命令

填写相对于代码包根目录的入口命令,例如 node main.js

服务端口

填写应用实际监听端口,例如应用监听 9000 时应填写 9000

执行角色

选择具备应用所需资源权限的角色,通过 查看策略 核对权限

环境变量

按应用需要添加名称和值,可使用表单模式或 JSON 模式

代码包部署无需填写平台内部目录、OSS 挂载路径或解压命令。

按页面显示的执行角色状态处理授权:

页面状态

操作

未创建

单击 一键创建并授权

已存在但缺少权限

按页面列出的缺项使用 一键授权,或 前往 RAM 控制台授权

授权未完成或尚未生效

完成授权后重新检查,必要时重试

授权成功,权限已生效

继续后续配置

授权窗口被拦截时,应允许弹出窗口后重试。执行角色用于应用访问云资源;OSS 来源授权用于读取部署文件;外部系统调用 Agent 则使用 Endpoint 页面提供的鉴权信息。

使用模型、MCP 或 Skill 时,需要在应用代码中完成接入。相关方法请参见对应 SDK 指南。

5. 声明对话协议

在 协议配置 中单击 配置,选择应用已实现的协议,填写 Path,并按需添加 Header,完成后保存。可同时选择两种协议。

协议

用途

页面预填 Path

Chat Completions

接收 OpenAI Chat Completions 格式的请求

/openai/v1/chat/completions

AGUI

接收 AG-UI 请求并返回流式事件

/ag-ui/agent

Path 应以 / 开头,填写应用实际路由,不包含域名。例如应用使用 /v1/chat/completions,应将预填值改为该路径。

Header 用于该 Agent 协议接口所需的固定请求头,没有额外要求时留空。不要把下游模型的 API Key 填入这里。

勾选协议不会自动生成接口或工具事件。未声明协议,或协议与实际路由、响应格式不一致,会影响控制台调试。

6. 配置运行资源和健康检查

在 高级配置 中按应用需求配置。

配置项

说明

规格

选择所需 CPU 和内存

实例数

设置运行实例数量

实例最大 Session 数

按应用的并发处理能力设置

Session TTL(秒)

设置平台 Session 的存活时间,不是模型生成超时

会话隔离方式

按需选择 不启用、会话亲和 或 Header 隔离,完成对应配置

健康检查

填写实际检查路径、端口、间隔、超时时间和阈值

健康检查失败可能导致实例停止接收流量或重启。修改应用端口时,也要核对健康检查端口。

使用控制台代码包示例时,服务端口和健康检查端口均为 8080,健康检查路径为 /healthz。自有代码请按实际实现填写,不能只保留页面默认值。

7. 配置网络和日志

配置项

操作说明

允许默认网卡访问公网

应用需要访问公网模型、工具或其他服务时按需开启

允许访问 VPC

应用需要访问 Workspace VPC 内资源时按需开启

启用日志

开启后选择 日志项目 和 日志库,用于查看已采集的应用日志

代码包方式无需配置自有 ACR 仓库。业务代码需要访问的外部服务,仍需满足对应网络条件。Hello World 代码包示例无需连接真实模型。

应用应输出必要的启动及错误日志,避免记录密钥或敏感内容。

8. 提交创建并验证

  1. 核对运行时、代码包、启动命令、服务端口、执行角色、协议和健康检查,单击 立即创建。

  2. 返回 Agent 列表查看状态,并在详情 概览与配置 中核对已保存的代码包和运行配置。

  3. 等待实例及调试端点就绪,进入 调试,选择应用已声明的协议。

  4. 使用本文代码包示例时选择 AGUI,发送一条简单消息。两个模型变量均留空时,应收到变量未配置的英文提示和 Hello World;完整配置后应收到真实模型响应。

  5. 基础调用成功后,再验证工具和其他业务资源访问。异常时记录会话 ID、失败时间,并打开 运行日志 排查;需要新对话时单击 创建会话。

上传或校验成功只代表该步骤完成。平台会保存代码包,在启动时解压并执行入口命令,最终仍需验证应用能够正常启动和调用。

9. 更新代码包

  1. 打开 Agent 详情,在 概览与配置 中进入 编辑配置。

  2. 根据需要选择更新方式。

更新内容

操作方式

仅修改启动命令、环境变量等配置

保留当前代码包,修改所需配置

更换应用代码

单击 更新代码包,选择本地上传、OSS 代码包或示例来源,完成相应上传或校验

取消本次代码包替换

单击 取消更新,恢复原包对应的运行时和启动命令,再核对其他已编辑配置

  1. 核对运行时、启动命令、服务端口、健康检查和协议后,单击 保存。

  2. 等待更新完成,再验证调试和业务调用。

覆盖原 OSS 路径中的文件,不会自动更新已部署 Agent。

例如,覆盖 releases/package.zip 后,Agent 仍使用先前保存的代码包副本。要部署新内容,需要进入 更新代码包,重新选择该来源,完成校验并保存。仅修改其他配置并保留当前代码包,不会重新读取 OSS 中的最新文件。

更新可能影响正在处理的请求,请选择合适的业务时间窗口操作。

10. 下载当前代码包

  1. 打开 Agent 详情的 概览与配置。

  2. 在 代码配置 中查看 运行时 和 代码包。

  3. 单击代码包的文件名链接进行下载。

本地上传、OSS 导入和使用示例创建的已保存代码包,均可通过此入口下载。

下载内容为当前配置保存的代码包,不包含应用运行时产生的文件或修改。对于 OSS 来源,下载内容也不会随原 OSS 对象被覆盖而自动变化。

下载链接有有效期。链接过期或下载失败时,返回页面再次单击代码包文件名获取新链接。

三、从业务应用调用

  1. 在 Agent 详情打开 外部渠道配置,进入 直接访问。

  2. 确认 Endpoint 可用,获取调用地址。

  3. 在 鉴权方式 中使用 获取鉴权信息,按页面要求配置 Header 和 API Key。

  4. 按 API 调用说明 和示例组织请求,使用应用已声明的协议路径。

  5. 发起调用并检查普通或流式响应。

将 API Key 保存在可信的服务端配置中。Endpoint 是 Agent 的入口地址,模型服务的地址和凭据由应用按自身接入方式使用。具体请求格式请参见文末的 SDK 指南。

上述调用方式适用于已完成部署的镜像 Agent 和代码包 Agent。

四、查看运行状态和排查异常

入口

用途

概览与配置

查看镜像版本或代码包运行时、启动命令、端口、环境变量和协议

实例与 Session

查看实例和 Session,记录异常对应的 ID

可观测 → 基础监控

查看异常时间范围内的运行数据

可观测 → 运行日志

查询已采集的应用日志

通用问题

现象

检查方向

镜像不可选或拉取失败

核对 ACR 实例、仓库、版本及访问控制,按页面提示处理

实例未就绪或重启

检查入口和依赖、资源规格、监听地址、服务与健康检查端口;镜像方式还需检查架构和 Shell

调试页没有可用协议

编辑配置,声明应用支持的协议并保存

404 或响应解析错误

核对实际路由、协议 Path 和响应格式

鉴权失败

根据失败位置检查 Endpoint 鉴权信息或应用的执行角色权限

简单对话成功,资源调用失败

检查资源名称、Workspace、权限和网络

没有运行日志

检查日志开关、项目和日志库,确认应用输出日志且查询时间正确

代码包常见问题

问题

处理方法

本地文件无法选择或上传被拒绝

检查文件是否为非空 ZIP,大小是否超过 500000000 字节

启动时提示找不到模块或依赖

将实际运行依赖或构建产物与应用一起打包,平台不会自动安装依赖

本地可运行,部署后出现二进制加载错误

检查依赖是否匹配 Linux x86_64 和所选语言版本

找不到要使用的 OSS Bucket

核对账号、地域和访问权限,搜索或刷新 Bucket 列表

填写 OSS 目录 后仍不能提交

确认路径包含 ZIP 文件名,完成 Bucket 授权后单击 校验代码包

OSS 校验通过,应用仍启动失败

检查 ZIP 是否损坏、解压大小是否超限、入口文件是否存在、依赖是否齐全,并查看运行日志

启动时提示入口文件不存在

检查 ZIP 是否包含额外的外层目录,使启动命令与实际包内路径一致

安全解压失败

检查归档路径和解压后大小,移除绝对路径、越界路径或包外链接后重新打包

示例返回未配置模型变量的提示和 Hello World

两项模型变量均为空时的正常行为;需要调用真实模型时,完整填写两个变量

示例只提示缺少某个模型变量

补齐提示中的变量;如只体验 Hello World,将两个模型变量均留空

更新 OSS 文件后,Agent 仍运行旧代码

在 Agent 中执行 更新代码包,重新校验并保存

页面没有单独的 下载代码包 按钮

在 概览与配置 → 代码配置 中单击代码包文件名下载

运行期间生成的数据如何保存

使用应用自己的持久化存储或单独配置的数据挂载,运行文件不会自动回写代码包

需要协助排障时,请提供地域、Workspace ID、Agent ID、失败时间和错误信息,并附上相关请求 ID 或会话 ID。不要提供 API Key 或包含凭证的完整请求头。

开发参考