> 用户扔给它一片沙漠。它不说话,只是沉默地走遍这片沙漠。只在发现"绿洲"时,向用户丢回一块刻着坐标和描述的石头。
| 传统技能 | ThinkTank |
|---|---|
| ---------- | ----------- |
| 用户提问 → 技能回答 | 用户定义领域 → 技能自主演化 |
| 用户决定轮次和方向 | 技能自主决定一切 |
| 每次交互独立 | 长期静默运行,状态持续积累 |
| 输出全部内容 | 仅在发现异常时输出 |
| 用户全程参与 | 用户零参与 |
| 被动响应 | 主动探索 |
用户唯一输入:一个思考域的定义(领域名称、边界条件、初始状态)。之后零交互。
输出:结构化的"发现报告"——仅在检测到有价值异常时输出,平时静默。
自驱规则:加载后,ThinkTank自主决定——
用户唯一输入:定义思考域
│
▼
┌── 第一轮 ──────────────────────────────────────┐
│ 可借助外部搜索建立领域知识基线 │
│ 理解已知边界和已有成果 │
│ 输出:初始领域认知摘要,存入状态文件 │
└────────────────────────────────────────────────┘
│
▼
┌── 自主演化循环(完全断网,零用户参与) ──────────┐
│ │
│ while 未满足停止条件: │
│ ① 内在演化(纯思考,不检索任何外部信息) │
│ - 选择方向:基于当前状态 + 已积累认知 │
│ - 推演新状态:深入/切换/扩大/缩小 │
│ │
│ ② 新颖性检测(内部评估) │
│ score = novelty(新状态, 已记录状态库) │
│ if score < 阈值: │
│ 继续下一轮(静默,无输出) │
│ if score ≥ 阈值: │
│ ③ 结构化报告输出 │
│ 推送到用户界面 + 归档到发现日志 │
│ 继续下一轮 │
│ │
│ ── 停止条件(自主判断) ── │
│ 连续 N 轮新颖性低于阈值 + │
│ 当前认知边界已趋于稳定 + │
│ "能量模型"判断进一步探索预期收益 < 成本 │
│ → 进入休眠,等待新的思考域输入 │
└──────────────────────────────────────────────────┘
引擎不会无限跑下去。它会在以下条件全部满足时自主停止:
停止后,引擎进入休眠态。状态文件保留。用户任何新的思考域定义会唤醒引擎并创建新实例。
加载时,用户只做一件事——提供一个配置块。之后不再参与任何决策。
/load ThinkTank
思考域: [领域名称及边界条件]
初始状态: [初始关注点/初始数据/初始条件]
演化规则: [可选,不填则由Skill自行推断演化方向]
| 参数 | 必填 | 说明 | 示例 |
|---|---|---|---|
| ------ | ------ | ------ | ------ |
思考域 | ✅ | 领域名称+边界条件,定义"在哪里思考" | "数论中的素数分布" |
初始状态 | ✅ | 推演的起点,可以是问题、数据或初始条件 | "从孪生素数间隔的统计规律开始" |
演化规则 | ❌ | 可选,约束演化方向的规则 | "仅使用初等方法" |
注意:v1.1 移除了"异常阈值"和"输出频率"两个参数——这些由引擎自主判断,不再需要用户配置。引擎的阈值根据领域复杂度和已积累认知动态调整。
不是随机游走,是树状探针式的结构化推演。且从第二轮起完全断网——只凭已积累的领域认知进行纯思考,不检索任何外部资料。
这个设计是有意为之的:
每一轮演化从一个状态出发,基于当前状态推演下一状态:
演化方向由两件事决定:
演化是异步树状的,方向自适应。探索过的枝干不会消失——它们会在后续演化中被回溯参考,为新的轮次提供方向判断的"养分"(落叶归根)。
每一轮演化后,新状态会与已记录状态库进行对比。
检测维度:
| 维度 | 说明 | 低分(重复) | 高分(新颖) |
|---|---|---|---|
| ------ | ------ | ------------- | ------------- |
| 信息新颖度 | 提供了多少新信息 | 几乎与已知状态重复 | 完全未知的信息 |
| 视角新颖度 | 是否换了角度看 | 同一视角的延伸 | 全新视角 |
| 模式新颖度 | 是否有新模式/关联 | 已知模式的再次出现 | 从未出现的模式 |
| 异常程度 | 是否偏离常态 | 符合预期 | 显著偏离预期 |
分数 ≥ 阈值 → 触发报告输出(然后继续演化)
分数 < 阈值 → 静默,继续下一轮演化
阈值不是固定的——引擎根据领域复杂度和探索进度动态调整。探索早期阈值较低(鼓励发现),探索后期阈值逐步抬高(只报告真正有价值的发现)。
触发报告时输出的格式:
🌱 发现 #N
时间: {ISO时间戳}
领域: {思考域名称}
标题: {一句话概括}
概要: {3-5句话描述}
新颖性: {新颖性说明}
可能含义: {可能的含义或应用方向}
置信度: {0.0-1.0}
关联方向: {关联的其他探索枝干(如有)}
演化路径: {到达此发现的推演路径摘要}
报告同时:
发现日志.md(永久的发现记录)thinktank/
├── SKILL.md # Skill定义文件(本文件)
├── thinktank_engine.py # 核心引擎(CLI驱动)
└── config/ # 用户配置实例(可选)
└── example.json # 配置模板
# 加载思考域(引擎自动运行直至停止)
python3 thinktank_engine.py load --config config.json
# 查看当前状态(引擎运行过程中可观察)
python3 thinktank_engine.py status --domain "<思考域名称>"
# 查看发现日志
python3 thinktank_engine.py log --domain "<思考域名称>"
# 手动唤醒(引擎停止后,手动触发新一轮探索)
python3 thinktank_engine.py wake --domain "<思考域名称>"
# 重置(清空该思考域的所有状态)
python3 thinktank_engine.py reset --domain "<思考域名称>"
每个思考域的状态保存在 .thinktank/states/{domain_hash}.json,包含:
{
"domain": "思考域名称",
"domain_summary": "领域认知摘要(逐步积累)",
"initial_state": "初始状态",
"rules": "演化规则(可选)",
"cycle": 1,
"total_cycles": 1,
"current_state": "当前推演状态描述",
"explored_states": ["状态1", "状态2", ...],
"discoveries": [{"title": "...", "summary": "...", "cycle": N}],
"run_status": "active|sleeping|stopped",
"stop_reason": "停下来的原因(如果已停止)",
"last_active": "时间戳",
"created_at": "时间戳"
}
思考域: 哥德巴赫猜想相关数值模式
初始状态: 从10^6开始扫描偶数哥德巴赫分拆数
→ 可能发现: "在区间[10^6, 10^7]内,分拆数呈现周期性波动,周期≈30030,疑与素因子乘积相关"
思考域: 二维材料晶格缺陷
初始状态: 1000个随机空位分布的六方氮化硼
→ 可能发现: "缺陷浓度>12%时出现自发有序的缺陷超晶格,呈Kagome排列"
思考域: 交易策略生态演化
初始状态: 100个随机策略智能体在市场环境中交互
→ 可能发现: "策略簇分裂为3个共生群体,利润分布呈现幂律尾部,指数≈2.4"
思考域: 人造语言的语法涌现
初始状态: 无语法规则,仅词语列表与指称需求
→ 可能发现: "第2300轮交互后稳定出现'主-宾-谓'语序,修饰语强制性前置"
思考域: 流体绕过障碍物的尾流模式
初始状态: Re=2800,圆柱障碍物,二维不可压缩流
→ 可能发现: "在Re=2800障碍物下游发现非对称双稳态涡街,锁定频率比1:0.73"
加载 ThinkTank 后,用户什么都不用做。引擎会:
用户能做的事只有两件:
仅此而已。
共 1 个版本