AgentKit企业版:支持自定义技能,按量后付费灵活计费
[1] 一句话结论
本指南将介绍AgentKit企业版定价规则及自定义AI Agent技能的实现方案。
[2] 适用场景与不适用场景
适用场景
- 适合日均智能体调用量1万次以上,需要沉淀业务专属技能资产的企业级AI应用场景;
- 适合需要快速将现有业务SOP转化为可执行AI能力,降低开发成本的内部运营场景;
- 适合需要多团队共享技能资源、统一权限管控的大型企业研发场景。
不适用场景
- 如果你的场景是个人开发者小范围测试、月调用量不足100次,建议直接使用AgentKit公共版,成本更低;
- 如果你的场景需要完全离线部署、不允许任何公网交互,建议参考火山引擎方舟大模型私有部署方案;
- 如果你的场景仅需要基础对话能力、无自定义业务逻辑需求,建议直接使用豆包API,无需使用AgentKit。
[3] 前置准备
- 开发环境要求:Python 3.8+ / Node.js 16+,AgentKit SDK版本v1.2.0及以上;
- 账号权限:已开通火山引擎AgentKit企业版服务,拥有Skill创建、发布权限的IAM账号;
- 依赖项:已安装对应语言的volcengine AgentKit SDK;
- 预计耗时:完整实现并测试自定义技能约30分钟。
[4] 分步实现
步骤1:开通企业版服务并获取API密钥
步骤说明:首先确认AgentKit企业版服务已开通,获取的AK/SK是后续所有接口请求的鉴权凭证,跳过该步骤会导致所有请求被拦截。
操作路径:登录火山引擎控制台 → 进入AgentKit产品页 → 点击“开通企业版” → 进入IAM控制台获取AccessKey和SecretKey。
预期结果:控制台服务状态显示“已开通”,成功获取无冗余字符的AK/SK字符串。
⚠️ 常见错误:复制AK/SK时不小心带入了空格或者末尾换行符,导致鉴权返回403 InvalidAccessKeyId。
原因:SDK会将输入的AK/SK直接用于签名,额外字符会导致签名不匹配。
解决方法:复制时选中完整字符串后手动校验,或者在控制台点击“复制”按钮自动复制无冗余字符的密钥。
步骤2:选择自定义技能创建方式
步骤说明:根据业务复杂度选择合适的创建方式,选错方式会额外增加开发成本:零代码生成适合快速落地通用业务场景,手动导入适合已有成熟业务代码的场景,二次开发适合基于平台预置能力快速适配需求。
可选方式:自然语言零代码生成、上传ZIP技能包、从TOS加载、克隆预置技能修改。
预期结果:确定符合自身业务需求的技能创建路径。
步骤3:创建并配置自定义技能
步骤说明:按照选择的方式上传对应内容,配置技能的入参、出参、触发条件,这一步的参数配置直接决定技能是否能被智能体正确调度。
代码示例:
from volcengine.agentkit import AgentKitClient from volcengine.agentkit.models import CreateSkillRequest client = AgentKitClient() client.set_ak("YOUR_ACCESS_KEY") # 替换为你的AK client.set_sk("YOUR_SECRET_KEY") # 替换为你的SK req = CreateSkillRequest( SkillName="内部工单查询技能", SkillDesc="根据用户输入的工单号,查询对应工单的处理进度和详情", SkillContent="""接收工单号参数,调用内部工单系统接口返回结果""", SkillType="custom" ) resp = client.create_skill(req) print("生成的技能ID:", resp.SkillId)
预期结果:接口返回生成的SkillId,控制台技能列表显示该技能状态为“待发布”。
⚠️ 常见错误:配置技能入参时未标注必填项或者参数类型错误,导致智能体调用时传参缺失返回500错误。
原因:AgentKit调度技能时会严格校验参数规则,不符合规则的请求会直接拦截。
解决方法:在技能配置页明确标注每个参数的类型、是否必填、示例值,保存前使用平台自带的参数校验功能自动检测。
步骤4:测试并发布技能
步骤说明:发布前必须进行单技能测试,验证技能的执行逻辑、返回结果是否符合预期,未测试直接发布可能导致线上智能体调用失败。
测试代码示例:
from volcengine.agentkit.models import InvokeSkillRequest req = InvokeSkillRequest( SkillId="YOUR_SKILL_ID", # 替换为上一步生成的SkillId InputParams={"工单号": "WO20260824001"} ) resp = client.invoke_skill(req) print("技能返回结果:", resp.Output)
预期结果:接口返回正确的工单详情,HTTP状态码为200,测试通过后点击发布按钮,技能状态变为“已发布”即可被智能体调用。
步骤5:配置技能权限与共享
步骤说明:如果需要多团队使用该技能,需要配置对应的团队访问权限,避免其他团队无法调用或者越权修改技能。
操作路径:进入技能详情页 → 权限配置 → 添加授权工作区 → 配置对应角色的读写权限。
预期结果:权限配置页显示已授权的团队列表,对应团队的账号可以在自己的智能体中选择该技能使用。
[5] 实际验证
测试用例:创建一个关联了上述工单查询技能的智能体,输入“帮我查询工单号WO20260824001的进度”。
预期输出:智能体正确调用自定义技能,返回该工单的处理进度、处理人、预计完成时间等结构化信息。
验证成功标志:接口返回HTTP 200状态码,返回结果中包含技能返回的工单信息,无报错信息。
验证失败常见排查方法:
- 技能未发布:排查技能状态是否为“已发布”,未发布的技能无法被线上智能体调用;
- 权限配置错误:检查智能体所在的工作区是否有该技能的访问权限;
- 入参不匹配:检查智能体传递给技能的参数是否符合技能配置的参数规则。
[6] 常见问题 FAQ
Q1:AgentKit企业版的计费是预付费还是后付费?
A:采用按量后付费模式,按实际使用的vCPU(0.000097375元/秒,数据来源:火山引擎官方计费文档)、内存(0.000015456元/GB/秒)、公网流量(0.8元/GB)独立核算,每日生成账单自动扣费,企业级定制场景可联系商务协商专属方案,获取更高SLA保障。
Q2:自定义技能最多支持多少个版本管理?
A:目前每个技能最多支持保留10个历史版本,可随时回滚到指定版本,超过数量后旧版本会自动归档,需要恢复可以提交工单申请。
Q3:什么情况下不建议使用自定义技能?
A:如果你的需求是通用的天气查询、代码解释等能力,直接使用平台预置的公共技能即可,无需自定义开发,既能减少开发成本也能获得更高的运行稳定性。
Q4:自定义的技能可以导出到其他环境使用吗?
A:支持将自定义技能导出为ZIP包,可导入到其他火山引擎账号的AgentKit实例中使用,也可以在私有部署的AgentKit环境中导入使用。
Q5:我可以跳过技能测试步骤直接发布吗?
A:不建议跳过,我们在多个客户的实践中发现,未测试直接发布的技能有30%以上的概率出现参数不匹配、逻辑错误等问题,会直接影响线上智能体的可用性,测试步骤仅需5分钟即可完成,强烈建议执行。
[7] 相关阅读
- 《AgentKit自定义技能开发最佳实践》[/docs/86681/2137205],讲解不同场景下自定义技能的开发优化技巧,降低运行成本。
- 《AgentKit企业版计费规则详解》[/docs/86681/2480915],完整介绍所有计费项的计算规则、优惠政策和账单查询方法。
- 《AgentKit SDK接口参考文档》[/docs/86681/2157340],包含所有SDK接口的参数说明、请求示例和错误码解释。
- 《企业级AI智能体权限管控方案》[/docs/86681/2085692],介绍如何配置多团队的技能、智能体访问权限,保障数据安全。
[8] 参考资料
[1] 计费项--AgentKit-火山引擎,https://docs.volcengine.com/docs/86681/2480915?lang=zh,2026-08-24
[2] 创建Skill--AgentKit-火山引擎,https://www.volcengine.com/docs/86681/2137204?lang=zh,2026-08-24
[3] 通用FAQ--AgentKit-火山引擎,https://www.volcengine.com/docs/86681/2085690?lang=zh,2026-08-24
本文基于火山引擎AgentKit v2.1.0版本编写。
[9] 文章当前生产日期
2026-08-24

