sequentialthinking
Break down complex problems into manageable steps, revise insights, and explore alternative approaches with a flexible, iterative thinking process. Ideal for dynamic problem-solving and multi-step analysis.
Instructions
A detailed tool for dynamic and reflective problem-solving through thoughts. This tool helps analyze problems through a flexible thinking process that can adapt and evolve. Each thought can build on, question, or revise previous insights as understanding deepens.
When to use this tool:
- Breaking down complex problems into steps
- Planning and design with room for revision
- Analysis that might need course correction
- Problems where the full scope might not be clear initially
- Problems that require a multi-step solution
- Tasks that need to maintain context over multiple steps
- Situations where irrelevant information needs to be filtered out
Key features:
- You can adjust total_thoughts up or down as you progress
- You can question or revise previous thoughts
- You can add more thoughts even after reaching what seemed like the end
- You can express uncertainty and explore alternative approaches
- Not every thought needs to build linearly - you can branch or backtrack
- Generates a solution hypothesis
- Verifies the hypothesis based on the Chain of Thought steps
- Repeats the process until satisfied
- Provides a correct answer
Parameters explained:
- thought: Your current thinking step, which can include:
- Regular analytical steps
- Revisions of previous thoughts
- Questions about previous decisions
- Realizations about needing more analysis
- Changes in approach
- Hypothesis generation
- Hypothesis verification
- next_thought_needed: True if you need more thinking, even if at what seemed like the end
- thought_number: Current number in sequence (can go beyond initial total if needed)
- total_thoughts: Current estimate of thoughts needed (can be adjusted up/down)
- is_revision: A boolean indicating if this thought revises previous thinking
- revises_thought: If is_revision is true, which thought number is being reconsidered
- branch_from_thought: If branching, which thought number is the branching point
- branch_id: Identifier for the current branch (if any)
- needs_more_thoughts: If reaching end but realizing more thoughts needed
You should:
- Start with an initial estimate of needed thoughts, but be ready to adjust
- Feel free to question or revise previous thoughts
- Don't hesitate to add more thoughts if needed, even at the "end"
- Express uncertainty when present
- Mark thoughts that revise previous thinking or branch into new paths
- Ignore information that is irrelevant to the current step
- Generate a solution hypothesis when appropriate
- Verify the hypothesis based on the Chain of Thought steps
- Repeat the process until satisfied with the solution
- Provide a single, ideally correct answer as the final output
- Only set next_thought_needed to false when truly done and a satisfactory answer is reached
Input Schema
Name | Required | Description | Default |
---|---|---|---|
branchFromThought | No | Branching point thought number | |
branchId | No | Branch identifier | |
isRevision | No | Whether this revises previous thinking | |
needsMoreThoughts | No | If more thoughts are needed | |
nextThoughtNeeded | Yes | Whether another thought step is needed | |
revisesThought | No | Which thought is being reconsidered | |
thought | Yes | Your current thinking step | |
thoughtNumber | Yes | Current thought number | |
totalThoughts | Yes | Estimated total thoughts needed |