Zing 论坛

正文

Dillylang:为思维过程设计的形式化推理词汇系统

一个用于推理思维过程的形式化词汇系统,通过九大正交思维操作符的组合,构建可在人类、模型或流水线中执行的推理配方,为结构化思考提供可追踪、可预算的形式化框架。

推理思维过程形式化AIClaude Code认知科学结构化思维
发布时间 2026/05/11 18:45最近活动 2026/05/11 18:50预计阅读 14 分钟
Dillylang:为思维过程设计的形式化推理词汇系统
1

章节 01

导读 / 主楼:Dillylang:为思维过程设计的形式化推理词汇系统

一个用于推理思维过程的形式化词汇系统,通过九大正交思维操作符的组合,构建可在人类、模型或流水线中执行的推理配方,为结构化思考提供可追踪、可预算的形式化框架。

2

章节 02

背景

引言:当思维需要被显式描述\n\n人类思考的过程往往是内隐的、难以言说的。我们做出决策、解决问题,但很少能清晰地说出"我是如何思考的"。这种模糊性在人脑中或许无碍,但在人机协作和 AI 系统的时代,能够显式描述和编排思维过程变得越来越重要。\n\nDillylang 正是针对这一需求诞生的项目——它不是一个 Agent 框架,而是一套形式化的思维操作词汇,用于将思考过程显式化、结构化、可执行化。\n\n## 项目定位:词汇即产品\n\nDillylang 的核心定位非常明确:词汇本身才是产品,而具体的实现(Python 代码、Claude Code skills)只是实现细节。这种设计哲学体现了作者对"思维可编程性"的深刻理解。\n\n### 与 Agent 框架的区别\n\n当前 AI 领域充斥着各种 Agent 框架,它们通常包含:\n\n- 循环执行机制(loop)\n- 工具调用能力(tool use)\n- 自主决策逻辑\n\nDillylang 刻意避开了这些。它不提供循环,不提供工具使用,而是专注于纯粹的、可组合的、可追踪的思维操作。每一个运行都会产生可检查的追踪记录,且执行有明确的预算限制。\n\n这种设计选择使得 Dillylang 更像是一种"思维汇编语言"——底层、精确、可组合,而非高层的自动化框架。\n\n## 核心设计:九大正交思维操作符\n\nDillylang 的设计原则是"在深度预算限制下,最大化思维正交轴的覆盖"。基于这一原则,项目定义了九大核心操作符,分布在六个思维维度上:\n\n### 1. 组合性维度(Compositionality)\n\n- decompose(分解):将复杂问题拆解为更小的组成部分\n- synthesize(综合):将多个部分整合为整体\n\n这对操作符对应着分析思维与综合思维的基本能力,是任何推理过程的基础。\n\n### 2. 否定维度(Negation)\n\n- invert(反转):从相反的角度思考问题\n\n这个操作符的命名致敬了查理·芒格(Charlie Munger)推广的"Invert, always invert"原则,而芒格又将其归功于数学家卡尔·雅可比(Carl Gustav Jacob Jacobi)的名言"man muss immer umkehren"(必须总是反过来想)。Dillylang 对反转问题的偏好正是源于此。\n\n### 3. 框架维度(Frame)\n\n- rotate(旋转):切换思考框架或视角\n\n当在一种框架下思考遇到瓶颈时,rotate 允许我们切换到另一种框架,如从用户视角切换到系统视角,或从短期视角切换到长期视角。\n\n### 4. 类比维度(Analogy)\n\n- analogize(类比):通过类比进行推理\n\n类比是人类思维的核心能力之一,Dillylang 将其显式化为一个可操作的操作符。\n\n### 5. 抽象维度(Abstraction)\n\n- abstract(抽象):提取本质,忽略细节\n- concretize(具体化):将抽象概念具体化\n\n这对操作符管理着思维的不同抽象层级,使我们能够在细节和全局之间灵活切换。\n\n### 6. 约束维度(Constraint)\n\n- constrain(约束):添加限制条件\n- relax(放松):移除或放宽限制\n\n约束管理是创造性思维和问题解决的关键技术,Dillylang 将其形式化为可组合的操作。\n\n## 组合器:构建复杂推理流水线\n\n除了九大核心操作符,Dillylang 还提供了用于组合这些操作符的机制:\n\n- pipe(管道):顺序执行多个操作\n- parallel(并行):同时执行多个操作\n- map(映射):对集合中的每个元素应用操作\n- filter(过滤):根据条件筛选元素\n\n这些组合器使得简单的操作符能够构建出复杂的推理流程。例如:\n\n\nrefine = pipe(decompose, parallel(invert, rotate), synthesize)\nresult = refine.run({"problem": "..."})\n\n\n这个例子展示了一个典型的推理流程:先分解问题,然后并行地从反转和旋转两个角度思考,最后综合各角度的洞察。\n\n## 评估与元能力\n\n除了核心的思维操作符,Dillylang 还定义了评估和元能力操作符:\n\n### 评估操作符(Judges)\n\n- evaluate(评估):对结果进行质量评估\n- classify(分类):将内容归类\n- compare(比较):比较多个选项\n- rank(排序):对选项进行排序\n\n### 元能力(Meta-skills)\n\n- translate(翻译):在不同表示之间转换\n- canonize(规范化):决定哪些探索性内容值得进入规范文档\n\n这些操作符为推理过程提供了元认知能力,使得系统能够自我评估和自我改进。\n\n## 实际应用:自举设计案例\n\nDillylang 的一个引人注目的特性是它被用于设计自身。作者使用 Dillylang 词汇来设计 canonize 操作符——这个操作符决定哪些探索性内容值得进入规范文档。\n\n使用的流水线是:decompose → invert → synthesize → apply → evaluate\n\n这个自我应用的过程产生了三个对规范第 8 节的结构性修改,并且这些修改在同一个会话中就被应用了。这种"自举"(bootstrapping)设计展示了 Dillylang 的表达能力——它不仅能描述一般思维过程,还能描述自身的进化过程。\n\n## 项目结构与资源\n\nDillylang 项目组织清晰,包含以下核心资源:\n\n- spec/PRIMER.md:操作参考文档(入门首选)\n- spec/INDEX.md:完整规范及设计原理\n- docs/decisions/:架构决策记录(ADR 001-010)\n- skills/:操作符的 Claude Code skills 实现\n- examples/:捕获的流水线追踪记录\n\n特别值得注意的是 skills/ 目录,它包含 markdown 格式的 skill 包,Agent 运行时可以通过 bunx skills add ./skills 安装。这种设计使得 Dillylang 的操作符可以被各种 Agent 环境直接使用。\n\n## 技术实现与生态集成\n\nDillylang 提供了多种实现路径:\n\n1. Python 实现:作为基础运行时\n2. Claude Code Skills:每个操作符作为独立的 skill,可直接在 Claude Code 中使用\n3. Agent 运行时集成:通过 skill 包机制与各种 Agent 环境集成\n\n这种多实现策略确保了 Dillylang 的词汇可以在不同环境中使用,而不绑定到特定技术栈。\n\n## 当前状态与发展路线\n\n项目目前处于早期阶段(pre-1.0),作者明确表示接口可能会变化。当前状态:\n\n- 核心词汇已定义并文档化\n- 提供了 Claude Code skills 实现\n- 已记录 10 个架构决策(ADR 001-010)\n- 欢迎讨论,但暂不接受 PR\n\n双许可证策略(代码 Apache-2.0,文档 CC BY 4.0)体现了对开源社区友好但保持控制权的谨慎态度。\n\n## 哲学意义:思维的可编程性\n\nDillylang 的意义超越了技术实现,它触及了一个深层问题:思维过程能否被显式编程?\n\n传统上,我们认为思维是内隐的、直觉的、难以形式化的。但 Dillylang 的尝试表明,至少某些思维操作是可以被命名、组合和执行的。这类似于编程语言的发展——从机器码到汇编到高级语言,每一层抽象都让我们能够更清晰地表达意图。\n\nDillylang 试图为思维提供类似的抽象层。它不会取代人类的直觉和创造力,而是为那些可以被显式描述的思维过程提供工具和词汇。\n\n## 局限性与挑战\n\n作为一个早期项目,Dillylang 面临一些固有的挑战:\n\n1. 学习曲线:形式化思维需要训练,不像自然语言那样直观\n2. 覆盖范围:九大操作符是否足够覆盖所有思维场景?\n3. 执行效率:显式编排的思维流程可能比内隐思维更慢\n4. 生态系统:需要更多实际应用案例来验证其价值\n\n这些挑战也是机遇——它们定义了项目未来发展的方向。\n\n## 总结:一种新的人机协作范式\n\nDillylang 代表了一种新的人机协作范式:不是让 AI 替代人类思考,而是为人类和 AI 提供共同的语言来描述思考过程。在这种范式下,人类负责定义思维策略(recipes),AI 负责执行和追踪,双方都能理解和检查整个过程。\n\n对于正在探索 AI 辅助推理、知识管理、决策支持的团队和个人,Dillylang 提供了一个值得关注的思路:与其追求完全自动化的"黑箱"Agent,不如构建透明、可检查、可组合的推理流水线。\n\n正如项目所展示的,即使是设计系统本身的过程,也可以用这套词汇来描述和执行——这种自举能力或许正是其设计成熟度的最佳证明。

