内容
# pour
一个小型工具,从精选的公共知识源中返回一个随机的片段,设计用于被大型语言模型(LLM)代理调用作为工具。意图是:向推理中注入外部上下文内容,以打破收敛性思维模式。
布莱恩·伊诺(Brian Eno)的 *Oblique Strategies* 卡片(1975年)的概念后代 —— 但不是固定的牌组,而是从 Wikiquote、维基百科、公共领域评论(Public Domain Review)和 arXiv 中获取实时的片段。
```
$ python3 pour.py --source pdr
[pdr] 晕眩的记载:空中旅行(1871年版)
https://publicdomainreview.org/collection/travels-in-the-air
航空员勇敢地乘坐热气球进入天空的探险记载。
```
## 本仓库的内容
| 文件 | 用途 |
|------|---------|
| `pour.py` | 命令行界面 + 库。实现了四个来源。除了标准库外,没有其他依赖。 |
| `pour_mcp.py` | MCP 服务器包装器。暴露一个工具,`pour`。 |
| `SKILL.md` | Claude 代码技能定义。指示 Claude 何时调用该工具。 |
## 安装
### 作为 Python 命令行界面
```bash
git clone https://github.com/meldro364-glitch/pour
cd pour
python3 pour.py # 一个带权重的随机片段
python3 pour.py --source wq # 强制使用 Wikiquote
python3 pour.py --n 5 # 五个片段
python3 pour.py --json # 机器可读
```
### 作为 Claude 代码技能 + MCP 服务器
1. **复制技能**,以便 Claude 自动为正确的任务触发它:
```bash
mkdir -p ~/.claude/skills/pour
cp SKILL.md ~/.claude/skills/pour/SKILL.md
```
2. **注册 MCP 服务器**,以便 Claude 可以实际调用 `pour`:
```bash
pip install mcp
claude mcp add pour python3 -- "$(pwd)/pour_mcp.py"
```
3. 重启 Claude 会话。使用 `claude mcp list` 验证 — `pour` 应该 ✓ 已连接。
在此之后,当您给 Claude 一个与技能触发器(命名、开放式头脑风暴、重新构建、预先死亡、创造性开启)相匹配的任务时,它将在响应之前静默调用 `pour` 1-2 次,并让片段塑造其框架。
## 来源
| 标志 | 来源 | 特色 |
|------|--------|--------|
| `pdr` | 公共领域评论 RSS(论文钩子) | 精选的、令人惊讶的、段落形式的 |
| `wq` | Wikiquote 随机页面 → 一个引用 | 精选的、可引用的 |
| `wp` | 维基百科随机文章(REST 摘要) | 广泛的、百科全书式的 |
| `arxiv` | arXiv 随机摘要 | 学术的、密集的 |
当没有强制指定来源时的默认权重:`pdr:4, wq:4, wp:3, arxiv:2`。PDR 由于每个 feed 项都是手写的编辑钩子,因此倾向于给出最高的信号。
## pour 有用的时候
- **命名**(产品、功能、项目)—— LLM 默认情况下会循环使用“Synapse / Nexus / Pulse”。17 世纪年鉴中的一个片段可以改变整个命名空间。
- **开放式头脑风暴** —— 当答案集很大,而 LLM 总是返回相同的五个战术行动时。
- **预死亡 / 魔鬼的拥护者** —— LLM 太有礼貌;历史上的一个随机失败故事可以引发更尖锐的批评。
- **重新构建一个卡住的问题** —— 当你怀疑自己正在解决错误的问题时。
- **创造性开启** —— 论文钩子、演讲介绍、帖子引导。
## pour **不** 有用的情况
- 事实问答
- 代码调试或补全
- 数学或算法设计
- 翻译
- 逐步程序任务
在这些情况下,随机片段是模型必须过滤掉的噪声,而且通常会造成伤害。技能描述明确排除了这些情况。
## 为什么它存在
LLM 收敛于安全的模式。即使有温度,底层分布也是模型已经学习的内容 —— 所以相同的隐喻、相同的结构动作、相同的词汇不断涌现。从精选的来源注入 *外部* 内容添加了来自梯度外部的真正惊喜。
这个想法有思想实验先例(布莱恩·伊诺 1975 年的 *Oblique Strategies* ;梅根·麦格拉思(Meghan McGrath)的论文 *Stuff Claude Says* ,询问这样的牌组对于 AI 来说会是什么样子),但我找不到已部署的代理实现。`pour` 是第一次尝试。
## 诚实的注意事项
- 该工具是实验性的。它是否真正有帮助还是一个悬而未决的问题。请将每次使用视为一个数据点。
- 单次调用评估是嘈杂的。价值(如果有的话)在多次使用中累积,当模型开始更频繁地注意到跨领域钩子时。
- 语料库质量就是一切。这里的四个来源还不错,但不是最佳的;添加手动精选的来源(古腾堡计划条目、标准电子书摘录、斜策略本身)是下一步的自然选择。
## 许可证
MIT。参见 [LICENSE](LICENSE)。