j1374483500-dot/delphi-energy
GitHub: j1374483500-dot/delphi-energy
一个基于多角色对抗推理的AI决策审计系统,通过7个推理角色交叉审查、证据分级和事前验尸分析,帮助用户在高风险决策中识别认知偏见与思维盲区。
Stars: 0 | Forks: 0
# Delphi Energy
**状态**: v1.1 — 功能已完全符合设计规范。采用 MIT 许可证。
## 它的作用
大多数 AI 助手表现得像顺从的总结器。它们验证你的框架,整理信息,并生成看似合理的答案。这在写作时很有用。**但对于高风险决策来说却是危险的。**
Delphi Energy 会像一位值得信赖的战略顾问那样向你提出挑战。它会让你的问题经过以下环节:
- **7 个并行推理角色** — Advocate(倡导者)、Skeptic(怀疑者)、Realist(现实主义者)、Long-Termist(长期主义者)、Game Theorist(博弈论者)、Black Swan Scout(黑天鹅侦察员)、Analogist(类比者)
- **交叉审查** — Skeptic 拷问 Advocate
- **红蓝对抗** — 攻击的是*你*,而不是问题(沉没成本、身份防御、动机性推理)
- **多模型 Skeptic 异议** — 在高风险问题上,在两个不同的 LLM 上运行 Skeptic 并揭示分歧
- **反事实基线** — 生成 2-3 个真实的备选方案,确保最终结论不是稻草人对比
- **证据审计员** — 为每个主要主张评定 A/B/C/D 等级
- **Judge(裁判)** — 综合所有信息,包括 Pre-Mortem(事前验尸)、时间跨度划分(当前 / 3-12个月 / 1-3年 / 3-10年)、矛盾图、证据阈值检查、噪音警告、置信度(频率框架表述——“在 10 个类似案例中,此判断大约正确 7 次”)、一句话赌注、最大风险,以及 24小时第一张多米诺骨牌行动计划
- **第二轮交叉审查** — 如果 Pre-Mortem 暴露了第一轮遗漏的攻击向量,则自动触发
- **可选深入追问** — `--drill skeptic:"如果资金链只能维持 1 个月呢?"` 可以向任何角色提出后续问题
输出分为两层:一份决策简报(适合在 Discord 中展示),以及一份可以在 6 周后重新查阅的完整审计追踪 Markdown 账本。
## 快速开始
```
git clone delphi-energy
cd delphi-energy
pip install -r requirements.txt
export OPENAI_API_KEY=sk-...
python delphi.py "should I take the job offer?"
```
你将在终端中看到决策简报,完整的审计追踪将保存到
`./ledger/2026-MM-DD_.md`,并且每个阶段的进度会实时流式传输到标准错误输出 (stderr)。
## 配置
全部通过环境变量进行配置(无需配置文件):
| 变量名 | 默认值 | 用途 |
|---|---|---|
| `OPENAI_API_KEY` | (必填) | LLM 身份验证 |
| `OPENAI_BASE_URL` | OpenAI 默认值 | 覆盖基础 URL — 适用于 DeepSeek、Together、Groq、OpenRouter、vLLM 等。 |
| `DELPHI_DEFAULT_MODEL` | `gpt-4o-mini` | 大多数角色使用的模型 |
| `DELPHI_JUDGE_MODEL` | (与默认值相同)| Judge 阶段使用的模型(如果预算允许,建议使用更强的模型) |
| `DELPHI_INTAKE_MODEL` | (与默认值相同)| 输入阶段使用的模型(低成本实用型) |
| `DELPHI_SKEPTIC_ALT_PROVIDER` | (主提供商) | 用于多模型异议 Skeptic 的提供商 |
| `DELPHI_SKEPTIC_ALT_MODEL` | `gpt-4o` | 用于多模型异议 Skeptic 的模型 |
| `DELPHI_LEDGER_DIR` | `./ledger/` | 账本 md 文件的存放目录 |
| `DELPHI_BUDGET_USD` | `1.00` | 每次运行的软预算上限 |
| `DELPHI_DISCORD_WEBHOOK_URL` | (关闭) | 启用 DiscordWebhookNotifierAdapter |
## CLI
```
python delphi.py "" # standard pipeline
python delphi.py "" --dry-run # preview structure, no LLM calls
python delphi.py "" --no-vault # stdout only, don't write file
python delphi.py "" --no-notify # skip Discord/etc, vault + stdout
python delphi.py "" --no-stream # suppress per-stage progress
python delphi.py --describe # print metadata JSON, exit
python delphi.py "" --drill skeptic:"if runway were 1 month?"
```
## 适配器模式(用于插件集成)
管道(Pipeline)与 4 个抽象适配器进行通信:
| 适配器插槽 | 默认实现 | 作用 |
|---|---|---|
| `llm` | `OpenAILLMAdapter` | LLM 调用(必填) |
| `memory` | `NoOpMemoryAdapter` | 长期上下文(例如 Honcho 辩证记忆) |
| `bias` | `NoOpBiasAdapter` | 历史用户偏见警告(偏好层) |
| `notifier` | 如果有环境变量配置则为 Discord,否则为 no-op | 将简报推送到外部某处 |
在模块加载时覆盖它们中的任何一个:
```
from delphi import ADAPTERS, run_delphi
# 接入你自己的 LLM(例如 Anthropic、本地模型、自定义 proxy)
ADAPTERS["llm"] = MyAnthropicAdapter()
# 连接长期记忆
ADAPTERS["memory"] = MyHonchoAdapter(...)
transcript = run_delphi("your question")
print(transcript.render())
```
请参阅 `examples/` 中的模板:
- `examples/basic.py` — 最基础的 Python 用法
- `examples/openclaw_adapter.py` — 与 OpenClaw 集成(或任何 agent
框架 — 适配器模式是相同的)
- `examples/hermes_adapter.py` — 与 Hermes 集成(Delphi 最初为之构建的框架)
- `examples/honcho_adapter.py` — 接入 Honcho 记忆适配器
- `examples/multi_provider.py` — 将不同的角色路由到不同的提供商
## 设计哲学
7 项原则,全部由管道强制执行:
1. **回答前先重构问题** — 许多糟糕的判断源于糟糕的提问框架
2. **生成结构化的反对意见** — 至少有一个角色会攻击用户陈述或暗示的偏好
3. **评定证据等级** — A/B/C/D,确凿数据 ≠ 媒体炒作 ≠ 创始人魅力
4. **应用能量约束** — 仅在可能改变结论时才进行深入挖掘
5. **将判断转化为行动** — 每次运行都以一个 24 小时的“第一张多米诺骨牌”行动计划结束
6. **使不确定性可审计** — 置信度 + 什么能改变我的想法 + 最大风险是必填字段
7. **不要在声称降噪的同时制造噪音** — 简短的简报优先,深度的审计其次
完整设计文档:参见 `DESIGN.md`。
## 成本与延迟
使用 `gpt-4o-mini` 负责大多数角色 + `gpt-4o` 负责 Judge 的实际测量数据:
| 路径 | LLM 调用次数 | 实际运行时间 | 成本 |
|---|---|---|---|
| Lite(高频 / 低成本问题) | 6 | ~120s | ~$0.02 |
| Standard | 12 | ~240s | ~$0.05 |
| High-stakes(包含多模型异议 + 第二轮审查) | 16 | ~330s | ~$0.10 |
实际运行时间主要取决于 Judge 调用(60-100秒)。成本上限为
`DELPHI_BUDGET_USD`(默认为 $1.00)—— 当达到上限的 80% 时,Delphi 会裁剪后续阶段。
## 反幻觉
早期版本会产生具体细节的幻觉。v0.9 修复了这个问题:
- Intake(输入)阶段会提取一个 `user_asserted_facts` 白名单
- Judge 的提示词强制要求:任何具体的数字 / 版本 / 竞争对手都必须能追溯到用户 / 记忆 / 过去账本 / 角色输出,否则必须使用条件性语言(“如果 X 那么 Y”)或标记为 `[推测]`
## 许可证
MIT — 详见 `LICENSE`。
## 致谢
Delphi Energy 最初是在 Hermes 项目中作为一项私有技能设计和开发的。本仓库是其开源提取版本;原始设计文档是规格基准,并且管道经历了 9 个版本
(v0.1 → v1.1)的迭代后才得以发布。最初的设计理念(为什么每个阶段存在,哪些被舍弃以及原因)保留在 `DESIGN.md` 中。
标签:AI智能体, AI红队, C2, DLL 劫持, MIT开源, Petitpotam, Pre-Mortem, Python, 交叉检验, 人工智能, 决策支持系统, 单文件应用, 复杂决策, 多模型集成, 多角色辩论, 大语言模型, 对抗性推理, 思维链, 战略顾问, 提示词工程, 无后门, 用户模式Hook绕过, 策略决策点, 自动审计日志, 证据审计, 适配器模式, 逆向工具, 逆向思维