序列化思维(Sequential Thinking)

中级 Intermediate 流程型 Process claude-code
2 min read · 90 lines

通过迭代推理和动态范围调整实现结构化问题解决

序列化思维(Sequential Thinking)

通过具备修订和分支能力的迭代推理,实现结构化的问题解决。

核心能力

  • 迭代推理(Iterative Reasoning):将复杂问题分解为顺序的思维步骤
  • 动态范围(Dynamic Scope):随着理解的深入调整总思维步数
  • 修订追踪(Revision Tracking):重新审视并修改之前的结论
  • 分支探索(Branch Exploration):从任意节点探索替代推理路径
  • 维护上下文(Maintained Context):在整个分析过程中跟踪推理链

何时使用

使用 mcp__reasoning__sequentialthinking 的场景:

  • 问题需要多个相互关联的推理步骤
  • 初始范围或方法不确定
  • 需要从复杂性中过滤出核心问题
  • 可能需要回溯或修改之前的结论
  • 想要探索替代的解决方案路径

不适用于: 简单查询、直接的事实问题或单步任务。

基本用法

MCP 工具 mcp__reasoning__sequentialthinking 接受以下参数:

必需参数

  • thought(字符串):当前推理步骤
  • nextThoughtNeeded(布尔值):是否需要更多推理
  • thoughtNumber(整数):当前步骤编号(从 1 开始)
  • totalThoughts(整数):预计总步骤数

可选参数

  • isRevision(布尔值):表示此步骤修订了之前的思考
  • revisesThought(整数):正在重新审视的思考编号
  • branchFromThought(整数):从哪个思考编号开始分支
  • branchId(字符串):此推理分支的标识符

工作流模式

1. 从初始思考开始(thoughtNumber: 1)
2. 对每一步:
   - 在 `thought` 中表达当前推理
   - 通过 `totalThoughts` 估计剩余工作量(动态调整)
   - 设置 `nextThoughtNeeded: true` 以继续
3. 得出结论时,设置 `nextThoughtNeeded: false`

简单示例

// 第一个思考
{
  thought: "问题涉及优化数据库查询。需要先识别瓶颈。",
  thoughtNumber: 1,
  totalThoughts: 5,
  nextThoughtNeeded: true
}

// 第二个思考
{
  thought: "分析查询模式发现用户获取中存在 N+1 问题。",
  thoughtNumber: 2,
  totalThoughts: 6, // 调整了范围
  nextThoughtNeeded: true
}

// ... 继续直到完成

高级功能

修订模式、分支策略和复杂工作流,请参见:

  • 高级用法 - 修订和分支模式
  • 示例 - 实际使用案例

技巧

  • totalThoughts 先给一个粗略估计,在推进过程中逐步细化
  • 当假设被证明不正确时使用修订功能
  • 当多种方法看起来都可行时使用分支功能
  • 在思考中明确表达不确定性
  • 自由调整范围 - 准确性不如进度可见性重要

相关技能 Related Skills