系统化问题解决工具

一个基于Claude Shannon方法论的系统化问题解决工具,帮助用户将复杂问题分解为结构化思考步骤,适用于复杂系统分析和工程设计挑战。

  • by olaservo
  • TypeScript
  • 本地部署
  • 71 星标
  • 更新于
在 GitHub 查看 olaservo/shannon-thinking

使用说明

香农思维

演示Claude Shannon系统解决问题方法的MCP服务器。该服务器提供了一种工具,可以按照香农的问题定义、数学建模和实际实现方法,将复杂问题分解为结构化思维。

概述

被称为信息论之父的克劳德·香农通过系统的方法论来处理复杂的问题:

  1. 问题定义:将问题分解为基本要素
  2. 约束条件:确定系统限制和界限
  3. 模型:开发数学/理论框架
  4. 证明/验证:通过正式证明或实验测试进行验证
  5. 实施/实验:设计和测试实用解决方案

此MCP服务器演示了这种方法论,作为一种工具,有助于指导系统地解决这些阶段的问题。

安装

NPX

{
  "mcpServers": {
    "shannon-thinking": {
      "command": "npx",
      "args": [
        "-y",
        "server-shannon-thinking@latest"
      ]
    }
  }
}

用法

服务器提供了一个名为 shannonthinking 根据香农的方法论构建问题解决思维。

每个想法都必须包括:

  • 实际思想内容
  • 类型(问题_定义/约束/模型/证明/实现)
  • 思想数量和总思想估计
  • 置信水平(不确定性:0-1)
  • 对先前想法的依赖
  • 明确的假设
  • 是否需要另一个思考步骤

附加功能:

  • 修订:随着理解的发展,思想可以修改早期的步骤
  • 复查:用新信息标记需要重新检查的步骤
  • 实验验证:支持经验测试和正式证明
  • 实现注意事项:实际制约因素和拟议解决方案

示例用法

const thought = {
  thought: "The core problem can be defined as an information flow optimization",
  thoughtType: "problem_definition",
  thoughtNumber: 1,
  totalThoughts: 5,
  uncertainty: 0.2,
  dependencies: [],
  assumptions: ["System has finite capacity", "Information flow is continuous"],
  nextThoughtNeeded: true,
  // Optional: Mark as revision of earlier definition
  isRevision: false,
  // Optional: Indicate step needs recheck
  recheckStep: {
    stepToRecheck: "constraints",
    reason: "New capacity limitations discovered",
    newInformation: "System shows non-linear scaling"
  }
};

// Use with MCP client
const result = await client.callTool("shannonthinking", thought);

特性

  • 迭代问题求解:随着理解的发展,支持修订和重新检查
  • 灵活的验证:将形式证明与实验验证相结合
  • 依赖项跟踪:明确地跟踪思想是如何建立在先前思想的基础上的
  • 假设管理:需要明确记录假设
  • 置信水平:量化每个步骤中的不确定性
  • 丰富的反馈:带有颜色编码、符号和验证结果的格式化控制台输出

发展

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# Watch mode during development
npm run watch

工具架构

该工具接受具有以下结构的想法:

interface ShannonThought {
  thought: string;
  thoughtType: "problem_definition" | "constraints" | "model" | "proof" | "implementation";
  thoughtNumber: number;
  totalThoughts: number;
  uncertainty: number; // 0-1
  dependencies: number[];
  assumptions: string[];
  nextThoughtNeeded: boolean;
  
  // Optional revision fields
  isRevision?: boolean;
  revisesThought?: number;
  
  // Optional recheck field
  recheckStep?: {
    stepToRecheck: ThoughtType;
    reason: string;
    newInformation?: string;
  };
  
  // Optional validation fields
  proofElements?: {
    hypothesis: string;
    validation: string;
  };
  experimentalElements?: {
    testDescription: string;
    results: string;
    confidence: number; // 0-1
    limitations: string[];
  };
  
  // Optional implementation fields
  implementationNotes?: {
    practicalConstraints: string[];
    proposedSolution: string;
  };
}

何时使用

这种思维模式在以下方面特别有价值:

  • 复杂系统分析
  • 信息处理问题
  • 工程设计挑战
  • 需要理论框架的问题
  • 优化问题
  • 需要实际实施的系统
  • 需要迭代改进的问题
  • 实验验证补充理论的案例