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.

Informações da origem

Repositório
ag2ai/cursor-plugin
Última atividade na origem
12 de março de 2026 às 03:00
Idioma detectado do SKILL.md
inglês
Estrelas
0
Forks
0

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
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)
Ver no GitHub