基于 Arben Ademi 的 Sequential Thinking Python 服务器,这是一个用 TypeScript 实现的 Model Context Protocol (MCP) 服务器。该项目的动机是允许大型语言模型(LLMs)通过编程方式构建思维导图来探索思想空间,并强制执行“元认知”自我反思。
在 Claude Desktop、Cursor 或其他 MCP 客户端中设置工具配置如下:
{
"structured-thinking": {
"command": "npx",
"args": ["-y", "structured-thinking"]
}
}
当 LLM 捕获一个思想时,它会为此思想分配一个介于 0 到 1 之间的质量评分。这个评分与思想阶段结合使用,为 LLM 提供“元认知”反馈,指导其如何“引导”自己的思考过程。
每个思想都会被标记上一个阶段(例如,问题定义、分析、构思),以帮助管理 LLM 思考过程的生命期。在当前实现中,这些阶段扮演着非常重要的角色。实际上,如果 LLM 在某个阶段花费时间过长或在当前阶段产生低质量的思想,服务器将提供反馈给 LLM,使其“引导”其思考转向其他阶段,或者至少转向不同于当前阶段的思考策略。(例如,在演绎模式下,LLM 将被鼓励考虑更多创造性的想法。)
LLM 可以从特定思想生成“分支”,以并行探索不同的推理线。每个分支都被单独跟踪,让您能够管理多个解决方案或想法共存的情景。
服务器维护一个包含 LLM 最近十个思想的“短期”记忆缓冲区,以及一个可以根据标签检索的思想“长期”记忆,用于总结 LLM 在某一主题上的整个思考过程历史。
目前,质量指标和元认知反馈是从简单阶段乘数机械地应用于单一自报的质量评分得出的。
作为未来工作的一部分,我计划添加更复杂的元认知反馈,包括对思想内容的语义分析、思想验证过程以及更智能的推理错误监控。
目前,服务器将所有思想存储在内存中,而不将其持久化到文件或数据库中。也没有用户界面来审查思想空间或可视化思维导图。
作为未来工作的一部分,我计划整合一个简单的可视化客户端,让用户可以观察思想图谱的发展。
服务器公开了以下 MCP 工具:
在思想历史中创建一个思想,带有关于思想类型、质量、内容及其与其他思想关系的元数据。
参数:
thought: 当前思想的内容thought_number: 当前序列中的位置total_thoughts: 预期的总思想数量next_thought_needed: 是否需要另一个后续思想stage: 当前思考阶段(例如,“问题定义”,“分析”)is_revision(可选): 这是否修订了一个先前的思想revises_thought(可选): 正在修订的思想编号branch_from_thought(可选): 新思想分支的起点branch_id(可选): 当前分支的标识符needs_more_thoughts(可选): 是否需要额外的思想score(可选): 质量评分(0.0 到 1.0)tags(可选): 思想的类别或标签在思想历史中修订一个思想,带有关于思想类型、质量、内容及其与其他思想关系的元数据。
参数:
thought_id: 要修订的思想的IDcapture_thought 的参数从长期存储中检索与指定思想共享标签的思想。
参数:
thought_id: 要检索相关思想的ID生成整个思考过程的综合摘要。
清除所有记录的思想并重置服务器状态。
MIT </中文翻译>