reason_beam
Solve complex problems using Beam Search to explore multiple reasoning paths and identify optimal solutions for challenging tasks.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The problem or task to reason about using Beam Search |
Implementation Reference
- src/tools/reasoning-wrapper.ts:73-121 (handler)The handler function for the 'reason_beam' tool. It simulates Beam Search reasoning over 3 iterative steps, building thoughts progressively, and returns a JSON-structured response containing all thoughts, strategy details, and completion status.async ({ query }) => { try { // Initialize first thought const totalThoughts = 3; let currentThought = `Beam Search Reasoning (Step 1/${totalThoughts}): Initial analysis of the problem "${query}":\n\n` + `Let me explore multiple approaches to this problem. ${query}\n\n` + `[This would be the initial Beam Search-based reasoning]`; let thoughtNumber = 1; let complete = false; let allThoughts = [currentThought]; // Automatically iterate through all thoughts while (!complete && thoughtNumber < totalThoughts) { // Simulate next thought generation thoughtNumber++; const nextThought = `Beam Search Reasoning (Step ${thoughtNumber}/${totalThoughts}): ` + `Considering 3 alternative paths from "${currentThought.slice(0, 50)}...", ` + `the most promising direction is...\n\n` + `[This would be the next step of Beam Search reasoning for: ${query}]`; allThoughts.push(nextThought); currentThought = nextThought; // Check if we've reached the final thought if (thoughtNumber >= totalThoughts) { complete = true; } } // Final result with all thoughts return { content: [ { type: "text", text: JSON.stringify({ strategy: "beam_search", originalPrompt: query, allThoughts: allThoughts, thoughtNumber: thoughtNumber, totalThoughts: totalThoughts, complete: true }, null, 2) } ] }; } catch (error) { throw new ReasoningError(`Beam Search reasoning command failed: ${error instanceof Error ? error.message : String(error)}`); } }
- src/tools/reasoning-wrapper.ts:70-72 (schema)The input schema for the 'reason_beam' tool, defining a single 'query' string parameter using Zod validation.{ query: z.string().describe("The problem or task to reason about using Beam Search") },
- src/tools/reasoning-wrapper.ts:68-122 (registration)The registration of the 'reason_beam' tool using server.tool(), including the tool name, input schema, and handler function within the registerCommandWrappers function.server.tool( "reason_beam", { query: z.string().describe("The problem or task to reason about using Beam Search") }, async ({ query }) => { try { // Initialize first thought const totalThoughts = 3; let currentThought = `Beam Search Reasoning (Step 1/${totalThoughts}): Initial analysis of the problem "${query}":\n\n` + `Let me explore multiple approaches to this problem. ${query}\n\n` + `[This would be the initial Beam Search-based reasoning]`; let thoughtNumber = 1; let complete = false; let allThoughts = [currentThought]; // Automatically iterate through all thoughts while (!complete && thoughtNumber < totalThoughts) { // Simulate next thought generation thoughtNumber++; const nextThought = `Beam Search Reasoning (Step ${thoughtNumber}/${totalThoughts}): ` + `Considering 3 alternative paths from "${currentThought.slice(0, 50)}...", ` + `the most promising direction is...\n\n` + `[This would be the next step of Beam Search reasoning for: ${query}]`; allThoughts.push(nextThought); currentThought = nextThought; // Check if we've reached the final thought if (thoughtNumber >= totalThoughts) { complete = true; } } // Final result with all thoughts return { content: [ { type: "text", text: JSON.stringify({ strategy: "beam_search", originalPrompt: query, allThoughts: allThoughts, thoughtNumber: thoughtNumber, totalThoughts: totalThoughts, complete: true }, null, 2) } ] }; } catch (error) { throw new ReasoningError(`Beam Search reasoning command failed: ${error instanceof Error ? error.message : String(error)}`); } } );