通过控制台部署
将本地构建的高代码智能体部署至运行时上,为智能体提供一个安全隔离、与框架和模型无关的托管运行环境,确保智能体在独立、受控的条件下运行。部署完成后,可实时查看智能体托管运行的全链路日志,同时支持离线评估,对智能体的准确性、安全性、流畅性开展综合能力评测。
本文为您介绍如何在控制台上创建智能体运行时,定义智能体的基本信息、来源方式、权限与访问控制等。
前提条件
- 使用智能体运行时前需要先开通AgentArts服务并进行服务授权,请在“授权管理”页面进行云服务开通及授权,详细信息请参考授权管理。
- (可选)如出网网络配置为私网访问,请确保已开通虚拟私有云,并已创建VPC、子网、安全组。详细操作请参见创建虚拟私有云和子网、创建安全组。
- (可选)管理员可在IAM控制台为创建的IAM子用户授予权限,授权后,子用户即可根据权限使用账号中的云服务资源,相关操作步骤如下。
- 创建IAM用户。
- 给IAM用户授权。
- 为子用户授予完整的智能体运行时服务权限,需授予AgentArtsCoreRunFullAccessPolicy身份策略。
- 可根据子用户实际需求创建自定义身份策略并授予如下权限,授权项功能介绍请参考表1。
表1 授权项 授权项
功能介绍
iam:agencies:pass
授予向云服务传递委托的权限。
iam:agencies:createV5
授予创建信任委托的权限。
vpc:routeTables:update
授予更新路由表权限。
vpc:nativePorts:create
授予原生API创建端口权限。
vpc:nativePorts:delete
授予原生API删除端口权限。
eip:publicIps:associateInstance
授予将弹性公网IP绑定网卡的权限。
eip:publicIps:disassociateInstance
授予将弹性公网IP解绑网卡的权限。
kms:cmk:createDataKey
授予使用KMS密钥生成数据密钥的权限。
kms:cmk:decryptDataKey
授予解密数据密钥的权限。
csms:secret:create
授予创建和恢复凭据的权限。
csms:secret:delete
授予删除指定凭据版本状态的权限。
sfsturbo:shares:getShare
查询弹性文件系统。
sfsturbo:shares:getAllShares
查询弹性文件系统列表。
obs:bucket:headBucket
授予获取桶元数据的权限。
obs:bucket:ListAllMyBuckets
授予查询创建的桶列表的权限。
obs:object:getObject
授予下载非指定版本对象的权限。
约束与限制
- 单个用户创建智能体运行时的数量限制:1000个。
- 单个智能体运行时创建的版本数量限制:1000个。
- 单个智能体运行时创建的访问方式数量限制:10个。
- 在“来源方式”中选择镜像时,当前仅支持在ARM64平台上构建的容器镜像。
- 请使用非latest的镜像tag管理镜像更新,使用时应避免重复推送完全相同的镜像名和标签,如强制更新镜像需要重建或者修改智能体运行时使用的镜像路径。
- 访问智能体运行时关于Session路由约束说明如下:
- 使用OBS存储挂载时相关约束及注意事项如下:
- 托管智能体时如使用OBS存储配置,需创建访问OBS服务的VPC终端节点。
- 进入VPCEP控制台终端节点列表页。
- 单击右上角“购买终端节点”,进入购买页。
- 在“购买终端节点”页面,根据提示配置参数,其他参数保持默认,更多参数详细信息请参见购买终端节点。
参数
示例
说明
区域
西南-贵阳一
终端节点所在区域。要求与运行时出网VPC、OBS桶所在区域保持一致。
计费方式
按需计费
按需计费是后付费模式,按终端节点的实际使用时长计费,可以随时开通/删除终端节点。
服务类别
按名称查找服务
选择“按名称查找服务”。
服务名称
-
在终端节点服务列表的“名称”列,输入待访问终端节点服务的名称,单击“验证”。
提交工单获取服务名称,提交工单时同步提供OBS桶名给技术支持人员。将从工单中获得的服务名称填写到“服务名称”中,单击“验证”。
虚拟私有云
-
选择运行时出网VPC。
- 单击右下角的“立即购买”。
- 确认终端节点配置,单击“提交”。
- 挂载目录中的文件或文件夹不支持硬链接命令。
- 挂载目录不会准确显示OBS桶的总容量,用户可以通过OBS控制台查看桶容量情况。
- 对象一旦写入即不可变,不支持原地修改。如需变更内容,必须下载完整对象、本地修改后全量重新上传并覆盖原对象。如果文件较大,建议采用分段上传,仅重新上传受影响的分片。
- 一个OBS桶支持挂载到多个Agent或多台云服务器,各挂载进程间互不感知。数据一致性需由用户自行维护,也不能通过OBS锁定文件。建议可通过分布式缓存服务(DCS)的Redis版本实现分布式锁,可避免出现多人对一个文件同时写入的情况。了解分布式缓存服务相关信息,请参见什么是分布式缓存服务。
- 对于对象存储的多版本功能,AgentArts无法感知到,也没有办法使用多版本的接口。对于开启了多版本控制的桶,AgentArts只能识别当前版本对象和当前版本的删除标记,并且无法对当前版本的对象真正做出修改(对象存储桶里的对象本身是不可修改的,只能覆盖当前版本对象,产生一个新的当前版本对象,原先的对象会变成历史版本对象)。由于上层应用的一些探测性IO(如vim会产生.swp文件),使得多版本桶里将产生大量中间过程对象,且对象无法被AgentArts删除(删除操作会追加删除标记,而不是真正删除)。了解多版本控制与删除对象相关信息,请参见多版本控制和删除对象。
- 对象桶模式采用回写模式(write-back),读和写都会经过客户端本地的文件系统进行中转,通过tmpdir或use_cache参数控制临时文件目录所在的位置。在应用与AgentArts的交互过程中,应用不直接与AgentArts交互,而是先与FUSE交互。应用与FUSE的交互遵循POSIX语义,其中write()只会写到本地文件系统的临时文件,需要在应用调用文件的close()操作时,修改才会真正的上传到OBS。这意味着:
- 数据在close()返回成功之前不在OBS上。进程崩溃、断电、kill -9等异常退出会导致未关闭文件的数据永久丢失。
- close() 可能阻塞较长时间(取决于文件大小和网络带宽)。例如100GB文件的close可能需要数分钟。大对象上传场景,可以通过max_dirty_data参数,在写满部分分段大小时就提前触发上传,以提升整体上传效率。
- 启用use_cache时,已写入但未上传的数据保留在磁盘缓存文件中,下次打开同一文件时有机会恢复。未启用use_cache时,关闭后本地数据立即释放。
基于以上模式,建议在关键数据写入后检查close()返回值,避免close()方法返回错误被吞噬;对持久性要求高的场景使用fsync()定期刷新(需权衡性能);启用use_cache提供额外的数据恢复机会。
- 托管智能体时如使用OBS存储配置,需创建访问OBS服务的VPC终端节点。
托管智能体
- 登录AgentArts智能体平台。
- 在左侧导航栏选择“托管与运行 > 智能体运行时”。
- 单击“托管智能体”,输入相关配置信息,具体参数请参考表2,配置完成后单击“立即托管”。
表2 参数说明 参数
说明
基本信息
名称
智能体运行时的名称,同一账号下名称不可重复。
命名规则:
- 以小写字母开头,小写字母或数字结尾。
- 支持数字、小写字母、中划线。
- 长度为2-48个字符。
描述
用于对智能体运行时内容和用途的简要说明。
规则:长度不大于4096个字符。
来源方式
镜像
指定一个包含智能体应用程序及其所有依赖项的容器镜像。请选择与所选镜像架构匹配的镜像,否则可能导致运行异常。
单击“选择镜像”,在“我的镜像”、“共享镜像”、“镜像中心”下选择需要的镜像。
权限与访问控制
委托
授予的代理权限或代理功能,允许代表智能体与外部系统进行通信和交互。
可使用系统默认创建的DefaultAgentArtsRuntimeAgency委托。
如需手动创建,请单击“创建委托”并参考如下配置创建。
- 委托名称:自定义。
- 信任主体类型:选择“云服务”。
- 云服务:搜索service.WorkloadSandboxMetadata。
- 其余参数使用默认值。
图1 创建委托
委托创建完成后可对委托进行授权,操作具体详情请参考创建信任委托并授权。
说明:使用OBS桶挂载功能时,需为运行时委托配置相应的OBS权限。根据文件系统的访问模式,所需的最小权限如下:
- 文件系统只读操作:obs:bucket:headBucket、obs:bucket:listBucket、obs:object:getObject。
- 文件系统读写操作:obs:bucket:headBucket、obs:bucket:listBucket、obs:object:getObject、obs:object:putObject、obs:object:deleteObject。
以上为最小权限要求。如需配置其他权限,请提交工单咨询OBS权限相关事宜。
入网配置
选择网络配置中创建的网关,通过互联网或者VPC内网访问智能体。
入栈协议
选择入栈协议,定义智能体接收和处理外部请求的方式。关于HTTP以及MCP的详细入站协议请参见入站协议。
入站身份认证
配置入站身份认证方式。在智能体接收到请求时,对请求进行身份验证和授权,确保请求来自可信的来源,并且具有访问特定资源的权限。
支持以下认证方式:
- IAM认证:使用登录管理控制台时使用的IAM用户名进行认证。
- OAuth 2.0认证:将OAuth 2.0配置为入站身份认证。选择“OAuth 2.0认证”后,相关参数配置请参考表4。
- API Key 认证:通过接口的访问密钥进行身份验证和授权。输入API Key的名称后,为智能体运行时创建和绑定API Key。
可观测配置
日志记录
- 未开启,托管运行时过程产生的日志无法上报至云日志服务(LTS)。
- 开启后,托管运行时过程产生的日志会上报云日志服务(LTS),日志管理费用按需收取,有关计费相关内容请参考LTS计费说明。
生命周期配置
说明:当空闲会话超时或最大存活时间满足任一条件时,运行时会话将自动终止。
空闲会话超时
智能体运行时会话在设置的空闲会话超时时间内没有交互或活动,系统会自动结束该会话,历史数据会被清除。
最大值为604800秒(7天),您可以选择以秒、分钟、小时或天为单位进行设置,具体数值会根据所选单位的不同而变化。
最大存活时间
会话持续调用时自动终止前的最大存活时间。
最大值为604800秒(7天),您可以选择以秒、分钟、小时或天为单位进行设置,具体数值会根据所选单位的不同而变化。
高级配置
实例规格
为智能体运行时实例指定CPU和内存规格组合,用户可以根据实际负载特征选择合适的资源规格,从而平衡成本与性能,提升资源利用效率。
当前支持选择2vCPUs | 8GiB。如需增加更多规格,请提交工单申请。
出网网络配置
配置智能体运行时的网络访问方式。
- 公网访问:智能体可以访问互联网上的公共资源。
- 私网访问:连接到内部的私有网络,访问内部的资源和服务。
- 选择已配置的VPC,如未配置,请单击“新建VPC”,具体请参考创建虚拟私有云和子网。
- 选择已配置的子网,如未配置,请单击“新建子网”,具体请参考创建虚拟私有云和子网。
- 选择已配置的安全组,如未配置,请单击“新建安全组”,具体请参考创建安全组。
配置后单击
刷新。
存储配置
当前支持SFS Turbo、会话存储、OBS三种类型。
- 会话存储:用于保存会话上下文、中间结果、用户偏好等,存储资源由后台服务统一托管,每个会话拥有独立存储空间。配置后不支持取消配置,仅支持配置1个。
- SFS Turbo:用于保存会话过程中产生的文件等,存储资源为用户的SFS Turbo文件系统。该配置仅在私网访问下支持并限制数量为5个。
- OBS:用于保存会话过程中产生的文件等,存储资源为用户的OBS桶。最多只能选择5个不同的OBS桶,最多添加10个OBS类型的存储,且OBS仅在私网访问下支持配置。
开启后,单击“添加存储”,详细参数配置请参考表3。
启动命令 (可选)
智能体启动时需要执行的命令,最多添加10个命令,每个命令长度为1-256个字符。
启动命令中如指定端口时需要与监听端口相同。
启动命令、监听端口及环境变量的配置具体可参考Dockerfile参数在智能体运行时中如何使用。
监听端口
智能体在运行时监听的网络端口,用于接收外部的网络请求。
所配置的监听端口需要与镜像中配置的监听端口(Dockerfile文件中的“EXPOSE”)保持一致。当前仅支持配置一个监听端口。
路由配置
在调用智能体运行时的时候,支持指定接口路由匹配类型,以实现更灵活的请求路由策略。- 严格匹配:要求调用URL必须完全符合指定的路径模式,只有当请求的URL路径为/runtimes/{runtime_name}/invocations时,才会匹配成功。一旦选择严格匹配,后续镜像新增的接口无法再修改为前缀匹配。
- 前缀匹配:调用URL的匹配模式支持 /runtimes/{runtime_name}/invocations 以及 /runtimes/{runtime_name}/invocations/{custom_path} 的调用路径。选择前缀匹配后,后续镜像中可以新增、删除接口等。
文件上传下载
开启后,智能体运行时将提供文件上传和下载的API接口。例如,用户可通过上传接口将本地文件发送给智能体,待其分析并生成报告后,下载生成的报告。
- 上传文件:通过调用文件上传接口,将本地文件上传至沙箱环境的指定路径。
上传文件时,单文件大小限制为 100MB,多文件总大小限制为 500MB。
- 下载文件:通过调用文件下载接口,获取沙箱环境中生成的结果文件。
配置后不允许修改。
详细操作说明请参考文件上传与下载。
环境变量 (可选)
标签 (可选)
由“标签键”和“标签值”组成,用于标识和分类云资源。
您可以在TMS中创建预定义标签,用于使用同一标签标识多种云资源,创建后可在标签输入框下拉选择同一标签,具体操作请参考创建预定义标签,创建后单击
刷新。单击“添加标签”,选择在TMS中创建的预定义标签,或自定义输入标签键和标签值。
可添加一个或多个标签,最多添加20个标签。
表3 添加存储参数说明 类型
参数
说明
会话存储
挂载路径
输入会话存储将被挂载的具体目录路径。配置后,每个会话在持久化存储中拥有独立的子目录,这些子目录将作为状态存储挂载到该路径。
挂载路径为/home、/mnt、/data、/tmp及其子目录,不能包含“..”,最大长度为4000字符。
存在多个挂载时(包括OBS、SFS Turbo、会话存储之间),禁止使用相同或存在包含关系的路径。
SFS Turbo
文件系统
选择文件系统。如未创建,单击“创建文件系统”,详细操作说明请参考创建文件系统。
配置后单击
刷新。说明:- SFS Turbo和智能体运行时中的出网网络配置必须在同一VPC内,SFS Turbo文件系统使用的安全组需放通NFS协议使用的端口号,具体信息请参考VPC的安全组是否影响高性能弹性文件服务的使用,安全组需要放通运行时出站的子网网段访问SFS Turbo。
- 选择的文件系统需为NFS协议。
- AgentArts部署智能体运行时时挂载NFS文件系统的soft/hard的模式为hard模式,关于soft/hard的模式详情信息请查看挂载SFS Turbo文件系统到Linux云服务器。
- 为了您的信息安全,请勿在文件系统中存放敏感数据。
存储路径
输入文件系统中数据的存储路径。
存储路径以“/”开头,不能包含“..”,最大长度4000字符,默认为/。
挂载路径
输入文件系统中数据的挂载路径,使得该目录下的文件和目录可以被访问。
- 挂载路径为/home、/mnt、/data、/tmp及其子目录,不能包含相对路径,最大长度为4000字符。
- 存在多个挂载时(包括OBS、SFS Turbo、会话存储之间),禁止使用相同或存在包含关系的路径。
- 同一智能体运行时的多个版本挂载在同一目录时会自动共享。
说明:挂载路径的Linux文件系统权限,继承自SFS Turbo存储路径的原有权限(SFS Turbo根目录权限为任何用户可读写)。此权限不支持通过chmod/chown等命令修改。
读写权限
选择对挂载文件系统的读写权限。
- 读写:可以读取、写入和修改文件系统中的数据,默认为读写。 说明:
Linux文件系统权限和读写权限两者必须同时允许,读写才能成功,如果任一项禁止,读写操作将失败。
- 只读:只能读取文件系统中的数据,不能写入或修改数据。
OBS
OBS桶
选择已创建的OBS桶。如未创建,单击“创建OBS桶”,详细操作说明请参考创建桶。
配置后单击
刷新。说明:- 挂载路径的OBS文件系统权限,继承自OBS存储路径的原有权限(OBS根目录默认权限为任何用户可读写)。此权限不支持通过chmod/chown等命令修改。
- OBS仅支持桶类型,暂不支持并行文件系统。
- 为了您的信息安全,请勿在文件系统中存放敏感数据。
存储路径 (可选)
输入OBS桶内的子目录路径。
挂载OBS桶内的指定子路径,当配置为空时挂载整个桶根目录;非空时挂载桶内指定子目录,必须以'/'开头,支持大小写字母、数字及 ! _ - . * ' ( ) / 等字符且不能包含'..',路径长度为最大1024字符。
挂载路径
输入OBS桶挂载到容器内的路径。
- 挂载路径为/home、/mnt、/data、/tmp及其子目录,不能包含相对路径,最大长度为4000字符。
- 存在多个挂载时(包括OBS、SFS Turbo、会话存储之间),禁止使用相同或存在包含关系的路径。
说明:挂载路径的Linux文件系统权限继承自OBS桶存储路径的原有权限。此权限不支持通过chmod/chown等命令修改。
读写权限
选择对挂载OBS桶的读写权限。
- 读写:可以读取、写入和修改OBS桶中的数据,默认为读写。 说明:
Linux文件系统权限和读写权限两者必须同时允许,读写才能成功,如果任一项禁止,读写操作将失败。
- 只读:只能读取OBS桶中的数据,不能写入或修改数据。
表4 OAuth 2.0认证参数配置说明 参数
说明
Discovery URL
OAuth发现服务器(OAuth discovery server)只支持公网权威的认证服务器,即服务端证书必须能够校验通过。
需输入身份提供商(例如Okta、Cognito等)提供的Discovery URL,该URL通常可在该提供商的文档中找到。输入以https://开头,/.well-known/openid-configuration结尾的有效URL。
JWT授权配置
允许的受众
用于认证为OAuth 2.0指定的受众是否在Agent Identity运行中指定的受众匹配或为其子集。
支持添加100个受众。
允许的客户端
用于认证为OAuth 2.0指定的客户端标识符是否被允许访问Agent Identity。
支持添加100个客户端。
允许的范围
仅当令牌包含此处配置的至少一个必须范围时才允许访问自定义声明。
支持添加100个范围。
自定义声明
仅当令牌中的特定声明与预定义字符串值相匹配时才允许访问。
支持添加100个自定义声明。
运行时界面所显示的状态是运行时创建/删除所处的状态,表示操作本身的执行结果,状态“正常”意味着已成功在AgentArts和Miracle进行创建,并非实际运行的实例的状态。

相关操作
智能体运行时托管部署完成后,支持多维度采集Agent全链路关键指标,可实时观测智能体在托管运行中的使用日志,详细操作请查看高代码智能体运行时数据信息;同时支持离线评估,对智能体的准确性、安全性、流畅性开展综合能力评测,详细操作请参见智能体运行时离线评估任务。
更多操作
智能体运行时创建完成后,您还可以执行如下操作。
| 操作 | 说明 |
|---|---|
| 查看智能体运行时基本信息 | 在智能体运行时页面,单击运行时名称,在“基本信息”页签,查看运行时的基本信息、访问方式及高级配置。 |
| 编辑智能体运行时 | 当修改智能体运行时的基本信息、权限与访问控制,或者智能体代码更新并打包成新镜像重新上传后,运行时版本均会更新。
|
| 删除智能体运行时 | 智能体运行时删除后不可恢复,请谨慎操作。
|