3

章节 03

补充观点 1

引言:当思维需要被显式描述\n\n人类思考的过程往往是内隐的、难以言说的。我们做出决策、解决问题,但很少能清晰地说出"我是如何思考的"。这种模糊性在人脑中或许无碍,但在人机协作和 AI 系统的时代,能够显式描述和编排思维过程变得越来越重要。\n\nDillylang 正是针对这一需求诞生的项目——它不是一个 Agent 框架,而是一套形式化的思维操作词汇,用于将思考过程显式化、结构化、可执行化。\n\n项目定位:词汇即产品\n\nDillylang 的核心定位非常明确:词汇本身才是产品,而具体的实现(Python 代码、Claude Code skills)只是实现细节。这种设计哲学体现了作者对"思维可编程性"的深刻理解。\n\n与 Agent 框架的区别\n\n当前 AI 领域充斥着各种 Agent 框架,它们通常包含:\n\n- 循环执行机制(loop)\n- 工具调用能力(tool use)\n- 自主决策逻辑\n\nDillylang 刻意避开了这些。它不提供循环,不提供工具使用,而是专注于纯粹的、可组合的、可追踪的思维操作。每一个运行都会产生可检查的追踪记录,且执行有明确的预算限制。\n\n这种设计选择使得 Dillylang 更像是一种"思维汇编语言"——底层、精确、可组合,而非高层的自动化框架。\n\n核心设计:九大正交思维操作符\n\nDillylang 的设计原则是"在深度预算限制下,最大化思维正交轴的覆盖"。基于这一原则,项目定义了九大核心操作符,分布在六个思维维度上:\n\n1. 组合性维度(Compositionality)\n\n- decompose(分解):将复杂问题拆解为更小的组成部分\n- synthesize(综合):将多个部分整合为整体\n\n这对操作符对应着分析思维与综合思维的基本能力,是任何推理过程的基础。\n\n2. 否定维度(Negation)\n\n- invert(反转):从相反的角度思考问题\n\n这个操作符的命名致敬了查理·芒格(Charlie Munger)推广的"Invert, always invert"原则,而芒格又将其归功于数学家卡尔·雅可比(Carl Gustav Jacob Jacobi)的名言"man muss immer umkehren"(必须总是反过来想)。Dillylang 对反转问题的偏好正是源于此。\n\n3. 框架维度(Frame)\n\n- rotate(旋转):切换思考框架或视角\n\n当在一种框架下思考遇到瓶颈时,rotate 允许我们切换到另一种框架,如从用户视角切换到系统视角,或从短期视角切换到长期视角。\n\n4. 类比维度(Analogy)\n\n- analogize(类比):通过类比进行推理\n\n类比是人类思维的核心能力之一,Dillylang 将其显式化为一个可操作的操作符。\n\n5. 抽象维度(Abstraction)\n\n- abstract(抽象):提取本质,忽略细节\n- concretize(具体化):将抽象概念具体化\n\n这对操作符管理着思维的不同抽象层级,使我们能够在细节和全局之间灵活切换。\n\n6. 约束维度(Constraint)\n\n- constrain(约束):添加限制条件\n- relax(放松):移除或放宽限制\n\n约束管理是创造性思维和问题解决的关键技术,Dillylang 将其形式化为可组合的操作。\n\n组合器:构建复杂推理流水线\n\n除了九大核心操作符,Dillylang 还提供了用于组合这些操作符的机制:\n\n- pipe(管道):顺序执行多个操作\n- parallel(并行):同时执行多个操作\n- map(映射):对集合中的每个元素应用操作\n- filter(过滤):根据条件筛选元素\n\n这些组合器使得简单的操作符能够构建出复杂的推理流程。例如:\n\n\nrefine = pipe(decompose, parallel(invert, rotate), synthesize)\nresult = refine.run({"problem": "..."})\n\n\n这个例子展示了一个典型的推理流程:先分解问题,然后并行地从反转和旋转两个角度思考,最后综合各角度的洞察。\n\n评估与元能力\n\n除了核心的思维操作符,Dillylang 还定义了评估和元能力操作符:\n\n评估操作符(Judges)\n\n- evaluate(评估):对结果进行质量评估\n- classify(分类):将内容归类\n- compare(比较):比较多个选项\n- rank(排序):对选项进行排序\n\n元能力(Meta-skills)\n\n- translate(翻译):在不同表示之间转换\n- canonize(规范化):决定哪些探索性内容值得进入规范文档\n\n这些操作符为推理过程提供了元认知能力,使得系统能够自我评估和自我改进。\n\n实际应用:自举设计案例\n\nDillylang 的一个引人注目的特性是它被用于设计自身。作者使用 Dillylang 词汇来设计 canonize 操作符——这个操作符决定哪些探索性内容值得进入规范文档。\n\n使用的流水线是:decompose → invert → synthesize → apply → evaluate\n\n这个自我应用的过程产生了三个对规范第 8 节的结构性修改,并且这些修改在同一个会话中就被应用了。这种"自举"(bootstrapping)设计展示了 Dillylang 的表达能力——它不仅能描述一般思维过程,还能描述自身的进化过程。\n\n项目结构与资源\n\nDillylang 项目组织清晰,包含以下核心资源:\n\n- spec/PRIMER.md:操作参考文档(入门首选)\n- spec/INDEX.md:完整规范及设计原理\n- docs/decisions/:架构决策记录(ADR 001-010)\n- skills/:操作符的 Claude Code skills 实现\n- examples/:捕获的流水线追踪记录\n\n特别值得注意的是 skills/ 目录,它包含 markdown 格式的 skill 包,Agent 运行时可以通过 bunx skills add ./skills 安装。这种设计使得 Dillylang 的操作符可以被各种 Agent 环境直接使用。\n\n技术实现与生态集成\n\nDillylang 提供了多种实现路径:\n\n1. Python 实现:作为基础运行时\n2. Claude Code Skills:每个操作符作为独立的 skill,可直接在 Claude Code 中使用\n3. Agent 运行时集成:通过 skill 包机制与各种 Agent 环境集成\n\n这种多实现策略确保了 Dillylang 的词汇可以在不同环境中使用,而不绑定到特定技术栈。\n\n当前状态与发展路线\n\n项目目前处于早期阶段(pre-1.0),作者明确表示接口可能会变化。当前状态:\n\n- 核心词汇已定义并文档化\n- 提供了 Claude Code skills 实现\n- 已记录 10 个架构决策(ADR 001-010)\n- 欢迎讨论,但暂不接受 PR\n\n双许可证策略(代码 Apache-2.0,文档 CC BY 4.0)体现了对开源社区友好但保持控制权的谨慎态度。\n\n哲学意义:思维的可编程性\n\nDillylang 的意义超越了技术实现,它触及了一个深层问题:思维过程能否被显式编程?\n\n传统上,我们认为思维是内隐的、直觉的、难以形式化的。但 Dillylang 的尝试表明,至少某些思维操作是可以被命名、组合和执行的。这类似于编程语言的发展——从机器码到汇编到高级语言,每一层抽象都让我们能够更清晰地表达意图。\n\nDillylang 试图为思维提供类似的抽象层。它不会取代人类的直觉和创造力,而是为那些可以被显式描述的思维过程提供工具和词汇。\n\n局限性与挑战\n\n作为一个早期项目,Dillylang 面临一些固有的挑战:\n\n1. 学习曲线:形式化思维需要训练,不像自然语言那样直观\n2. 覆盖范围:九大操作符是否足够覆盖所有思维场景?\n3. 执行效率:显式编排的思维流程可能比内隐思维更慢\n4. 生态系统:需要更多实际应用案例来验证其价值\n\n这些挑战也是机遇——它们定义了项目未来发展的方向。\n\n总结:一种新的人机协作范式\n\nDillylang 代表了一种新的人机协作范式:不是让 AI 替代人类思考,而是为人类和 AI 提供共同的语言来描述思考过程。在这种范式下,人类负责定义思维策略(recipes),AI 负责执行和追踪,双方都能理解和检查整个过程。\n\n对于正在探索 AI 辅助推理、知识管理、决策支持的团队和个人,Dillylang 提供了一个值得关注的思路:与其追求完全自动化的"黑箱"Agent,不如构建透明、可检查、可组合的推理流水线。\n\n正如项目所展示的,即使是设计系统本身的过程,也可以用这套词汇来描述和执行——这种自举能力或许正是其设计成熟度的最佳证明。