Skip to main content

build-reasoning-agent

Build an AG2 ReasoningAgent that uses tree-of-thought reasoning with beam search, MCTS, or LATS strategies. Use when the user needs advanced reasoning for complex problem solving.

Quellinformationen

Repository
ag2ai/cursor-plugin
Letzte Quellaktivität
12. März 2026 um 03:00
Erkannte Sprache von SKILL.md
Englisch
Sterne
0
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
build-reasoning-agent
description
Build an AG2 ReasoningAgent that uses tree-of-thought reasoning with beam search, MCTS, or LATS strategies. Use when the user needs advanced reasoning for complex problem solving.
# Build Reasoning Agent You are an expert at building AG2 reasoning agents. When the user wants enhanced reasoning capabilities: ## 1. Understand the Requirements Ask the user: - What kind of problem? (Mathematical, analytical, creative, coding) - How much reasoning depth is needed? (Simple → beam search, Complex → MCTS/LATS) - Is there a grading/evaluation component? (Use a separate grader LLM config) ## 2. Basic Reasoning Agent ```python import os from autogen import LLMConfig, UserProxyAgent from autogen.agents.experimental import ReasoningAgent llm_config = LLMConfig( {"model": "gpt-4o-mini", "api_key": os.environ["OPENAI_API_KEY"]} ) # ReasoningAgent explores multiple reasoning paths using tree-of-thought reasoning_agent = ReasoningAgent( name="reasoner", llm_config=llm_config, reason_config={ "method": "beam_search", # Explore multiple paths in parallel "beam_size": 3, # Number of parallel reasoning paths "max_depth": 4, # Maximum reasoning steps }, ) user = UserProxyAgent( name="user", human_input_mode="NEVER", code_execution_config=False, ) result = await user.a_run( reasoning_agent, message="What is the probability of getting exactly 3 heads in 5 coin flips?", ) await result.process() ``` ## 3. Reasoning Methods | Method | Best For | Description | |--------|----------|-------------| | `beam_search` | General reasoning | Explores top-k paths at each depth | | `mcts` | Exploration-heavy problems | Monte Carlo Tree Search with UCT | | `lats` | Per-step evaluation | Language Agent Tree Search with step rewards | | `dfs` | Simple chain-of-thought | Depth-first (equivalent to beam_size=1) | ### Beam Search (Default) ```python reason_config = { "method": "beam_search", "beam_size": 3, # Parallel paths (default: 3) "max_depth": 4, # Max reasoning steps (default: 3) "answer_approach": "pool", # "pool" combines paths, "best" picks top one } ``` ### MCTS (Monte Carlo Tree Search) ```python reason_config = { "method": "mcts", "nsim": 10, # Number of simulations (default: 3) "exploration_constant": 1.41, # UCT exploration parameter "max_depth": 4, } ``` ### LATS (Language Agent Tree Search) ```python reason_config = { "method": "lats", "nsim": 5, "forest_size": 3, # Number of independent trees "max_depth": 4, } ``` ## 4. Separate Grader Model Use a different (possibly stronger) model for grading reasoning paths: ```python grader_config = LLMConfig( {"model": "gpt-4o", "api_key": os.environ["OPENAI_API_KEY"]} ) reasoning_agent = ReasoningAgent( name="reasoner", llm_config=llm_config, grader_llm_config=grader_config, # Stronger model evaluates paths reason_config={"method": "beam_search", "beam_size": 5}, ) ``` ## 5. ReasoningAgent in Group Chat ```python from autogen import ConversableAgent from autogen.agentchat import run_group_chat from autogen.agentchat.group.patterns import RoundRobinPattern reasoner = ReasoningAgent( name="reasoner", llm_config=llm_config, reason_config={"method": "beam_search", "beam_size": 3, "max_depth": 3}, description="Performs deep reasoning on complex problems.", ) executor = ConversableAgent( name="executor", system_message="You take the reasoner's solution and implement it step by step.", llm_config=llm_config, human_input_mode="NEVER", description="Implements the reasoned solution.", ) user = ConversableAgent(name="user", llm_config=False, human_input_mode="NEVER") result = run_group_chat( pattern=RoundRobinPattern( initial_agent=reasoner, agents=[reasoner, executor], user_agent=user, ), messages="Design an algorithm to find the shortest path in a weighted graph with negative edges.", max_rounds=8, ) ``` ## 6. Rules - Import from `autogen.agents.experimental`, not `autogen.agentchat` - `beam_size` and `answer_approach` as top-level params are deprecated — use `reason_config` dict instead - Higher `beam_size` / `nsim` = better reasoning but more LLM calls and cost - Use `grader_llm_config` with a stronger model for better path evaluation - Start with `beam_search` (simplest), move to `mcts`/`lats` if needed - Set `max_depth` to limit reasoning depth — deeper isn't always better - `forest_size > 1` runs multiple independent reasoning trees (more diverse solutions)
Auf GitHub ansehen