关于 sequential-thinking
sequential-thinking 是一项 Agent 技能,用于组织多步骤问题求解,并可随分析进展修订或分支。它提供上下文内指导,也可选用 Python 执行器;README 还介绍了 sequential-thinking MCP 工具。
主要功能
- 01结构化多步骤分析
- 02修订与分支思路
- 03动态调整思考步数
- 04生成并验证假设
- 05可选 Python 执行器
适用场景
- 01将复杂任务拆分为多个步骤
- 02根据新信息修订计划
- 03选择方案前探索替代路径
- 04生成并检查假设
MCP 相关
该技能可使用 sequential-thinking MCP 工具开展动态、反思式分析。它还介绍了可选的 Python 执行器,以及使用 @modelcontextprotocol/server-sequential-thinking 的服务配置。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ oimiragieo/ agent-studio --skill sequential-thinking安装后在 Claude Code 中输入/sequential-thinking确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
commands/sequential-thinking.mdhooks/post-execute.cjspre-execute.cjsreferences/research-requirements.mdrules/sequential-thinking.mdschemas/input.schema.jsonoutput.schema.jsonscripts/main.cjstemplates/implementation-template.md详细介绍
顺序思考技能
安装
可选的独立执行器:此技能可以运行 .claude/tools/optimization/sequential-thinking/executor.py。要求:
- Python 3.10+:python.org 或
winget install Python.Python.3.12(Windows)、brew install [email protected](macOS)。 - MCP Python 包:
pip install mcp - 如果执行器不存在或未安装 MCP,此技能仍会提供上下文内指导,并成功退出。
完整功能: 独立执行器运行时,Python 脚本 .claude/tools/optimization/sequential-thinking/executor.py 必须存在。运行 node .claude/tools/cli/doctor.mjs 进行验证;如果执行器缺失,doctor 会发出警告。
速查表与最佳实践
框架: Polya:(1)理解问题(2)制定计划(3)执行计划(4)回顾。IDEAL:识别 → 明确背景 → 探索策略 → 采取最佳方案 → 回顾并学习。
流程: 系统化地思考:预判结果、持续投入、从多个角度审视、把握节奏并自我监控。使用图表、表格和模式;将任务拆解为子目标;适时倒推。
技巧: 为思考编号(thoughtNumber、totalThoughts);允许修订和分支。先设定初始步骤数,再逐步调整。当任务范围尚不明确时,使用 MCP 顺序思考工具进行多步分析和假设验证。
认证与培训
无认证。 问题解决框架:Polya(理解 → 计划 → 执行 → 回顾)、IDEAL(识别 → 明确 → 探索 → 行动 → 回顾)。技能数据: 系统化步骤;预判结果;持续投入;修订并分支;使用图表、表格和模式。
钩子与工作流
建议的钩子: 可选:添加规划前或复杂任务前的钩子,建议在多步任务中使用顺序思考。规划时与 planner(主要)搭配;拆解工作时与 master-orchestrator 搭配。
工作流: 与 planner(主要)搭配使用。流程:复杂任务 → 加载顺序思考 → 输出思考内容(MCP 或执行器)→ 修订 → 行动。关于路由器何时分配 planner,请参阅 core/router-decision。
概述
此技能通过灵活且可调整、不断演进的思考流程,提供结构化的问题解决方法。每一步思考都可以建立在先前见解的基础上,也可以质疑或修订先前见解。
上下文节省: 约减少 97%
- MCP 模式:始终加载约 15,000 个令牌
- 技能模式:约 500 个令牌的元数据 + 按需加载
适用场景
- 将复杂问题拆解为多个步骤
- 为可修订的规划与设计留出空间
- 可能需要调整方向的分析
- 初始阶段尚不清楚完整范围的问题
- 需要保持上下文的多步解决方案
- 过滤无关信息
- 生成并验证假设
快速参考
直接使用 MCP 顺序思考工具:
// Via MCP tool
mcp__sequential -
thinking__sequentialthinking({
thought: 'First, let me analyze the problem...',
thoughtNumber: 1,
totalThoughts: 5,
nextThoughtNeeded: true,
});
工具:sequentialthinking
用于通过思考进行动态、反思式问题解决的详细工具。
参数
| 参数 | 类型 | 描述 |
|---|---|---|
thought | string | 当前思考步骤 |
thoughtNumber | integer | 当前思考编号(1、2、3……) |
totalThoughts | integer | 预计所需的思考总数 |
nextThoughtNeeded | boolean | 是否需要下一步思考 |
isRevision | boolean | 此次思考是否修订了先前的思考 |
revisesThought | integer | 正在重新考虑的思考编号 |
branchFromThought | integer | 分支起始的思考编号 |
branchId | string | 当前分支的标识符 |
needsMoreThoughts | boolean | 在“结束”时是否还需要更多思考 |
主要功能
- 随着进展动态调高或调低
totalThoughts - 质疑或修订之前的思考
- 即使看似已经结束,也可以继续添加思考
- 表达不确定性并探索替代方案
- 分支或回溯(非线性思考)
- 生成并验证解决方案假设
流程
- 先初步估算所需的思考次数
- 可以随时质疑或修订之前的思考
- 如有需要,即使在“结束”时也可以继续添加思考
- 标记修订或分支的思考
- 适时生成解决方案假设
- 根据思维链验证假设
- 重复上述步骤,直至满意
- 只有在确实完成后,才设置
nextThoughtNeeded: false
工具执行
顺序思考工具可通过 MCP 使用。请直接在回复中使用:
// Execute a thinking step
mcp__sequential -
thinking__sequentialthinking({
thought: 'Your analysis here...',
thoughtNumber: 1,
totalThoughts: 5,
nextThoughtNeeded: true,
});
配置
MCP 服务配置存储在 config.json 中:
- 命令:
npx -y @modelcontextprotocol/server-sequential-thinking
相关内容
- 原始 MCP 服务:
@modelcontextprotocol/server-sequential-thinking - MCP Converter Skill:
.claude/skills/mcp-converter/
铁律
- 绝不在解决方案假设得到验证之前设置
nextThoughtNeeded: false - 始终随着问题复杂度逐渐明朗而动态调整
totalThoughts - 绝不在通过分支至少探索一种替代方案之前就认定首选方案
- 始终使用
isRevision: true和revisesThought: N明确标记修正 - 绝不在假设仍未验证时因达到预估思考次数而停止
反模式
| 反模式 | 失败原因 | 正确做法 |
|---|---|---|
| 固定思考次数 | 无论对解决方案有多大把握,都会在任意估算的次数后停止思考 | 复杂度上升时设置 needsMoreThoughts: true 并增加 totalThoughts |
| 不进行分支 | 未考虑替代方案就认定首选方案 | 使用 branchFromThought 在做出选择前探索多条解决方案路径 |
| 跳过修订 | 错误假设未经纠正,持续影响后续思考 | 使用 isRevision: true 和 revisesThought: N 标记所有修正 |
| 过早终止 | 未经验证的假设会导致解决方案错误或不完整 | 在设置 nextThoughtNeeded: false 前,明确验证假设 |
| 不标记不确定性 | 过于自信的结论会误导执行 Agent | 明确标记暂定的思考;区分确定与不确定的推理 |
记忆协议(强制)
开始之前:
阅读 .claude/context/memory/learnings.md
完成之后:
- 新模式 ->
.claude/context/memory/learnings.md - 发现问题 ->
.claude/context/memory/issues.md - 做出决策 ->
.claude/context/memory/decisions.md
假设会发生中断:如果没有记录在记忆中,就等于没有发生。