第34章:变量系统源码——多级作用域与类型推导

发布时间:2026/7/11 14:29:59
第34章:变量系统源码——多级作用域与类型推导 1. 项目背景{ {#llm_node.text#}}——这个 Workflow 中最常用的变量引用语法,背后是一套完整的多级作用域机制和8 种类型推导系统。很多开发者用变量时靠"试"——写了{ {#text#}}不行,改成{ {#llm.text#}}也不行,最后改成{ {#sys.query#}}才对了。但下次遇到另一个变量又得从头试。这种"试错法"低效的原因在于不理解变量的三个核心属性:①作用域(Scope)——这个变量从哪来?sys.query是引擎注入的系统变量(Workflow 启动时自动创建),env.API_BASE是部署时的环境变量(docker-compose.yaml 里配的),conversation.user_emotion是跨消息的会话变量(Agent 在某轮对话中写入的),node_id.text是某节点执行后的输出。引用时不写前缀或写错前缀,就会报"变量未找到"。②注册时机(Registration Timing)——变量不是一开始就全在池子里的。节点输出变量在该节点执行成功后才注册到变量池。如果你在节点 B 的 Prompt 中引用了节点 A 的