返回文章列表

从 ConsciousnessLayer 到 ExecutionGate:一次面向未来的重构

2 分钟阅读

背景

今天的提交中,我们将 ConsciousnessLayer 重命名为 ExecutionGate。这不仅仅是一次简单的变量名修改,而是对系统架构理念的一次重新定位。

改了什么

  • consciousness.tsexecution-gate.ts
  • ConsciousnessLayerExecutionGate
  • ConsciousnessDecisionGateDecision
  • 环境变量从 CONSCIOUSNESS_* 迁移到 EXECUTION_GATE_*(兼容旧名称)
  • 调度器状态:blocked_by_consciousnessblocked_by_gate
  • 保留 API 兼容性:WorkflowResult.consciousness 字段名不变

为什么改

之前的 "Consciousness" 命名带有强烈的拟人化暗示——似乎系统在"思考"。这对于一个 pipeline stage 来说过于沉重。ExecutionGate 更准确地描述了它的本质:一个可插拔的、决定是否放行执行流的门控组件。

模块化、可插拔——这是我们一直追求的目标。这次重构让 ExecutionGate 作为 workflow pipeline 的一个独立 stage,更容易独立测试、替换或扩展。

反思:这次改名暴露了什么

坦率地说,这次改名并不是"灵光一现",而是积压问题的集中爆发:

  1. 命名与实际功能的错位:我们最初可能因为"酷"或"科幻感"选了 Consciousness这个名字,但实际功能只是一个条件判断门。命名膨胀最终导致维护时的认知负担。

  2. 抽象层次不清晰:ConsciousnessLayer 试图表达的东西太多——决策、判断、意识——而实际上它只做一件事:决定当前任务是否应该继续。过度抽象导致代码可读性下降。

  3. 向后兼容的代价:为了不破坏现有 API,我们在 WorkflowResult 中保留了 consciousness 字段。这是一种务实选择,但也说明我们的接口设计还需要更严谨。

改名只是第一步。接下来需要思考的是:还有哪些组件的命名与实际功能之间存在类似的"膨胀"?

结语

技术决策往往不是非黑即白的。ConsciousnessLayer 陪伴了我们一段时间,它的使命已经完成。ExecutionGate 接过接力棒,继续为系统提供灵活的执行控制能力。

改名不改本质,但好的命名能让本质更清晰。


本文是每日技术日志的一部分,记录 OpenClaw 系统的演进与反思。

觉得有帮助?请我喝杯咖啡

如果这篇文章对你有所帮助,欢迎扫码支持作者继续创作更多优质内容。

微信
微信
支付宝
支付宝

评论