章节 01
导读 / 主楼:TetraFrame:基于四元逻辑的 DSPy 推理框架
一个实现四元逻辑(tetralemma)推理的 DSPy 管道框架,通过九阶段流水线将问题分解为四个独立立场(P、非P、两者皆是、两者皆非)进行综合推理。
正文
一个实现四元逻辑(tetralemma)推理的 DSPy 管道框架,通过九阶段流水线将问题分解为四个独立立场(P、非P、两者皆是、两者皆非)进行综合推理。
章节 01
一个实现四元逻辑(tetralemma)推理的 DSPy 管道框架,通过九阶段流水线将问题分解为四个独立立场(P、非P、两者皆是、两者皆非)进行综合推理。
章节 02
在传统二元逻辑中,我们习惯于非此即彼的思维方式——命题要么为真(A),要么为假(非A)。然而,这种二元框架容易陷入折中妥协的陷阱:先陈述一个论点,然后反对它,最后取中间立场。
四元逻辑(Tetralemma,梵语 catuṣkoṭi) 源自佛教逻辑学,由公元2世纪的那伽犀那(Nāgārjuna)发展完善。它提供了四个而非两个选项:
四元逻辑的关键在于:在综合之前,独立探索所有四个角落,避免过早陷入折中。
章节 03
TetraFrame 是一个基于 DSPy 的九阶段推理管道,强制实施四元逻辑的结构化推理流程。它将复杂问题分解为四个独立的立场进行分析,最后综合成一个统一的输出。
章节 04
Seed → Predicate → Four Corners → Harden → Cartograph → Arbitrate → Transform → Domain Adapt → Verify
| 阶段 | 名称 | 功能描述 |
|---|---|---|
| 1 | Seed Distill | 从输入中提取利害关系、约束条件、未知因素和隐藏假设 |
| 2 | Predicate Selection | 选择四个角落将要推理的操作性谓词 |
| 3 | Four-Corner Generation | 独立生成 P、not-P、Both、Neither 四个立场 |
| 4 | Hardening | 强化每个立场,标记实际上是妥协的"Both" |
| 5 | Cartography | 映射四个角落之间的重叠、矛盾和崩溃信号 |
| 6 | Arbitration | 评估各立场的严谨性,检测近似重复和污染 |
| 7 | Transform | 综合四个立场的输出,不进行简单平均 |
| 8 | Domain Adapt | 将结果重塑为特定领域的格式(代码、写作、计划等) |
| 9 | Verify | 最终质量检查,检测妥协语言和虚假新颖性 |
章节 05
TetraFrame 强制要求 P 和 not-P 彼此隔离生成,Both 必须产生两个同时持有 P 和 not-P 的不同立场(而非妥协),Neither 必须拒绝原始框架并提出替代谓词。在 Cartography 阶段之前,任何角落都不能看到其他角落的内容。
这种设计避免了传统链式思维(Chain-of-Thought)中常见的立场污染问题,确保每个立场都是独立、完整的论证。
章节 06
框架内置多重验证机制:
章节 07
# 安装
cd tetralemma
python -m venv venv
venv/bin/pip install -e ".[dev]"
venv/bin/python -m pytest -q
# 运行推理
venv/bin/tetraframe run \
"We keep framing product expansion as enter or do not enter, but the real choice may be staged reversible commitments." \
--config configs/base.yaml \
--out runs/latest/run.json
输出包括:
runs/latest/run.json —— 完整运行产物runs/traces/<run_id>.jsonl —— 每阶段跟踪记录,包含时间和后端信息章节 08
TetraFrame 支持多种模型提供商:
| 提供商 | 配置文件 | 环境变量 |
|---|---|---|
| OpenAI | configs/openai.yaml | OPENAI_API_KEY |
| Anthropic | configs/anthropic.yaml | ANTHROPIC_API_KEY |
| OpenRouter | configs/openrouter.yaml | OPENROUTER_API_KEY |
| OpenAI-compatible | configs/openai_compatible.yaml | 任意 |
还支持 CLI 工具作为后端(如 Claude Code、Codex、OpenCode),通过子进程运行。