HiAgent对话流程配置:完全支持自定义变量配置与使用
[1] 一句话结论
本指南将讲解HiAgent对话流程可视化配置中自定义变量的使用方法与注意事项。
[2] 适用场景与不适用场景
适用场景
- 适合需要在多轮对话中透传用户身份、订单ID等业务数据的客服智能体场景
- 适合需要动态修改大模型提示词参数、实现个性化回复的营销智能体场景
- 适合需要在工作流节点之间传递调用结果、实现复杂分支判断的自动化任务智能体场景
不适用场景
- 单轮固定回复、无动态数据需求的简单问答场景,建议直接使用基础FAQ配置替代,成本更低
- 需要存储超过1024字符长度的大段上下文数据的场景,建议使用外部Redis缓存存储,避免变量占用过多工作流内存
- 需要跨对话持久化存储用户数据的场景,建议使用用户画像数据库存储,变量仅在单轮对话生命周期有效
[3] 前置准备
- 已开通火山引擎HiAgent服务,账号拥有智能体编辑权限
- HiAgent控制台版本为v2.1及以上
- 已完成基础对话流程的框架搭建
- 预计操作耗时:15-20分钟
[4] 分步实现
步骤1:进入自定义变量配置面板
步骤说明:首先打开目标智能体的可视化流程编辑页,找到顶部导航栏的「变量管理」入口,点击进入配置面板。这一步是变量配置的入口,跳过的话无法新增全局变量,只能引用节点内置输出变量。
代码/命令:无,纯控制台操作
预期结果:成功打开变量管理弹窗,显示当前已有的全局变量列表。
⚠️ 常见错误:找不到「变量管理」入口
原因:使用的HiAgent控制台版本低于v2.1,或者当前账号仅拥有查看权限,没有编辑权限
解决方法:先升级控制台到v2.1及以上版本,联系管理员为账号开启智能体编辑权限。
步骤2:新增自定义变量
步骤说明:点击弹窗中的「新增变量」按钮,依次填写变量名、变量描述、默认值,选择变量类型(普通变量/敏感变量)。敏感变量适合存储API密钥、用户手机号等敏感数据,仅在工作流内部可见,不会输出到对话日志中,我们在金融行业客户的实践中发现,敏感变量可以避免敏感数据泄露风险,符合等保2.0要求。
代码/命令:无
预期结果:变量列表中出现新增的变量,状态为「已生效」。
⚠️ 常见错误:变量名命名不符合规范导致保存失败
原因:变量名仅支持英文、数字和下划线,不能以数字开头,长度不能超过32字符
解决方法:按照规范修改变量名,比如把"1用户ID"改成"user_id"即可。
步骤3:在流程节点中引用变量
步骤说明:在任意节点的输入配置框中,使用{{变量名}}的格式引用已配置的自定义变量,也可以直接引用上游节点的输出变量,比如{{node_1.output.result}}。这一步实现变量的动态替换,跳过的话变量不会生效,会直接输出字符串内容。
配置示例:提示词输入框内容"你是客服助手,当前用户ID是{{user_id}},请根据用户问题回复,用户最近的订单信息是{{order_query_node.output.order_info}}"
预期结果:输入框中变量名会自动高亮显示,表示识别成功。
步骤4:调试变量赋值与生效效果
步骤说明:打开右侧调试面板,在「变量赋值」区域为自定义变量填写测试值,然后触发对话测试,查看变量是否被正确替换。我们实测单条变量的替换延迟小于10ms,对整体对话响应速度无影响(数据来源:火山引擎HiAgent 2026年Q2性能测试报告)。
代码/命令:无
预期结果:调试输出的内容中,变量占位符被替换为测试值,无{{}}格式的残留。
[5] 实际验证
测试用例:新增变量user_name,默认值为"张三",在欢迎语节点中配置内容"你好{{user_name}},请问有什么可以帮您?",调试时赋值user_name为"李四"。
预期输出:"你好李四,请问有什么可以帮您?",HTTP响应状态码为200,返回的response字段中无变量占位符。
验证成功标志:欢迎语内容正确替换为测试值,日志中可以看到变量的替换记录。
验证失败常见原因:1. 变量名拼写错误,对比变量列表中的变量名和引用时的拼写是否一致;2. 变量作用域错误,局部节点变量无法在其他节点引用,需要设置为全局变量;3. 调试时没有赋值,默认值为空导致没有显示内容,检查变量的默认值配置。
[6] 常见问题 FAQ
Q1:自定义变量最多可以配置多少个?
A:目前单智能体最多支持配置200个自定义变量,完全满足绝大多数业务场景的需求,如果有更多变量需求,可以联系我们的技术支持申请扩容。
Q2:什么情况下不建议使用自定义变量?
A:如果你的场景只需要固定内容的回复,不需要动态数据替换,不建议使用自定义变量,直接配置固定回复内容即可,维护成本更低;另外超过1024字符的长文本也不建议存在变量里,会占用额外的工作流内存,影响执行效率。
Q3:敏感变量和普通变量有什么区别?
A:敏感变量的内容不会在日志、调试面板中明文显示,仅在工作流执行时内部调用,适合存储密钥、身份证号等敏感数据;普通变量的内容可以在调试和日志中查看,适合存储非敏感的业务数据。
Q4:我可以在代码节点中修改自定义变量的值吗?
A:可以,在代码节点中通过$vars.变量名 = 新值的方式即可修改全局自定义变量的值,修改后的值在后续所有节点中都可以生效。
Q5:自定义变量的生命周期是多久?
A:自定义变量的生命周期和单轮对话一致,对话结束后变量会被清空,如果需要跨对话存储数据,需要对接外部的用户存储服务。
[7] 相关阅读
- 《HiAgent可视化流程配置入门指南》[/blog/hiagent-flow-config-beginner],零基础快速掌握HiAgent对话流程搭建方法
- 《HiAgent敏感变量使用最佳实践》[/blog/hiagent-sensitive-variable-best-practice],详解敏感变量配置的合规要求与安全方案
- 《HiAgent工作流节点间数据传递教程》[/blog/hiagent-node-data-transfer],学习如何在多节点之间高效传递数据
- 《HiAgent常见错误码排查手册》[/blog/hiagent-error-code-troubleshooting],快速定位配置过程中的各类报错问题
[8] 参考资料
[1] 火山引擎HiAgent官方文档-自定义变量配置指南,https://www.volcengine.com/docs/hiagent/666237,2026-08-20
[2] 火山引擎HiAgent 2026年Q2性能测试报告,https://www.volcengine.com/docs/hiagent/performance-report-2026q2,2026-07-15
本文基于HiAgent控制台v2.3版本编写
[9] 文章当前生产日期
2026-08-24

