Skip to main content
Use this guide to migrate agents that use Default, ReAct, or Plan-Act styles to ReAct Core. This guide includes configuration snippets and tool examples to show what changes during migration. Use the examples as patterns that you can adapt to your agent configuration, prompts, tool names, and model settings. Before you begin:
  • Export your current agent configuration so that you can compare the before and after states.
  • Review any custom instructions, tools, or output requirements that your agent depends on.
  • Validate the migration in a test or draft environment before you update production agents.
Ensure that you have ADK version 2.5.0 or later. Update it with the following command:
The migration steps depend on your agent’s current style and model. Identify your migration path before you begin.

Why migrate to ReAct Core

  • Improve performance: ReAct Core consistently outperforms deprecated styles in benchmarks.
  • Support current and future models: Works with modern model capabilities.
  • Simplify agent configuration: Removes hidden style overrides.
  • Increase model compatibility: Supports more LLM models with native chain-of-thought capabilities.

Identify your migration path

Scenario 1: Agents that use GPT-OSS-120B

If your agent uses the gpt-oss-120b model, it already uses ReAct Core internally. This migration does not change agent behavior.
  1. Export your agent configuration:
  2. Edit your agent configuration file, for example, agent-config.yaml. Change style: default or style: react to style: react_core.
  3. Update your agent:
Your agent continues to work exactly as before with no behavior changes.

Scenario 2: Agents that use Default or ReAct with other models

If your agent uses other models, such as llama-3-3-70b-instruct, test the migration carefully because behavior might change.
  • The ReAct style includes Llama-specific optimizations that ReAct Core does not use.
  • If agent performance decreases after migration, consider migrating to gpt-oss-120b and rerun your evaluations.
  1. Create benchmark evaluations: Before you start the migration, create benchmark evaluations to compare agent performance before and after the change. This comparison helps you confirm that the migration does not reduce agent performance. For more information about evaluations, see Evaluating agents and tools.
  2. Update the style:
    1. Export your agent configuration:
    2. Edit your agent configuration file, for example, agent-config.yaml. Change style: default or style: react to style: react_core.
    3. Update your agent:
  3. Validate the changes: Rerun your benchmarks against the updated agent and compare the results to confirm that the migration did not have a negative impact. If performance degrades, proceed to step 4.
  4. (Optional) Update the model: If benchmark performance worsens significantly after the style change, update the model to the recommended gpt-oss-120b.
    1. Export your agent configuration:
    2. Edit your agent configuration file, for example, agent-config.yaml. Change the LLM to groq/openai/gpt-oss-120b. For example, from llm: watsonx/meta-llama/llama-... to llm: groq/openai/gpt-oss-120b.
    3. Update your agent:
    Rerun the benchmarks and compare the new results against the old baseline.
Troubleshooting

Scenario 3: Agents that use Plan-Act

The Plan-Act style has unique features that require special consideration during migration. Plan-Act agents have two key capabilities:
  • Custom join tools: Tools that handle response formatting.
  • Structured output: Enforced output schemas.
You can achieve similar results in ReAct Core through careful prompting and configuration.

Migrating custom join tools

Instruct your agent to call a formatting tool before it responds to the user. In that formatting tool, use audience to provide a direct response without LLM interpretation. For more information, see Tool response structure and annotations.
Plan-Act configuration (before)
The following is the Plan-Act configuration before migration:
In the my_formatting_tool.py:
ReAct Core configuration (after)
The following is the ReAct Core configuration after migration:
In my_formatting_tool.py:

Migrating structured output

Include the schema in the instructions field instead of in the structured_output field.
Plan-Act configuration (before)
The following is the Plan-Act configuration before migration:
ReAct Core configuration (after)
The following is the ReAct Core configuration before migration:

Migration best practices

Test before deploying
Always test in the draft environment:
  • Create a copy of your agent for testing.
  • Run comprehensive test cases.
  • Use evaluation datasets when possible.
Monitor after migration
After you migrate to production:
  • Monitor agent performance metrics.
  • Watch for unexpected behaviors.
  • Keep a rollback plan ready.
Update documentation
  • Update internal documentation to reflect the new style.
  • Inform users of any behavior changes.
  • Document any prompt adjustments you made.

Getting help

If you encounter issues during migration:
  1. Review the Choosing a style for the agent documentation.
  2. Review ADK agent examples.