100风
╔══════════════════════════════════════════════════════════╗
║ ██╗ ██████╗ ██████╗ ███╗ ███╗██╗███╗ ██╗██████╗ ║
║ ███║██╔═████╗██╔═████╗████╗ ████║██║████╗ ██║██╔══██╗ ║
║ ╚██║██║██╔██║██║██╔██║██╔████╔██║██║██╔██╗ ██║██║ ██║ ║
║ ██║████╔╝██║████╔╝██║██║╚██╔╝██║██║██║╚██╗██║██║ ██║ ║
║ ██║╚██████╔╝╚██████╔╝██║ ╚═╝ ██║██║██║ ╚████║██████╔╝ ║
║ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝╚═════╝ ║
╚══════════════════════════════════════════════════════════╝人工智能代理的对抗性决策智能
100minds将100位传奇思想家(从Knuth到Schneier,从Deming到Hinton)引入一个对抗性委员会,在决策失败之前对其提出质疑。用于生产 爽口的 以指导自主编码代理。
    
是什么让这与众不同
大多数“心智模型”工具都会给你通用的建议。100种不同:
| 功能 | 100minds | 通用工具 |
|---|---|---|
| 对抗性辩论 | 赞成/反对/挑战立场 | 单选 |
| 伪造标准 | 对于每个职位,“如果……这是错误的” | 无 |
| 从结果中学习 | Thompson对您的结果进行采样 | 没有记忆 |
| 生产测试 | 自主集群中的100000多个决策 | 仅限演示 |
| 加密审计 | Ed25519签名,哈希链 | 无 |
快速开始
# Install
cargo install --git https://github.com/JYeswak/100minds-mcp.git
# Get counsel
100minds counsel "Should we rewrite the legacy system?"
# Run as HTTP server (for swarm integration)
100minds --serve --port=3100输出:
┌─────────────────────────────────────────────────────────────┐
│ 🧠 100MINDS DECISION INTELLIGENCE │
└─────────────────────────────────────────────────────────────┘
📋 Should we rewrite the legacy system?
┌─ FOR ───────────────────────────────────────────────────────
│ Kent Beck [confidence: 0.72]
│ "Do the simplest thing that could possibly work."
│ ⚠️ Falsifiable if: Simple solution can't meet requirements
│
├─ AGAINST ───────────────────────────────────────────────────
│ Fred Brooks [confidence: 0.68]
│ "Adding more engineers to a late project makes it later."
│ ⚠️ Falsifiable if: Small, independent tasks can parallelize
│
└─ CHALLENGE ─────────────────────────────────────────────────
Devil's Advocate [confidence: 0.95]
🔍 Missing: rollback plan, team capacity, timeline constraints生产集成(Zesty Swarm)
100minds为决策层提供动力 爽口的,一个自主编码群。反馈回路:
┌─────────────────────────────────────────────────────────────────────────────┐
│ FACTORIO FEEDBACK LOOP │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Worker │ │ 100minds │ │ Thompson │ │
│ │ Spawns │────▶│ Counsel │────▶│ Posteriors │ │
│ │ │ │ │ │ (α, β, ρ) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │ │ ▲ │
│ │ │ decision_id │ │
│ ▼ │ principle_ids │ │
│ ┌──────────────┐ │ │ │
│ │ Worker │ │ │ │
│ │ Executes │ │ │ │
│ │ Task │ │ │ │
│ └──────────────┘ │ │ │
│ │ │ │ │
│ │ success/failure │ │ │
│ ▼ ▼ │ │
│ ┌──────────────┐ ┌──────────────┐ │ │
│ │ Daemon │────▶│ Record │──────────┘ │
│ │ Records │ │ Outcome │ Updates posteriors: │
│ │ Outcome │ │ │ success → α += 0.05 │
│ └──────────────┘ └──────────────┘ failure → β += 0.10 │
│ │
└─────────────────────────────────────────────────────────────────────────────┘集成代码(Rust):
use minds_mcp::{CounselEngine, CounselRequest};
// Pre-work: Get guidance before task
let engine = CounselEngine::new()?;
let counsel = engine.counsel(&CounselRequest {
question: format!("Worker starting on task: {}", task_description),
domain: Some("software-development".to_string()),
decision_id: Some(format!("bead-{}", bead_id)), // Links outcome back
..Default::default()
})?;
// Inject counsel into worker context
let guidance = format_counsel_for_worker(&counsel);
// ... worker executes task ...
// Post-work: Record outcome for learning
engine.record_outcome(&RecordOutcomeRequest {
decision_id: format!("bead-{}", bead_id),
success: task_succeeded,
principle_ids: counsel.principle_ids(),
confidence_score: Some(worker_confidence),
..Default::default()
})?;建筑
┌─────────────────────────────────────────────────────────────────────────────┐
│ YOUR DECISION │
│ "Should we rewrite the legacy system?" │
└──────────────────────────────┬──────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ 100MINDS ENGINE │
│ ┌───────────────┐ ┌───────────────┐ ┌───────────────┐ ┌─────────────┐ │
│ │ FTS5 Search │ │ Neural │ │ Template │ │ Thompson │ │
│ │ + Keywords │ │ Posterior │ │ Detection │ │ Sampling │ │
│ │ (SQLite) │ │ (ONNX) │ │ (12 types) │ │ (α/β/ρ) │ │
│ └───────────────┘ └───────────────┘ └───────────────┘ └─────────────┘ │
└──────────────────────────────┬──────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ 100 THINKERS │ 354 PRINCIPLES │ 6 DOMAINS │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────┐ │
│ │ Software │ │ Systems │ │ Business │ │ Decision │ │Philosophy│ │Secur-│ │
│ │ 20 │ │ 15 │ │ 20 │ │ 15 │ │ 15 │ │ity 15│ │
│ │ Knuth │ │ Deming │ │ Drucker │ │ Hinton │ │ Dennett │ │Schnei│ │
│ │ Fowler │ │ Ohno │ │ Thiel │ │ LeCun │ │ Bostrom │ │ er │ │
│ │ Brooks │ │ Senge │ │ Graham │ │ Pearl │ │Hofstadter│ │Mitnick│
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────┘ │
└──────────────────────────────┬──────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ ✅ FOR (confidence) │ ⚠️ AGAINST (confidence) │ 🔍 CHALLENGE │
│ + Falsification │ + Falsification │ + Missing │
│ criteria │ criteria │ considerations │
└──────────────────────────────┬──────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ Ed25519 Signature │ SHA-256 Hash Chain │ Audit Trail │
└─────────────────────────────────────────────────────────────────────────────┘神经后部(ONNX)
神经后验用在40k合成决策/结果对上训练的ONNX模型替换简单的Beta分布:
- MLP编码器 对语境特征的自我关注
- 64个暗嵌入 为原则和思想家
- 输出:成功概率+认知不确定性
- UCB风格探索:
score = success_prob + exploration_weight * uncertainty
这允许原则选择考虑背景(领域、难度、紧迫性),而不是平等对待所有决策。
MCP API参考
100minds通过HTTP上的JSON-RPC公开了15个工具:
核心工具
| 工具 | 说明 |
|---|---|
counsel | 让对抗性的智慧委员会做出决定。返回符合伪造标准的支持/反对/挑战头寸 |
record_outcome | 记录学习的成功/失败。更新汤普森后防线。 对反馈回路至关重要。 |
pre_work_context | 在开始工作之前获取相关框架。在任务开始时使用。 |
发现工具
| 工具 | 说明 |
|---|---|
search_principles | 跨354个原则的FTS5全文搜索 |
get_decision_template | 12个常见决策的指导决策树(单体与微服务、构建与购买等) |
get_synergies | 找到能很好地协同工作的原则 |
get_tensions | 找出相互冲突的原则——你必须做出选择 |
check_blind_spots | 确定你可能错过了什么 |
detect_anti_patterns | 检查已知的不良模式 |
学习工具
| 工具 | 说明 |
|---|---|
sync_posteriors | 获取所有原理的汤普森采样α/β/ρ。被蜂群用来同步学习。 |
record_outcomes_batch | 守护进程重启恢复的批量结果记录 |
counterfactual_sim | “如果我们没有使用这些原则呢?”模拟 |
wisdom_stats | 主要业绩记录统计 |
验证工具
| 工具 | 说明 |
|---|---|
validate_prd | 对照哲学框架检查PRD。捕捉布鲁克斯的违法行为、YAGNI问题等。 |
audit_decision | 带有Ed25519签名的完整来源链 |
示例:完整JSON-RPC调用
curl -X POST http://localhost:3100/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "counsel",
"arguments": {
"question": "Should we add caching to the API?",
"domain": "architecture",
"decision_id": "bead-josh-abc123"
}
}
}'CLI使用情况
# Get adversarial counsel
100minds counsel "Should we use microservices?"
# With JSON output for automation
100minds counsel "Should we add caching?" --json
# Specify domain for better matching
100minds counsel "Should we use Redis?" --domain=performance
# Record outcome (closes learning loop)
100minds --outcome --success
# View statistics
100minds --stats
# Run as HTTP server
100minds --serve --port=3100
# Validate a PRD
100minds --validate-prd path/to/prd.json
# Analyze PRD with 100minds metadata
100minds --analyze-prd path/to/prd.json
# Thompson Sampling stats
100minds --thompson stats
# Run benchmarks
100minds --benchmark scenarios
100minds --analyze coverage安装
选项1:货物(推荐)
cargo install --git https://github.com/JYeswak/100minds-mcp.git
100minds --stats选项2:Docker
docker run -p 3100:3100 ghcr.io/jyeswak/100minds-mcp:latest选项3:来源
git clone https://github.com/JYeswak/100minds-mcp.git
cd 100minds-mcp
cargo build --release
./target/release/100minds --statsONNX运行时(用于语义搜索)
# macOS
brew install onnxruntime
# Linux
apt install libonnxruntime-dev100思想家
| 域名 | 计数 | 传奇 |
|---|---|---|
| 软件 | 20 | 高德纳、福勒、布鲁克斯、贝克、霍珀、卡马克、迪杰斯特拉、兰波特 |
| 系统 | 15 | 戴明、大野、圣吉、温伯格、戈德拉特、弗雷斯特、阿克夫 |
| 商业 | 20 | 德鲁克、蒂尔、格雷厄姆、戈丁、克里斯滕森、波特、布兰克 |
| 决策 | 15 | Hinton、LeCun、Ng、Pearl、Sutton、Bengio、Goodfellow |
| 哲学 | 15 | 丹尼特、霍夫施塔特、博斯特罗姆、泰格马克、拉塞尔、塞尔 |
| 安全 | 15 | 施奈尔、米特尼克、斯塔莫斯、大不里士、奥尔曼迪、麦格劳、拉努姆 |
局限性
- 不是领域专家的替代品 --提供框架,而非权威答案
- 无实时数据 --原则是永恒的智慧,而不是时事
- 仅限英语 --Thinker内容目前为英文
- 需要反馈 --学习循环需要记录结果以改进
- 精心策划,不全面 --100位思想家无法涵盖所有领域
发展
cargo test # Run tests
cargo run --bin import -- data/thinkers # Import thinkers
cargo run --bin 100minds -- --stats # Check stats
cargo run --bin 100minds -- --benchmark scenarios # Run benchmarks贡献
欢迎捐款:
- 新思想家:从代表性不足的领域中汲取智慧
- 更好的模板:改进决策匹配
- 评估场景:扩大基准覆盖范围
- 集成:连接到更多的AI框架
看 贡献.md 作为指导方针。
许可证
MIT许可证-请参阅 许可证 了解详情。
______________________________________________________________________
“抽象的目的不是模糊,而是创造一个新的语义层次,在这个层次上可以绝对精确。” --Edsger Dijkstra
精心打造 ZestStream
