-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Description
Discussed in #518
Originally posted by AndresPrez May 2, 2025
Is your feature request related to a problem? Please describe.
In our use case, we need to allow customers to configure and customize AI agents through a user interface without editing source code. Currently, the Agent Development Kit (ADK) does not support serialization of agents, which makes it difficult to persist user-created agents and reload them across sessions or environments. This leads to unnecessary complexity and technical overhead, especially in customer-facing scenarios where non-developers need to customize agent behavior.
Describe the solution you'd like
I'd like to see native support in the ADK for serializing and deserializing agents (e.g., saving their configuration/state to JSON or another format and rehydrating them later). Ideally, this would include:
A method like agent.serialize() that outputs a storable, structured representation of the agent and its components.
A corresponding Agent.deserialize(serialized_data) method to restore the agent.
Support for commonly configurable elements like goals, tools, memory, and workflow parameters.
Describe alternatives you've considered
We’ve explored storing parts of the agent configuration in a relational database—such as metadata, low-level parameters like temperature, and portions of the prompt or instructions. However, this approach becomes fragmented and difficult to scale, as it requires custom logic to reconstruct the agent from disparate fields. It also lacks a standardized way to persist the full agent definition or behavior in a way that integrates cleanly with the ADK runtime.
Additional context
Serialization is especially critical for production-grade use cases where agents are managed via UIs or APIs rather than code. This feature would greatly enhance usability and adoption in enterprise settings.