Pydantic AI vs Google ADK
Pydantic AI wins · 17–15 (12 drawn)
Agenticness — how well agents can access and operate the productAgenticness
How well agents can access and operate the product
Agent access
ai-native userPoint an agent at llms.txt or agent-oriented docs
weight 2 · round to Pydantic AIPydantic AI publishes an actual llms.txt (confirmed live at HTTP 200, plus a dedicated pydantic-ai/llms.txt) and markdown-serving docs pages with an explicit 'Documentation Index' pointer designed for agent consumption, so an ai-native user can point an agent directly at these. missing for 10: no evidence of goal/organization query-param support working end-to-end or independent third-party confirmation that agents successfully consume these docs in practice.
- [probe] “PROBE llms.txt: HTTP 200 at https://pydantic.dev/llms.txt ## Querying This Documentation **warning**: agent query parameters (`goal` and `o…”
- [probe] “PROBE docs-md: HTTP 200 at https://pydantic.dev/docs/ai/overview.md > ## Documentation Index > Fetch the complete documentation index at: ht…”
- [claimed-docs] “Build typed agents, long-running coding and research agents, and realtime voice applications with model-agnostic tools and OpenTelemetry tra…”
Google ADKdisputedcontradicted3/10Docs claim 'AI-aware developer resources' and coding-assistant integration (google-adk-docs-9), suggesting agent-oriented documentation exists, but direct probes for llms.txt and markdown-rendered docs both return 404 (google-adk-probe-1, google-adk-probe-2), and no OpenAPI/machine-readable spec is discoverable (google-adk-probe-3), contradicting the claim that an agent can straightforwardly consume these docs. Missing for 10: a working llms.txt or agent-readable doc endpoint, confirmation that the 'AI-aware resources' are actually machine-fetchable rather than just a marketing phrase.
- [claimed-docs] “ADK is designed to be written by both humans and AI. Connect your favorite coding assistant to our ADK developer Skills and AI-aware develop…”
- [probe] “PROBE llms.txt: HTTP 404 at https://google.github.io/llms.txt”
- [probe] “PROBE docs-md: HTTP 404 at https://google.github.io/adk-docs/get-started/.md”
- [probe] “PROBE openapi: all candidate paths 404 (https://google.github.io/openapi.json, https://google.github.io/swagger.json, https://google.github.…”
ai-native userRun the product headlessly / in CI for automation
weight 2 · round drawnPydantic AI agents are plain Python objects callable via run()/run_sync() and designed to run 'as a plain object you call run() on' or 'on a durable background queue', making headless/CI use straightforward; it also ships a CLI (clai) and TestModel/FunctionModel for scripted, non-interactive testing, and supports OpenTelemetry/Logfire tracing suited to CI pipelines. missing for 10: no explicit CI pipeline example (e.g., GitHub Actions) or independent report of running Pydantic AI headlessly in a CI job.
- [claimed-docs] “The same agent runs everywhere you need it: behind a web frontend, in the terminal, on a voice call, on a durable background queue, or as a …”
- [claimed-docs] “Pydantic AI allows you to build durable agents that can preserve their progress across transient API failures and application errors or rest…”
- [claimed-docs] “Pydantic AI also comes with TestModel and FunctionModel for testing and development.”
- [claimed-docs] “Pydantic AI comes with a CLI, `clai` ... You can use it to chat with various LLMs and quickly get answers, right from the command line”
- [claimed-docs] “A trace is generated for the agent run, and spans are emitted for each model request and tool call.”
- [claimed-docs] “Pydantic Evals follows a code-first philosophy where all evaluation components are defined in Python.”
ADK provides a CLI (`adk run`, `adk web`, `adk eval`, `adk deploy docker`) that supports headless invocation and scripted evaluation, plus containerized deployment for CI/production pipelines. missing for 10: explicit CI pipeline examples (e.g. GitHub Actions), independent third-party confirmation of headless CI usage.
- [github] “adk run path/to/my_agent”
- [github] “adk run path/to/my_agent # Web UI (supports multi-agent directories or pointing directly to a single agent folder) adk web path/to/agents_d…”
- [github] “adk eval \ samples_for_testing/hello_world \ samples_for_testing/hello_world/hello_world_eval_set_001.evalset.json”
- [github] “adk deploy docker --with_ui <agent-folder>”
- [claimed-docs] “You can manually package your Agent into a container image and then run it in any environment that supports container images.”
- [claimed-docs] “This approach involves creating individual test files, each representing a single, simple agent-model interaction (a session).”
ai-native userPlug MCP servers into this product so it can use their tools
weight 3 · round drawnFirst-party docs explicitly state Pydantic AI can act as an MCP client, connecting to MCP servers to use their tools as part of an agent run, directly matching the story. Missing for 10: independent/hands-on community corroboration specifically of MCP server integration (all community quotes focus on other features) and no detail on configuration limits or edge cases.
- [claimed-docs] “Pydantic AI can act as an MCP client, connecting to MCP servers to use their tools as part of an agent run.”
Docs explicitly state an ADK agent can act as an MCP client and use tools provided by external MCP servers, directly matching the story. missing for 10: independent/hands-on corroboration beyond first-party docs, and more detail on multi-server configuration or auth handling.
- [claimed-docs] “An ADK agent can act as an MCP client and use tools provided by external MCP servers.”
- [claimed-docs] “Exposing ADK Tools via an MCP Server: How to build an MCP server that wraps ADK tools, making them accessible to any MCP client.”
- [claimed-docs] “How to build an MCP server that wraps ADK tools, making them accessible to any MCP client.”
ai-native userUse an official CLI
weight 2 · round drawnPydantic AI ships an official CLI, `clai`, documented for chatting with LLMs from the terminal, plus the ability to launch CLI mode directly from an Agent via `Agent.to_cli_sync()`, confirmed by docs and probe evidence. Missing for 10: independent hands-on community reviews specifically praising/testing the `clai` CLI itself (community evidence covers the framework broadly but not the CLI tool specifically), and more detail on CLI feature depth beyond basic chat.
- [claimed-docs] “Pydantic AI comes with a CLI, `clai` ... You can use it to chat with various LLMs and quickly get answers, right from the command line”
- [claimed-docs] “you can directly launch CLI mode from an `Agent` instance using `Agent.to_cli_sync()`”
- [claimed-docs] “Pydantic AI comes with a CLI, clai (pronounced “clay”). You can use it to chat with various LLMs and quickly get answers, right from the com…”
- [claimed-docs] “you can directly launch CLI mode from an Agent instance using Agent.to_cli_sync().”
- [probe] “PROBE openapi: HTTP 200 at https://pydantic.dev/openapi.json — contains "openapi" key”
ADK ships an official CLI (`adk run`, `adk web`, `adk eval`, `adk deploy docker`) documented in the GitHub repo with concrete command examples, plus docs reference an "Agents CLI" for scaffolding/build/test/deploy workflows tailored to AI-native/agentic use. Missing for 10: independent third-party hands-on review of the CLI's AI-native ergonomics beyond first-party docs/repo.
- [github] “adk run path/to/my_agent”
- [github] “adk run path/to/my_agent # Web UI (supports multi-agent directories or pointing directly to a single agent folder) adk web path/to/agents_d…”
- [github] “adk eval \ samples_for_testing/hello_world \ samples_for_testing/hello_world/hello_world_eval_set_001.evalset.json”
- [github] “adk deploy docker --with_ui <agent-folder>”
- [claimed-docs] “Go from idea to coded ADK agent in minutes. Use your favorite AI-enabled developer environment to scaffold, build, test, evaluate, and deplo…”
- [claimed-docs] “Migrate existing agents and workflows to ADK with Agents CLI.”
ai-native userDrive the product through a documented public API
weight 3 · round to Pydantic AIPydantic AI is a Python framework/library whose entire interface is a documented, typed public API (Agent class, tools, output types, message history, MCP client, CLI, llms.txt for AI-native consumption) as shown across docs-1 through docs-46 and confirmed reachable via probes (probe-1, probe-2, probe-4). Community reports (comm-1, comm-2, comm-5, comm-12, comm-13) corroborate hands-on use of this API in production. missing for 10: no independent third-party API stability/versioning audit, and some community reports (comm-4, comm-6, comm-10) note friction/bugs in structured-output edge cases that slightly qualify robustness.
- [claimed-docs] “an agent which required dependencies of type `Foobar` and produced outputs of type `list[str]` would have type `Agent[Foobar, list[str]]`”
- [claimed-docs] “Function tools provide a mechanism for models to perform actions and retrieve extra information to help them generate a response.”
- [claimed-docs] “Here's an example using a Pydantic model as the `output_type`, forcing the model to respond with data matching our specification”
- [claimed-docs] “Pydantic AI provides access to messages exchanged during an agent run. These messages can be used both to continue a coherent conversation, …”
- [claimed-docs] “Pydantic AI can act as an MCP client, connecting to MCP servers to use their tools as part of an agent run.”
- [claimed-docs] “Pydantic AI comes with a CLI, `clai` ... You can use it to chat with various LLMs and quickly get answers, right from the command line”
- [probe] “PROBE llms.txt: HTTP 200 at https://pydantic.dev/llms.txt ## Querying This Documentation **warning**: agent query parameters (`goal` and `o…”
- [probe] “PROBE docs-md: HTTP 200 at https://pydantic.dev/docs/ai/overview.md > ## Documentation Index > Fetch the complete documentation index at: ht…”
- [probe] “official CLI documented at https://pydantic.dev/docs/ai/integrations/cli/”
- [community] “Pydantic-AI is lovely - I've been working on a coding agent CLI for a year plus now. IMO it does make constructing any given agent very easy…”
- [community] “I did look at instructor and probably for structured output pydantic-ai and instructor are about the same, but pydantic-ai supports a ton of…”
ADK is a Python framework/CLI (adk run, adk web, adk eval, adk deploy) with documented programmatic APIs for building and driving agents, plus MCP client/server support, but there is no evidence of a formal public REST/OpenAPI-style API surface — probes for openapi/swagger specs and llms.txt all 404. missing for 10: a documented public HTTP/OpenAPI API spec, independent third-party confirmation of programmatic drivability beyond first-party docs.
- [claimed-docs] “Create your first Python ADK agent in minutes.”
- [github] “adk run path/to/my_agent”
- [github] “adk run path/to/my_agent # Web UI (supports multi-agent directories or pointing directly to a single agent folder) adk web path/to/agents_d…”
- [github] “adk eval \ samples_for_testing/hello_world \ samples_for_testing/hello_world/hello_world_eval_set_001.evalset.json”
- [github] “adk deploy docker --with_ui <agent-folder>”
- [probe] “PROBE openapi: all candidate paths 404 (https://google.github.io/openapi.json, https://google.github.io/swagger.json, https://google.github.…”
- [probe] “PROBE llms.txt: HTTP 404 at https://google.github.io/llms.txt”
ai-native userIssue scoped/least-privilege API credentials for an agent
weight 2 · round drawnPydantic AInone0/10No evidence of scoped/least-privilege API credential issuance for agents; Pydantic AI's model provider config uses standard API keys, and the AI Gateway mentions a single shared key across models rather than scoped/least-privilege credentials. Missing for 10: any documentation of credential scoping, permission tiers, or least-privilege token issuance for agents.
ai-native userBuild against official SDKs
weight 2 · round to Google ADKPydantic AI is itself an official SDK (Python library) with extensive first-party docs covering typed agents, model-agnostic providers, tool calling, structured outputs, multi-agent patterns, durable execution, CLI, and observability integrations, and community reports confirm real production use building against it. missing for 10: independent third-party audits of SDK stability/versioning guarantees and broader multi-language SDK coverage beyond Python.
- [claimed-docs] “an agent which required dependencies of type `Foobar` and produced outputs of type `list[str]` would have type `Agent[Foobar, list[str]]`”
- [claimed-docs] “Pydantic AI is model-agnostic and has built-in support for multiple model providers”
- [claimed-docs] “In typing terms, agents are generic in their dependency and output types...your IDE can tell you when you have the right type”
- [claimed-docs] “Agents are Pydantic AI’s primary interface for interacting with LLMs.”
- [community] “Pydantic-AI is lovely - I've been working on a coding agent CLI for a year plus now. IMO it does make constructing any given agent very easy…”
- [community] “We have a pretty complex agent running on Pydantic AI. The team is very responsive to bugs / feature requests. If I had to do it over again,…”
- [community] “I've been very happy with pydantic-ai, it blows the rest of the python ai ecosystem out of the water”
- [community] “I did look at instructor and probably for structured output pydantic-ai and instructor are about the same, but pydantic-ai supports a ton of…”
Google ADK is itself an official Python SDK/framework with extensive first-party documentation, code examples, CLI tooling (adk run/web/eval/deploy), and a public GitHub repo, giving AI-native developers a fully documented, official SDK to build against. Minor gap — missing for 10: independent third-party corroboration beyond vendor docs/repo, and llms.txt/OpenAPI probes returned 404s suggesting some machine-readable doc surfaces are incomplete.
- [claimed-docs] “Create your first Python ADK agent in minutes.”
- [claimed-docs] “Building an agent with just a model, instructions, and tools is a great place to start for most developers.”
- [claimed-docs] “agent = Agent( name="researcher", model="gemini-flash-latest", instruction="You help users research topics thoroughly.", too…”
- [github] “Agent Config: Build agents without code.”
- [github] “adk run path/to/my_agent”
- [github] “adk run path/to/my_agent # Web UI (supports multi-agent directories or pointing directly to a single agent folder) adk web path/to/agents_d…”
- [claimed-docs] “ADK is designed to be written by both humans and AI. Connect your favorite coding assistant to our ADK developer Skills and AI-aware develop…”
ai-native userSubscribe to events via webhooks
weight 2 · round drawnPydantic AInone0/10No evidence in the pack mentions webhooks or event subscription mechanisms; Pydantic AI documentation covers agents, tools, durable execution, CLI, and observability but never webhook APIs for external event notification.
Google ADKnone0/10ADK's evidence shows only in-process callbacks/hooks for agent execution lifecycle, not an external webhook subscription mechanism; no docs mention registering webhook URLs or event push notifications. Missing for 10: any webhook registration API, outbound event delivery docs, or third-party confirmation of webhook support.
- [claimed-docs] “Callbacks: Hook into specific events during an agent's execution lifecycle to add logging, monitoring, or custom side-effects without alteri…”
Agentic features
ai-native userSet up automations that run autonomously in the background
weight 2 · round to Google ADKPydantic AI supports agents running 'on a durable background queue' and durable execution that persists across restarts/failures, which enables autonomous background operation, but there's no first-party scheduler/trigger system or evidence of a hosted always-on automation service — users must wire up the queue/durable infra themselves. Community evidence also notes gaps in production wiring (reconnection, event infra) that a background automation would need. Missing for 10: a documented scheduling/trigger mechanism, a managed/hosted background execution offering, and independent hands-on confirmation of long-running unattended automations succeeding in production.
- [claimed-docs] “The same agent runs everywhere you need it: behind a web frontend, in the terminal, on a voice call, on a durable background queue”
- [claimed-docs] “Pydantic AI allows you to build durable agents that can preserve their progress across transient API failures and application errors or rest…”
- [claimed-docs] “The same agent runs everywhere you need it: behind a web frontend, in the terminal, on a voice call, on a durable background queue, or as a …”
- [community] “We've been building agents with pydantic-ai in production. The framework is great for defining agents, but we kept rewriting the same infras…”
ADK supports deployable, auto-scaling agent runtimes (Cloud Run, GKE, Agent Runtime) and workflow orchestration with retries, state, and scheduling-like execution (fan-out/fan-in, loops), enabling agents to run unattended once deployed. However, evidence does not show explicit scheduling/triggers (e.g., cron-like autonomous kick-off) or a dedicated 'background automation' mode distinct from deployment. missing for 10: explicit trigger/schedule mechanism for autonomous background runs, independent evidence of long-running unattended operation, and confirmation of persistent background execution outside a deploy/response cycle.
- [claimed-docs] “Agent Runtime is a fully managed auto-scaling service on Google Cloud specifically designed for deploying, managing, and scaling AI agents b…”
- [claimed-docs] “Cloud Run is a managed auto-scaling compute platform on Google Cloud that enables you to run your agent as a container-based application.”
- [claimed-docs] “GKE is a good option if you need more control over the deployment as well as for running Open Models.”
- [github] “Workflow Runtime: A graph-based execution engine for composing deterministic execution flows for agentic apps, with support for routing, fan…”
- [github] “A graph-based execution engine for composing deterministic execution flows for agentic apps, with support for routing, fan-out/fan-in, loops…”
- [claimed-docs] “In ADK, any agent application that has more than one agent or executable Node is considered a workflow.”
ai-native userDelegate tasks to a built-in AI assistant inside the product
weight 3 · round to Pydantic AIPydantic AI ships a built-in CLI assistant ('clai') for chatting with LLMs and a 'complete coding agent in your terminal' with workspace file access, shell, and planning, which function as an in-product AI assistant to delegate tasks to. However, this is a secondary feature of what is primarily an agent-building framework, and there's no independent/hands-on corroboration of this specific assistant capability. Missing for 10: independent verification of the clai/coding-agent assistant in practice, and richer detail on task-delegation scope/limits.
- [claimed-docs] “A complete coding agent in your terminal: workspace-rooted file access, allowlisted shell, repo orientation, planning, and context managemen…”
- [claimed-docs] “Pydantic AI comes with a CLI, `clai` ... You can use it to chat with various LLMs and quickly get answers, right from the command line”
- [claimed-docs] “you can directly launch CLI mode from an `Agent` instance using `Agent.to_cli_sync()`”
- [claimed-docs] “A complete coding agent in your terminal: workspace-rooted file access, allowlisted shell, repo orientation, planning, and context managemen…”
- [claimed-docs] “Pydantic AI comes with a CLI, clai...You can use it to chat with various LLMs and quickly get answers, right from the command line”
- [claimed-docs] “Pydantic AI comes with a CLI, clai (pronounced “clay”). You can use it to chat with various LLMs and quickly get answers, right from the com…”
- [claimed-docs] “you can directly launch CLI mode from an Agent instance using Agent.to_cli_sync().”
- [probe] “PROBE openapi: HTTP 200 at https://pydantic.dev/openapi.json — contains "openapi" key”
Google ADKnone0/10ADK is a framework for building agents that developers run themselves; the docs explicitly describe connecting *external* coding assistants (e.g., 'Connect your favorite coding assistant to our ADK developer Skills') rather than shipping a built-in AI assistant that end-users delegate tasks to inside the product itself. No evidence shows ADK embedding its own persistent assistant persona for task delegation.
- [claimed-docs] “ADK is designed to be written by both humans and AI. Connect your favorite coding assistant to our ADK developer Skills and AI-aware develop…”
- [claimed-docs] “Go from idea to coded ADK agent in minutes. Use your favorite AI-enabled developer environment to scaffold, build, test, evaluate, and deplo…”
ai-native userOperate the product with natural-language commands
weight 2 · round to Pydantic AIPydantic AI ships `clai`, a CLI for chatting with LLMs and agents in natural language from the terminal, plus `Agent.to_cli_sync()` to launch any agent in CLI chat mode, and documents a full terminal coding agent with natural-language-driven planning, file access and shell execution. Missing for 10: independent/hands-on user reports specifically about using clai or the terminal coding agent (community evidence is about the framework generally, not this NL-command surface), and richer detail on command scope/limitations.
- [claimed-docs] “Pydantic AI comes with a CLI, `clai` ... You can use it to chat with various LLMs and quickly get answers, right from the command line”
- [claimed-docs] “you can directly launch CLI mode from an `Agent` instance using `Agent.to_cli_sync()`”
- [claimed-docs] “A complete coding agent in your terminal: workspace-rooted file access, allowlisted shell, repo orientation, planning, and context managemen…”
- [claimed-docs] “You can use it to chat with various LLMs and quickly get answers, right from the command line, or spin up a uvicorn server to chat with your…”
- [claimed-docs] “A complete coding agent in your terminal: workspace-rooted file access, allowlisted shell, repo orientation, planning, and context managemen…”
ADK docs claim it is designed to be built and operated via AI coding assistants (Agent Config for no-code agent building, 'Agents CLI' for AI-enabled dev environments to scaffold/build/test/deploy) which supports some natural-language-driven operation, but the primary operating surface is a traditional CLI (adk run/web/eval/deploy) and Python code, not direct NL commands to the tool itself. Missing for 10: concrete example of natural-language command controlling ADK end-to-end, independent/hands-on confirmation that Agent Config or coding-assistant integration works as a full NL interface.
- [claimed-docs] “ADK is designed to be written by both humans and AI. Connect your favorite coding assistant to our ADK developer Skills and AI-aware develop…”
- [claimed-docs] “Go from idea to coded ADK agent in minutes. Use your favorite AI-enabled developer environment to scaffold, build, test, evaluate, and deplo…”
- [github] “Agent Config: Build agents without code.”
- [github] “Agent Config: Build agents without code. Check out the Agent Config feature.”
- [github] “Build agents without code. Check out the Agent Config feature.”
Api quality
ai-native userExplore an interactive API reference with runnable examples
weight 2 · round drawnPydantic AInone0/10Evidence shows static code snippets throughout the docs (e.g., output_type examples, tool examples) but no evidence of an interactive API reference or runnable/executable examples (e.g., embedded sandboxes, live code runners, Jupyter-style notebooks). The openapi.json and llms.txt probes relate to documentation indexing, not interactivity.
Google ADKnone0/10The evidence pack shows standard docs, code snippets, and CLI examples, but no interactive/runnable API reference (e.g., a Swagger/OpenAPI explorer or live code sandbox); probes for openapi.json and similar endpoints explicitly returned 404s.
- [probe] “PROBE openapi: all candidate paths 404 (https://google.github.io/openapi.json, https://google.github.io/swagger.json, https://google.github.…”
- [probe] “PROBE docs-md: HTTP 404 at https://google.github.io/adk-docs/get-started/.md”
- [claimed-docs] “agent = Agent( name="researcher", model="gemini-flash-latest", instruction="You help users research topics thoroughly.", too…”
ai-native userDownload a machine-readable API spec (OpenAPI or equivalent)
weight 2 · round to Pydantic AIA probe found an OpenAPI JSON file at https://pydantic.dev/openapi.json returning 200 with a valid 'openapi' key, showing a machine-readable spec is downloadable from the Pydantic AI docs domain. However, there's no documentation clarifying what this spec actually describes (it may pertain to the website/docs API rather than the Pydantic AI library's own interfaces), and no first-party claim or explanation of this spec's purpose or scope. Missing for 10: clear first-party documentation of what the OpenAPI spec covers, confirmation it describes Pydantic AI's actual API surface (not just the docs site), and independent corroboration of its usefulness for agentic consumption.
- [probe] “PROBE docs-md: HTTP 200 at https://pydantic.dev/docs/ai/overview.md > ## Documentation Index > Fetch the complete documentation index at: ht…”
Google ADKnone0/10No evidence of a downloadable OpenAPI/machine-readable spec for ADK; explicit probes for openapi.json/swagger.json and llms.txt all return 404, indicating no such spec is published.
- [probe] “PROBE llms.txt: HTTP 404 at https://google.github.io/llms.txt”
- [probe] “PROBE docs-md: HTTP 404 at https://google.github.io/adk-docs/get-started/.md”
- [probe] “PROBE openapi: all candidate paths 404 (https://google.github.io/openapi.json, https://google.github.io/swagger.json, https://google.github.…”
ai-native userTest against a sandbox environment without touching production data
weight 1 · round drawnPydantic AI ships TestModel/FunctionModel for testing agents without hitting real model/production APIs, and Pydantic Evals for code-first systematic testing, and a community reviewer independently cites 'ability to mock the LLM client for testing' as a standout feature. However, there's no dedicated 'sandbox data environment' concept (e.g., isolated test databases, mock production data stores) — the coverage is limited to mocking the LLM call itself, not a full sandbox around dependencies/tools/data. Missing for 10: documented sandboxed data/dependency isolation beyond model mocking, first-party guidance on avoiding production side-effects in tool calls, and broader independent corroboration of safe test workflows.
- [claimed-docs] “Pydantic AI also comes with TestModel and FunctionModel for testing and development.”
- [claimed-docs] “Pydantic Evals follows a code-first philosophy where all evaluation components are defined in Python.”
- [claimed-docs] “Pydantic Evals is a powerful evaluation framework for systematically testing and evaluating AI systems, from simple LLM calls to complex mul…”
- [community] “I did look at instructor and probably for structured output pydantic-ai and instructor are about the same, but pydantic-ai supports a ton of…”
ADK supports local dev/test workflows (adk run, adk web, adk eval, local evaluation with test files and eval sets) that inherently run against a local/dev environment rather than production, and offline/disconnected deployment is mentioned. However, there's no explicit documentation of a dedicated 'sandbox' environment or data isolation guarantee distinct from production. missing for 10: explicit sandbox/staging environment docs, explicit statement that test runs are isolated from production data/state, independent confirmation of this isolation.
- [claimed-docs] “This approach involves creating individual test files, each representing a single, simple agent-model interaction (a session).”
- [claimed-docs] “This approach involves creating individual test files, each representing a single, simple agent-model interaction (a session). It's most eff…”
- [claimed-docs] “Expected Intermediate Tool Use Trajectory: The tool calls we expect the agent to make in order to respond correctly to the user query.”
- [github] “adk run path/to/my_agent # Web UI (supports multi-agent directories or pointing directly to a single agent folder) adk web path/to/agents_d…”
- [github] “adk eval \ samples_for_testing/hello_world \ samples_for_testing/hello_world/hello_world_eval_set_001.evalset.json”
- [claimed-docs] “This is a good option if you prefer to run offline or disconnected, or otherwise in a system that has no connection to Google Cloud.”
ai-native userRely on versioned APIs with a documented deprecation policy
weight 2 · round drawnPydantic AInone0/10No evidence in the pack mentions API versioning, semantic versioning policy, or a documented deprecation policy for Pydantic AI's APIs; all citations concern agent features, tooling, and community sentiment unrelated to versioning guarantees.
Google ADKnone0/10No evidence in the pack mentions API versioning schemes or a documented deprecation policy for ADK; probes for OpenAPI specs and related docs all returned 404s. missing for 10: versioning scheme documentation, deprecation policy, changelog/migration guides, semantic versioning commitments.
- [probe] “PROBE llms.txt: HTTP 404 at https://google.github.io/llms.txt”
- [probe] “PROBE docs-md: HTTP 404 at https://google.github.io/adk-docs/get-started/.md”
- [probe] “PROBE openapi: all candidate paths 404 (https://google.github.io/openapi.json, https://google.github.io/swagger.json, https://google.github.…”
Agents tools — stories about agents tools in this arenaAgents tools
Stories about agents tools in this arena
Agent authoring
developerDefine an agent with typed custom tools in a few lines of code
weight 3 · round to Pydantic AIDocs show typed agents (Agent[Deps, OutputType]) with IDE-checked generics, function tools via simple @agent.tool decorators, and structured output types, matching a concise typed-agent-with-tools workflow; community feedback corroborates it makes 'constructing any given agent very easy' with 'frictionless tool-calling'. Missing for 10: no direct minimal code snippet shown in evidence pack and some community friction with structured output reliability under certain providers.
- [claimed-docs] “an agent which required dependencies of type `Foobar` and produced outputs of type `list[str]` would have type `Agent[Foobar, list[str]]`”
- [claimed-docs] “Function tools provide a mechanism for models to perform actions and retrieve extra information to help them generate a response.”
- [claimed-docs] “In typing terms, agents are generic in their dependency and output types...your IDE can tell you when you have the right type”
- [claimed-docs] “@agent.tool is considered the default decorator since in the majority of cases tools will need access to the agent context.”
- [claimed-docs] “conceptually you can think of an agent as a container for: Instructions... Function tool(s) and toolsets... Structured output type”
- [community] “Pydantic-AI is lovely - I've been working on a coding agent CLI for a year plus now. IMO it does make constructing any given agent very easy…”
- [community] “I did look at instructor and probably for structured output pydantic-ai and instructor are about the same, but pydantic-ai supports a ton of…”
The docs show a concrete few-line example of defining an Agent with a model, instructions, and a tools list (google-adk-docs-22), and other docs confirm tools are a core, optional component of agent definition (google-adk-docs-2, google-adk-docs-13). However, the evidence never shows a custom Python tool function with type hints/typed parameters being defined and passed in — only a prebuilt tool (google_search) is used in the example. Missing for 10: an explicit example of writing a custom typed tool function, and documentation of automatic schema/type inference from function signatures.
- [claimed-docs] “agent = Agent( name="researcher", model="gemini-flash-latest", instruction="You help users research topics thoroughly.", too…”
- [claimed-docs] “Building an agent with just a model, instructions, and tools is a great place to start for most developers.”
- [claimed-docs] “The basic components of an Agent are an artificial intelligence (AI) model, task instructions, and optionally, a set of tools to be used by …”
Ai buildability
ai-native userHave a coding agent scaffold a new agent project from an official CLI or template in one command
weight 2 · round to Google ADKPydantic AInone0/10Pydantic AI documents a CLI called `clai` for chatting with LLMs/agents from the terminal or launching a CLI from an existing Agent instance, but there is no evidence of an official scaffolding command or project template that generates a new agent project structure in one command.
- [claimed-docs] “Pydantic AI comes with a CLI, `clai` ... You can use it to chat with various LLMs and quickly get answers, right from the command line”
- [claimed-docs] “you can directly launch CLI mode from an `Agent` instance using `Agent.to_cli_sync()`”
- [claimed-docs] “Pydantic AI comes with a CLI, clai (pronounced “clay”). You can use it to chat with various LLMs and quickly get answers, right from the com…”
- [claimed-docs] “You can use it to chat with various LLMs and quickly get answers, right from the command line, or spin up a uvicorn server to chat with your…”
- [probe] “official CLI documented at https://pydantic.dev/docs/ai/integrations/cli/”
ADK docs explicitly advertise an official 'Agents CLI' to scaffold, build, test, evaluate, and deploy agents in minutes, and the GitHub README shows concrete one-line commands (adk run, adk web, adk deploy) plus a no-code 'Agent Config' template feature for scaffolding agents. This directly matches the ai-native scaffolding story via an official CLI/template workflow. Missing for 10: independent/hands-on confirmation of the one-command scaffold experience beyond first-party docs.
- [claimed-docs] “Go from idea to coded ADK agent in minutes. Use your favorite AI-enabled developer environment to scaffold, build, test, evaluate, and deplo…”
- [claimed-docs] “Migrate existing agents and workflows to ADK with Agents CLI.”
- [github] “adk run path/to/my_agent”
- [github] “adk run path/to/my_agent # Web UI (supports multi-agent directories or pointing directly to a single agent folder) adk web path/to/agents_d…”
- [github] “Agent Config: Build agents without code. Check out the Agent Config feature.”
- [github] “Build agents without code. Check out the Agent Config feature.”
ai-native userRun the framework's example agents headlessly from a terminal so an agent can verify what it just built
weight 2 · round to Google ADKPydantic AI ships a terminal CLI (`clai`) and lets any `Agent` be launched in CLI mode via `Agent.to_cli_sync()`, and agents are plain Python objects invocable via `run_sync()` from a script, all of which support terminal-based execution. However the evidence only shows an interactive chat-style CLI, not a documented headless/non-interactive mode or bundled 'example agents' meant for self-verification after code generation. Missing for 10: explicit headless (non-interactive) invocation flag/example, first-party example-agent gallery runnable via CLI, and independent confirmation that an agent can invoke it to verify its own output.
- [claimed-docs] “Pydantic AI comes with a CLI, `clai` ... You can use it to chat with various LLMs and quickly get answers, right from the command line”
- [claimed-docs] “you can directly launch CLI mode from an `Agent` instance using `Agent.to_cli_sync()`”
- [claimed-docs] “Pydantic AI comes with a CLI, clai (pronounced “clay”). You can use it to chat with various LLMs and quickly get answers, right from the com…”
- [claimed-docs] “you can directly launch CLI mode from an Agent instance using Agent.to_cli_sync().”
- [claimed-docs] “You can use it to chat with various LLMs and quickly get answers, right from the command line, or spin up a uvicorn server to chat with your…”
- [claimed-docs] “Pydantic AI also comes with TestModel and FunctionModel for testing and development.”
ADK provides a documented CLI (`adk run path/to/my_agent`) to run agents headlessly from a terminal, plus `adk eval` for automated verification of agent behavior against eval sets, matching the 'verify what it just built' use case for an ai-native/agentic workflow. Missing for 10: explicit confirmation that shipped 'example agents' (vs. user-authored ones) work with this flow, and independent/hands-on corroboration beyond the official repo docs.
- [github] “adk run path/to/my_agent”
- [github] “adk run path/to/my_agent # Web UI (supports multi-agent directories or pointing directly to a single agent folder) adk web path/to/agents_d…”
- [github] “adk eval \ samples_for_testing/hello_world \ samples_for_testing/hello_world/hello_world_eval_set_001.evalset.json”
- [claimed-docs] “This approach involves creating individual test files, each representing a single, simple agent-model interaction (a session).”
ai-native userRely on strict typing and schema validation so a coding agent catches its own mistakes at build time
weight 2 · round to Pydantic AIPydantic AIdisputedcontradicted5/10Docs show strong build-time typing via generic Agent[Deps, Output] types that let IDEs/type-checkers catch mismatches (docs-4/24/26) and structured output enforcement via Pydantic models as output_type (docs-6/18/28), which is exactly the kind of static/schema safety net the story asks for. However, multiple hands-on community reports concretely contradict the 'reliably catches mistakes' framing: users report that structured output validation 'rarely' produces valid objects despite retries, and that LLMs frequently ignore the schema and summarize instead even with retries configured (pydantic-ai-comm-6, pydantic-ai-comm-10), a documented runtime failure of the schema-validation half of the claim. missing for 10: independent verification that build-time type errors are reliably caught pre-execution, and resolution of the reported structured-output reliability failures.
- [claimed-docs] “an agent which required dependencies of type `Foobar` and produced outputs of type `list[str]` would have type `Agent[Foobar, list[str]]`”
- [claimed-docs] “In typing terms, agents are generic in their dependency and output types...your IDE can tell you when you have the right type”
- [claimed-docs] “agents are generic in their dependency and output types, e.g., an agent which required dependencies of type Foobar and produced outputs of t…”
- [claimed-docs] “Here's an example using a Pydantic model as the `output_type`, forcing the model to respond with data matching our specification”
- [claimed-docs] “Here’s an example using a Pydantic model as the `output_type`, forcing the model to respond with data matching our specification”
- [claimed-docs] “Here’s an example using a Pydantic model as the output_type, forcing the model to respond with data matching our specification”
- [community] “I wanted to love pydantic AI as much as I love pydantic but... with the same LLM models, openai.client.chat.completions + a custom prompt to…”
- [community] “My experience is that pretty frequently the LLM just refuses to actually supply json conforming to the model and summarizes the input instea…”
Google ADKnone0/10The evidence pack covers ADK's agent orchestration, deployment, and evaluation features, but contains no mention of strict typing, schema validation, or build-time error detection for tool/agent definitions — the evaluation features described (docs-20, docs-21, docs-25) are runtime test-set based, not compile/build-time type checks.
Automation depth — how much of the product can run unattendedAutomation depth
How much of the product can run unattended
ai-native userPerform bulk operations across many items at once
weight 2 · round to Pydantic AIPydantic AI is a code-first agent framework, so bulk processing over many items is possible by writing loops calling agents/tools, and the Evals framework explicitly runs evaluations against datasets (many cases) and evaluates production traces in aggregate. However there is no explicit documented bulk-operation primitive (batch API, concurrent job runner, dataset-wide agent invocation) beyond the evals use case. Missing for 10: dedicated batch/bulk execution API, evidence of built-in concurrency/rate-limited fan-out across many items, and hands-on confirmation of bulk workflows outside evals.
- [claimed-docs] “Pydantic Evals follows a code-first philosophy where all evaluation components are defined in Python.”
- [claimed-docs] “Pydantic Evals is a powerful evaluation framework for systematically testing and evaluating AI systems, from simple LLM calls to complex mul…”
- [claimed-docs] “Evaluate agents and LLM apps against datasets built from production traces, run the suite from your code, and compare a candidate with a bas…”
- [claimed-docs] “an agent which required dependencies of type `Foobar` and produced outputs of type `list[str]` would have type `Agent[Foobar, list[str]]`”
ADK's Workflow Runtime offers fan-out/fan-in and loop constructs that could be used by developers to build bulk-item processing pipelines, but there is no documented built-in 'bulk operations' feature or example for end users acting across many items at once. Missing for 10: explicit bulk-operation tooling/UI, documented examples of processing many items in one call, and evidence of end-user (not just developer-framework) bulk workflows.
- [github] “Workflow Runtime: A graph-based execution engine for composing deterministic execution flows for agentic apps, with support for routing, fan…”
- [claimed-docs] “you can use the ADK development framework to expand them into workflows, which allow you to combine and orchestrate multiple agents and code…”
ai-native userDefine rules that trigger actions automatically on events
weight 3 · round to Google ADKPydantic AInone0/10Pydantic AI is a framework for building agents (tools, structured output, durable execution, deferred/approval tools) that are invoked programmatically or via a CLI/queue, but the evidence pack shows no declarative rule-engine or event-trigger system (e.g., 'on event X, automatically run Y') — durable execution and background queues describe execution environments, not rule definitions for automatic triggering. missing for 10: any documented rule/trigger definition mechanism, event-listener API, or evidence of automatic action-firing on external events.
- [claimed-docs] “Pydantic AI allows you to build durable agents that can preserve their progress across transient API failures and application errors or rest…”
- [claimed-docs] “The same agent runs everywhere you need it: behind a web frontend, in the terminal, on a voice call, on a durable background queue, or as a …”
- [claimed-docs] “Pydantic AI allows you to build durable agents that can preserve their progress across transient API failures and application errors or rest…”
- [claimed-docs] “Pydantic AI provides the concept of deferred tools... tools that require approval... tools that are executed externally”
ADK explicitly supports event-driven automation via Callbacks ("Hook into specific events during an agent's execution lifecycle... without altering core agent logic") and a Workflow Runtime graph engine with routing, retry, fan-out/fan-in and dynamic nodes for triggering actions on execution events, matching the story of defining rules that fire on events. missing for 10: independent/hands-on evidence of callback-triggered rules in production use, and more detail on condition-based rule syntax beyond docs summaries.
- [claimed-docs] “Callbacks: Hook into specific events during an agent's execution lifecycle to add logging, monitoring, or custom side-effects without alteri…”
- [github] “Workflow Runtime: A graph-based execution engine for composing deterministic execution flows for agentic apps, with support for routing, fan…”
- [github] “A graph-based execution engine for composing deterministic execution flows for agentic apps, with support for routing, fan-out/fan-in, loops…”
- [claimed-docs] “In ADK, any agent application that has more than one agent or executable Node is considered a workflow.”
ai-native userSchedule recurring jobs or workflows
weight 2 · round drawnPydantic AInone0/10Pydantic AI documents durable execution and background-queue agent runs, but nothing in the evidence describes a scheduler, cron-like trigger, or recurring-job mechanism — it's a library for building agents, not a job-scheduling platform. missing for 10: any documentation of recurring/cron scheduling, trigger-based workflow re-execution, or a scheduling API/integration.
- [claimed-docs] “Pydantic AI allows you to build durable agents that can preserve their progress across transient API failures and application errors or rest…”
- [claimed-docs] “The same agent runs everywhere you need it: behind a web frontend, in the terminal, on a voice call, on a durable background queue, or as a …”
- [claimed-docs] “Pydantic AI allows you to build durable agents that can preserve their progress across transient API failures and application errors or rest…”
Google ADKnone0/10The evidence covers agent/workflow orchestration, deployment targets (Cloud Run, GKE, Agent Runtime), and evaluation, but nothing describes scheduling, cron-like triggers, or recurring execution of jobs/workflows. Absence of evidence for this applicable automation-depth capability yields 'none'.
ai-native userVersion, review, and roll back my automations
weight 1 · round drawnPydantic AInone0/10Pydantic AI's docs cover agent construction, tools, durable execution, and evals (e.g., comparing a candidate against a baseline in Logfire evals), but there is no evidence of any feature for versioning, reviewing, or rolling back deployed automations/agent workflows themselves — no changelog/version history UI, no rollback mechanism for agent configurations or runs. missing for 10: version history for agents/automations, a review/approval workflow for changes, and a rollback mechanism to revert to prior agent versions.
- [claimed-docs] “Evaluate agents and LLM apps against datasets built from production traces, run the suite from your code, and compare a candidate with a bas…”
- [claimed-docs] “Pydantic Evals follows a code-first philosophy where all evaluation components are defined in Python.”
- [claimed-docs] “Pydantic AI allows you to build durable agents that can preserve their progress across transient API failures and application errors or rest…”
Google ADKnone0/10ADK is a framework for building agents (code, workflows, tools, deployment) but the evidence pack shows no version control, review, or rollback mechanism for automations themselves — no changelog/versioning UI, no approval/review workflow for agent definitions, no rollback feature. Agent code could theoretically be tracked via external git, but ADK itself provides no such capability in the evidence. Missing for 10: any versioning system, review/approval workflow, or rollback capability for automations.
Deployment portability — stories about deployment portability in this arenaDeployment portability
Stories about deployment portability in this arena
Deployment
engineering-leadDeploy an agent to a managed runtime and call it as an API endpoint
weight 2 · round to Google ADKPydantic AInone0/10Pydantic AI's docs describe the agent as runnable 'behind a web frontend' or 'on a durable background queue' and the CLI can 'spin up a uvicorn server,' but this is self-hosted server code, not a managed runtime/PaaS where an engineering lead deploys and gets an API endpoint. There's no evidence of a first-party managed hosting/deploy service (e.g., a 'pydantic deploy' or cloud endpoint) for agents themselves — the AI Gateway product is about model access, not agent deployment. Missing for 10: managed deployment/hosting service, one-click deploy to a runtime, hosted API endpoint provisioning.
- [claimed-docs] “The same agent runs everywhere you need it: behind a web frontend, in the terminal, on a voice call, on a durable background queue”
- [claimed-docs] “The same agent runs everywhere you need it: behind a web frontend, in the terminal, on a voice call, on a durable background queue, or as a …”
- [claimed-docs] “You can use it to chat with various LLMs and quickly get answers, right from the command line, or spin up a uvicorn server to chat with your…”
- [claimed-docs] “Pydantic AI allows you to build durable agents that can preserve their progress across transient API failures and application errors or rest…”
- [claimed-docs] “Pydantic AI allows you to build durable agents that can preserve their progress across transient API failures and application errors or rest…”
ADK docs explicitly describe deploying agents to a fully managed, auto-scaling Agent Engine/Agent Runtime on Google Cloud, plus alternative managed options like Cloud Run and GKE, with the stated purpose being to make the agent 'accessed, queried, and used in production' as an API endpoint. Missing for 10: no explicit hands-on/independent confirmation of the API contract (e.g., request/response schema) or third-party verification of endpoint behavior beyond first-party docs.
- [claimed-docs] “Agent Runtime is a fully managed auto-scaling service on Google Cloud specifically designed for deploying, managing, and scaling AI agents b…”
- [claimed-docs] “Cloud Run is a managed auto-scaling compute platform on Google Cloud that enables you to run your agent as a container-based application.”
- [claimed-docs] “GKE is a good option if you need more control over the deployment as well as for running Open Models.”
- [claimed-docs] “Once you've built and tested your agent using ADK, the next step is to deploy it so it can be accessed, queried, and used in production”
- [claimed-docs] “You can manually package your Agent into a container image and then run it in any environment that supports container images.”
engineering-leadRun my agents entirely on my own infrastructure with no dependence on the vendor's platform
weight 2 · round to Google ADKPydantic AI is an open-source Python library where agents are plain Python objects that 'run everywhere you need it: behind a web frontend, in the terminal, on a voice call, on a durable background queue, or as a plain object you call run() on,' with model-agnostic providers and only optional (not required) Logfire telemetry, implying no mandatory vendor platform dependency for running agents. Missing for 10: explicit documentation on self-hosted deployment guarantees, licensing terms guaranteeing no vendor lock-in, and independent confirmation that no hidden vendor service calls exist.
- [claimed-docs] “The same agent runs everywhere you need it: behind a web frontend, in the terminal, on a voice call, on a durable background queue”
- [claimed-docs] “The same agent runs everywhere you need it: behind a web frontend, in the terminal, on a voice call, on a durable background queue, or as a …”
- [claimed-docs] “Pydantic AI is model-agnostic and has built-in support for multiple model providers”
- [claimed-docs] “Pydantic AI has built-in (but optional) support for Logfire. That means if the logfire package is installed and configured and agent instrum…”
- [claimed-docs] “Pydantic AI has built-in (but optional) support for Logfire...detailed information about agent runs is sent to Logfire.”
ADK is an open-source framework (google/adk-python) that supports running agents locally via `adk run`/`adk web`, packaging into containers with `adk deploy docker`, deploying to any container-supporting environment, and explicitly documents an offline/disconnected mode with no Google Cloud connection required, alongside optional managed services like Agent Runtime/Cloud Run/GKE. missing for 10: independent/hands-on confirmation of fully vendor-free operation (e.g., third-party report of running ADK completely offline with non-Google models) and clarity on whether any telemetry/model calls still phone home by default.
- [claimed-docs] “This is a good option if you prefer to run offline or disconnected, or otherwise in a system that has no connection to Google Cloud.”
- [claimed-docs] “You can manually package your Agent into a container image and then run it in any environment that supports container images.”
- [github] “adk deploy docker --with_ui <agent-folder>”
- [github] “adk run path/to/my_agent # Web UI (supports multi-agent directories or pointing directly to a single agent folder) adk web path/to/agents_d…”
- [claimed-docs] “ADK can work with almost any generative AI model. The framework provides easy access to Gemini as well as other leading models, and we provi…”
- [claimed-docs] “GKE is a good option if you need more control over the deployment as well as for running Open Models.”
Portability
developerSwap the underlying LLM provider or model without rewriting my agent
weight 3 · round to Google ADKPydantic AIdisputedcontradicted6/10Docs strongly claim model-agnostic design where 'every model is a string swap away' and list built-in support across many providers, with a maintainer confirming streaming works across OpenAI, Claude, Bedrock, Gemini, Groq, HuggingFace, Mistral and OpenAI-compatible APIs. However, hands-on community reports contradict frictionless swapping: one dev gave up on structured output with Azure OpenAI due to abstraction/provider bugs, another found some models wouldn't stream (took months to fix), and others report unreliable JSON conformance that varies by provider even with retries — the maintainer even concedes many bugs stem from non-compliant 'OpenAI-compatible' and local model APIs, meaning swaps aren't always transparent. missing for 10: independent benchmark showing zero-code-change swaps across providers in production, and resolution confirmation for the reported streaming/structured-output breakages.
- [claimed-docs] “a typed, extensible agent loop with every model a string swap away”
- [claimed-docs] “Pydantic AI is model-agnostic and has built-in support for multiple model providers”
- [claimed-docs] “many providers are compatible with the OpenAI API, and can be used with OpenAIChatModel in Pydantic AI”
- [community] “I tried it out with structured output for azure openai but had to give up since somewhere somewhat was broken and it's difficult to figure o…”
- [community] “I wanted to love pydantic AI as much as I love pydantic but... with the same LLM models, openai.client.chat.completions + a custom prompt to…”
- [community] “I had the opposite experience. I liked the niceties of Pydantic AI, but had trouble with it that I found difficult to deal with. For example…”
- [community] “Pydantic AI maintainer: as of right now we support streaming against the OpenAI, Claude, Bedrock, Gemini, Groq, HuggingFace, and Mistral API…”
- [community] “Pydantic AI maintainer: The vast majority of bugs we encounter are not in Pydantic AI itself but rather in having to deal with supposedly Op…”
Docs explicitly state ADK works with 'almost any generative AI model,' providing adapters for Gemini and many other model providers including locally running models, and the agent definition just takes a `model` string parameter (e.g., 'gemini-flash-latest'), implying swapping providers is a config change rather than a rewrite. Missing for 10: independent/hands-on confirmation that switching providers requires no code changes to agent logic, and no explicit list of supported non-Gemini providers with concrete migration examples.
- [claimed-docs] “ADK can work with almost any generative AI model. The framework provides easy access to Gemini as well as other leading models, and we provi…”
- [claimed-docs] “agent = Agent( name="researcher", model="gemini-flash-latest", instruction="You help users research topics thoroughly.", too…”
- [claimed-docs] “The basic components of an Agent are an artificial intelligence (AI) model, task instructions, and optionally, a set of tools to be used by …”
Evals observability — stories about evals observability in this arenaEvals observability
Stories about evals observability in this arena
Evals
engineering-leadScore agent quality with built-in evals and run them as part of CI
weight 2 · round to Google ADKPydantic Evals is a documented, code-first evaluation framework for scoring agent outputs against datasets/criteria (docs-13, docs-21), and Logfire adds LLM-as-judge scoring and trace-linked evals (docs-51, docs-52), which could be wired into CI since it's code-first Python. However, there's no explicit documentation or example showing a CI pipeline integration (e.g., GitHub Actions config, pass/fail gating) or independent confirmation that teams run these evals in CI. missing for 10: explicit CI integration guide/example, independent/community confirmation of running evals in CI pipelines, evidence of pass/fail gating or regression thresholds tied to CI.
- [claimed-docs] “Pydantic Evals follows a code-first philosophy where all evaluation components are defined in Python.”
- [claimed-docs] “Pydantic Evals is a powerful evaluation framework for systematically testing and evaluating AI systems, from simple LLM calls to complex mul…”
- [claimed-docs] “Evaluate agents and LLM apps against datasets built from production traces, run the suite from your code, and compare a candidate with a bas…”
- [claimed-docs] “Score answers against criteria you can read. Every verdict keeps the judge's reason and links to the trace that produced it”
ADK ships a first-party evaluation framework with groundtruth and rubric-based metrics, expected tool-use trajectories, evalset.json test files, and a documented CLI command (`adk eval <agent> <evalset>`) that can be scripted/invoked headlessly, which is exactly the shape needed for CI integration. Missing for 10: explicit CI/CD pipeline documentation (e.g., a GitHub Actions example) and independent/third-party corroboration of running adk eval in CI.
- [claimed-docs] “This approach involves creating individual test files, each representing a single, simple agent-model interaction (a session).”
- [claimed-docs] “ADK provides both groundtruth based and rubric based tool use evaluation metrics.”
- [claimed-docs] “This approach involves creating individual test files, each representing a single, simple agent-model interaction (a session). It's most eff…”
- [claimed-docs] “Expected Intermediate Tool Use Trajectory: The tool calls we expect the agent to make in order to respond correctly to the user query.”
- [github] “adk eval \ samples_for_testing/hello_world \ samples_for_testing/hello_world/hello_world_eval_set_001.evalset.json”
Testing
developerUnit-test agents with mocked models and tools
weight 2 · round to Pydantic AIDocs explicitly state Pydantic AI ships TestModel and FunctionModel for testing and development (mocking model responses), and function tools are just Python callables that can be swapped/mocked directly in unit tests; a community user also cites 'ability to mock the LLM client for testing' as a killer feature. missing for 10: no first-party doc snippet showing a full pytest example mocking a tool call specifically, and no independent hands-on review deeply validating TestModel/FunctionModel beyond a brief mention.
- [claimed-docs] “Pydantic AI also comes with TestModel and FunctionModel for testing and development.”
- [claimed-docs] “Function tools provide a mechanism for models to perform actions and retrieve extra information to help them generate a response.”
- [claimed-docs] “@agent.tool is considered the default decorator since in the majority of cases tools will need access to the agent context.”
- [community] “I did look at instructor and probably for structured output pydantic-ai and instructor are about the same, but pydantic-ai supports a ton of…”
ADK docs describe a test-file based evaluation approach explicitly described as 'a form of unit testing' for single agent-model interactions, with expected tool-use trajectories and groundtruth/rubric metrics plus an `adk eval` CLI — but none of this evidence explicitly describes mocking models or tools (e.g., swapping in fake LLM responses or stub tool implementations) for isolated unit tests. Missing for 10: explicit mocked-model/mocked-tool test fixtures or APIs, independent/hands-on confirmation of mocking support, and unit-test framework integration examples (e.g., pytest with mock objects).
- [claimed-docs] “This approach involves creating individual test files, each representing a single, simple agent-model interaction (a session).”
- [claimed-docs] “This approach involves creating individual test files, each representing a single, simple agent-model interaction (a session). It's most eff…”
- [claimed-docs] “Expected Intermediate Tool Use Trajectory: The tool calls we expect the agent to make in order to respond correctly to the user query.”
- [claimed-docs] “ADK provides both groundtruth based and rubric based tool use evaluation metrics.”
- [github] “adk eval \ samples_for_testing/hello_world \ samples_for_testing/hello_world/hello_world_eval_set_001.evalset.json”
Tracing
developerTrace every LLM call and tool invocation of an agent run in an observability UI
weight 3 · round to Pydantic AIPydantic AI has first-party OpenTelemetry-based tracing via Logfire: docs state a trace is generated per agent run with spans for each model request and tool call, and detailed run info is sent to the Logfire observability UI (querying via SQL, linking judge verdicts to traces). Community comments corroborate pairing Pydantic AI with observability platforms (e.g., langfuse) in production. Missing for 10: independent hands-on review specifically of the Logfire trace UI (screenshots/walkthrough) rather than vendor docs alone.
- [claimed-docs] “A trace is generated for the agent run, and spans are emitted for each model request and tool call.”
- [claimed-docs] “Pydantic AI has built-in (but optional) support for Logfire...detailed information about agent runs is sent to Logfire.”
- [claimed-docs] “Pydantic AI has built-in (but optional) support for Logfire. That means if the logfire package is installed and configured and agent instrum…”
- [claimed-docs] “Pydantic Logfire is an observability platform developed by the team who created and maintain Pydantic Validation and Pydantic AI.”
- [claimed-docs] “Build typed agents, long-running coding and research agents, and realtime voice applications with model-agnostic tools and OpenTelemetry tra…”
- [claimed-docs] “Instrument the libraries around an agent to record its model calls, tool calls, HTTP requests and database queries in one trace, then query …”
- [claimed-docs] “Score answers against criteria you can read. Every verdict keeps the judge's reason and links to the trace that produced it”
- [community] “After maintaining my own agents library for a while, I've switched over to pydantic ai recently. I have some minor nits, but overall it's be…”
ADK ships a built-in development Web UI explicitly for testing, evaluating, and debugging agents, and provides callbacks to hook into execution lifecycle events for logging/monitoring, which together imply some run-level visibility into tool and model calls. However, the evidence never explicitly describes a trace view showing each LLM call and tool invocation of a run, nor mentions integration with tracing standards (e.g., OpenTelemetry) or a dedicated observability dashboard beyond the dev/eval UI. Missing for 10: explicit documentation of per-call tracing UI, tool-invocation-level trace inspection, and any third-party/hands-on confirmation of this granularity.
- [github] “A built-in development UI to help you test, evaluate, debug, and showcase your agent(s).”
- [github] “Web UI (supports multi-agent directories or pointing directly to a single agent folder)”
- [github] “adk run path/to/my_agent # Web UI (supports multi-agent directories or pointing directly to a single agent folder) adk web path/to/agents_d…”
- [claimed-docs] “Callbacks: Hook into specific events during an agent's execution lifecycle to add logging, monitoring, or custom side-effects without alteri…”
Guardrails safety — stories about guardrails safety in this arenaGuardrails safety
Stories about guardrails safety in this arena
Guardrails
developerAttach input/output guardrails that validate, transform, or block unsafe content
weight 3 · round to Google ADKPydantic AI supports structured output validation (forcing outputs to match a Pydantic schema, with retries) and 'deferred tools' that require human approval before execution, which could be used as building blocks for guardrail-like validation/blocking, but there is no dedicated guardrails feature or documentation aimed at safety/unsafe-content filtering, moderation, or transformation. missing for 10: explicit guardrails API/docs, content-safety/moderation examples, independent evidence of blocking unsafe outputs.
- [claimed-docs] “Here's an example using a Pydantic model as the `output_type`, forcing the model to respond with data matching our specification”
- [claimed-docs] “Here’s an example using a Pydantic model as the `output_type`, forcing the model to respond with data matching our specification”
- [claimed-docs] “Here’s an example using a Pydantic model as the output_type, forcing the model to respond with data matching our specification”
- [claimed-docs] “it may need to be approved by the user first”
- [claimed-docs] “There are a few scenarios where the model should be able to call a tool that should not or cannot be executed during the same agent run insi…”
ADK exposes general extensibility hooks—Callbacks to intercept execution events for custom logic/side-effects, Plugins for pre-packaged behaviors, and a Tool Confirmation (HITL) flow that can guard tool execution—which developers could use to build input/output guardrails, but there is no dedicated 'guardrails' feature, built-in content-safety/validation API, or example showing blocking/transforming unsafe content end-to-end. Missing for 10: explicit guardrail/validation API or moderation integration, documented examples of blocking/transforming unsafe input or output, and any third-party/community confirmation of this pattern in practice.
- [claimed-docs] “Callbacks: Hook into specific events during an agent's execution lifecycle to add logging, monitoring, or custom side-effects without alteri…”
- [claimed-docs] “Plugins: Integrate complex, pre-packaged behaviors and third-party services directly into your agent's workflow.”
- [github] “Tool Confirmation: A tool confirmation flow (HITL) that can guard tool execution with explicit confirmation and custom input.”
- [github] “A tool confirmation flow (HITL) that can guard tool execution with explicit confirmation and custom input.”
engineering-leadRestrict what an agent may do with fine-grained tool permissions and sandboxed execution
weight 2 · round to Pydantic AIPydantic AI supports guardrails via deferred tools that require human approval before execution (docs-11/20/38/46), and its coding-agent CLI advertises workspace-rooted file access and an allowlisted shell (docs-3/17), which together give engineering leads some control over what an agent can do. However there's no dedicated sandboxed execution environment (e.g., container/VM isolation) or a granular per-tool permission/policy system documented beyond the approval-gate mechanism. Missing for 10: a true sandboxed runtime for tool execution, fine-grained role/permission scoping across tools, and independent/hands-on verification that these guardrails hold up in practice.
- [claimed-docs] “A complete coding agent in your terminal: workspace-rooted file access, allowlisted shell, repo orientation, planning, and context managemen…”
- [claimed-docs] “A complete coding agent in your terminal: workspace-rooted file access, allowlisted shell, repo orientation, planning, and context managemen…”
- [claimed-docs] “it may need to be approved by the user first”
- [claimed-docs] “There are a few scenarios where the model should be able to call a tool that should not or cannot be executed during the same agent run insi…”
- [claimed-docs] “it may need to be approved by the user first... Pydantic AI provides the concept of deferred tools”
- [claimed-docs] “Pydantic AI provides the concept of deferred tools... tools that require approval... tools that are executed externally”
ADK provides a Tool Confirmation (HITL) flow that can gate tool execution with explicit confirmation/custom input, plus callbacks/plugins hooks to intercept agent actions, giving some control over agent behavior. However there is no evidence of fine-grained per-tool permission policies or an actual sandboxed execution environment for code/tool runs. Missing for 10: explicit sandboxing of tool/code execution, a permissions/ACL system scoping tool access, and independent verification of these guardrails in practice.
- [github] “Tool Confirmation: A tool confirmation flow (HITL) that can guard tool execution with explicit confirmation and custom input.”
- [github] “A tool confirmation flow (HITL) that can guard tool execution with explicit confirmation and custom input.”
- [claimed-docs] “Callbacks: Hook into specific events during an agent's execution lifecycle to add logging, monitoring, or custom side-effects without alteri…”
- [claimed-docs] “Plugins: Integrate complex, pre-packaged behaviors and third-party services directly into your agent's workflow.”
Human in the loop — stories about human in the loop in this arenaHuman in the loop
Stories about human in the loop in this arena
Approval flows
developerPause an agent mid-run for human input or approval and resume with the human's decision
weight 3 · round drawnPydantic AI explicitly documents deferred tools that 'may need to be approved by the user first' and durable execution docs explicitly call out 'human-in-the-loop workflows' that preserve progress across restarts, meaning an agent can pause mid-run for approval and resume with the human's decision. Missing for 10: no independent/hands-on community confirmation specifically of the pause/resume-for-approval flow (community evidence covers other topics), and no concrete end-to-end example walkthrough in the pack.
- [claimed-docs] “it may need to be approved by the user first”
- [claimed-docs] “There are a few scenarios where the model should be able to call a tool that should not or cannot be executed during the same agent run insi…”
- [claimed-docs] “it may need to be approved by the user first... Pydantic AI provides the concept of deferred tools”
- [claimed-docs] “Pydantic AI provides the concept of deferred tools... tools that require approval... tools that are executed externally”
- [claimed-docs] “Pydantic AI allows you to build durable agents that can preserve their progress across transient API failures and application errors or rest…”
- [claimed-docs] “Pydantic AI allows you to build durable agents that can preserve their progress across transient API failures and application errors or rest…”
ADK explicitly documents a Tool Confirmation flow described as HITL that can 'guard tool execution with explicit confirmation and custom input,' plus a Workflow Runtime and Task API both explicitly listing human-in-the-loop support with state management for pausing and resuming execution. This directly matches pausing mid-run for human approval and resuming with the decision, though missing for 10: a concrete end-to-end code example showing pause/resume state persistence and independent third-party corroboration beyond vendor GitHub README claims.
- [github] “Tool Confirmation: A tool confirmation flow (HITL) that can guard tool execution with explicit confirmation and custom input.”
- [github] “A tool confirmation flow (HITL) that can guard tool execution with explicit confirmation and custom input.”
- [github] “Workflow Runtime: A graph-based execution engine for composing deterministic execution flows for agentic apps, with support for routing, fan…”
- [github] “A graph-based execution engine for composing deterministic execution flows for agentic apps, with support for routing, fan-out/fan-in, loops…”
- [github] “Task API: Structured agent-to-agent delegation with multi-turn task mode, single-turn controlled output, mixed delegation patterns, human-in…”
- [github] “Structured agent-to-agent delegation with multi-turn task mode, single-turn controlled output, mixed delegation patterns, human-in-the-loop,…”
engineering-leadRequire human approval before specific sensitive tool calls execute
weight 2 · round drawnPydantic AI has a documented 'deferred tools' concept explicitly for tools that require human approval before execution, allowing engineering-leads to gate sensitive tool calls. missing for 10: no independent/hands-on community corroboration of the approval workflow in production, and no detail on granular per-tool policy configuration or audit trail examples.
- [claimed-docs] “it may need to be approved by the user first”
- [claimed-docs] “There are a few scenarios where the model should be able to call a tool that should not or cannot be executed during the same agent run insi…”
- [claimed-docs] “it may need to be approved by the user first... Pydantic AI provides the concept of deferred tools”
- [claimed-docs] “Pydantic AI provides the concept of deferred tools... tools that require approval... tools that are executed externally”
- [claimed-docs] “Pydantic AI allows you to build durable agents that can preserve their progress across transient API failures and application errors or rest…”
ADK explicitly documents a 'Tool Confirmation' HITL flow that guards tool execution with explicit confirmation and custom input, plus broader human-in-the-loop support in its workflow/task orchestration engines, directly matching the story of requiring approval before sensitive tool calls execute. Missing for 10: no independent/hands-on validation or detailed walkthrough of configuring per-tool approval policies beyond the feature summary.
- [github] “Tool Confirmation: A tool confirmation flow (HITL) that can guard tool execution with explicit confirmation and custom input.”
- [github] “A tool confirmation flow (HITL) that can guard tool execution with explicit confirmation and custom input.”
- [github] “Workflow Runtime: A graph-based execution engine for composing deterministic execution flows for agentic apps, with support for routing, fan…”
- [github] “A graph-based execution engine for composing deterministic execution flows for agentic apps, with support for routing, fan-out/fan-in, loops…”
- [github] “Task API: Structured agent-to-agent delegation with multi-turn task mode, single-turn controlled output, mixed delegation patterns, human-in…”
- [github] “Structured agent-to-agent delegation with multi-turn task mode, single-turn controlled output, mixed delegation patterns, human-in-the-loop,…”
Memory context — stories about memory context in this arenaMemory context
Stories about memory context in this arena
Memory
developerTrim, summarize, or filter conversation history to keep an agent inside its context window
weight 2 · round to Google ADKDocs confirm message-history access for continuing conversations (pydantic-ai-docs-7) and mention 'context management that survives long sessions' in the coding-agent CLI (pydantic-ai-docs-3/17), implying some context-window management exists, but no documentation describes explicit APIs or mechanisms for trimming, summarizing, or filtering history. missing for 10: explicit trim/summarize/filter API or guide, independent confirmation that context management works as claimed on long sessions.
- [claimed-docs] “Pydantic AI provides access to messages exchanged during an agent run. These messages can be used both to continue a coherent conversation, …”
- [claimed-docs] “A complete coding agent in your terminal: workspace-rooted file access, allowlisted shell, repo orientation, planning, and context managemen…”
- [claimed-docs] “A complete coding agent in your terminal: workspace-rooted file access, allowlisted shell, repo orientation, planning, and context managemen…”
ADK docs explicitly state it "automatically filters irrelevant events, summarizes older conversational turns, lazy-loads artifacts, and tracks token usage," directly addressing trimming/summarizing/filtering to manage context window, reinforced by mention of designing for AI context window limits. Missing for 10: no code example/API reference showing how a developer configures or customizes this summarization/filtering behavior, and no independent/hands-on corroboration beyond first-party docs.
- [claimed-docs] “ADK automatically filters irrelevant events, summarizes older conversational turns, lazy-loads artifacts, and tracks token usage.”
- [claimed-docs] “Use prebuilt or custom Agent Skills to extend agent capabilities in a way that works efficiently inside AI context window limits.”
developerGive agents long-term memory that persists across sessions and threads
weight 2 · round to Pydantic AIPydantic AI exposes message-history APIs that let developers capture and replay a conversation's messages (docs-7), and community reports confirm developers use this to serialize/deserialize conversations as JSON for continuity (pydantic-ai-comm-13). However, there is no built-in long-term memory store, vector/semantic memory, or automatic cross-thread/session persistence mechanism documented — a maintainer-adjacent report even notes that wiring up 'history across turns' requires significant custom glue (pydantic-ai-comm-14). missing for 10: dedicated persistent memory store/API, automatic cross-session or cross-thread memory retrieval, first-party vector-memory integration.
- [claimed-docs] “Pydantic AI provides access to messages exchanged during an agent run. These messages can be used both to continue a coherent conversation, …”
- [community] “I did look at instructor and probably for structured output pydantic-ai and instructor are about the same, but pydantic-ai supports a ton of…”
- [community] “We've been building agents with pydantic-ai in production. The framework is great for defining agents, but we kept rewriting the same infras…”
The docs mention session-based interactions and automatic context management (filtering irrelevant events, summarizing older turns, tracking token usage) but there is no explicit evidence of a dedicated long-term memory service or store that persists agent knowledge across separate sessions/threads. missing for 10: explicit memory/session-store API docs, cross-session persistence guarantees, first-party examples of retrieving memory in a new thread.
- [claimed-docs] “ADK automatically filters irrelevant events, summarizes older conversational turns, lazy-loads artifacts, and tracks token usage.”
- [claimed-docs] “This approach involves creating individual test files, each representing a single, simple agent-model interaction (a session).”
Openness — open source, data portability, and self-hosting storiesOpenness
Open source, data portability, and self-hosting stories
ai-native userRead the product's source under an open license
weight 2 · round to Google ADKPydantic AInone0/10The evidence pack contains no mention of a GitHub repository, open-source license, or any statement about source code availability for Pydantic AI — only feature documentation and community commentary on functionality. Since this axis clearly applies to a software framework/library, absence of evidence means 'none'.
The evidence repeatedly links to the public GitHub repository https://github.com/google/adk-python, which hosts the full source code and CLI (adk run, adk web, adk eval, adk deploy) that AI-native users can read and inspect directly. Missing for 10: an explicit citation of the license file/type (e.g., Apache-2.0) confirming the open-license terms, and independent third-party confirmation of licensing.
- [github] “Agent Config: Build agents without code.”
- [github] “A built-in development UI to help you test, evaluate, debug, and showcase your agent(s).”
- [github] “adk run path/to/my_agent”
- [github] “adk run path/to/my_agent # Web UI (supports multi-agent directories or pointing directly to a single agent folder) adk web path/to/agents_d…”
ai-native userSelf-host the core product
weight 3 · round to Google ADKPydantic AI is an open-source Python library that runs entirely within the user's own code/infrastructure — docs confirm agents run 'behind a web frontend, in the terminal, on a voice call, on a durable background queue, or as a plain object you call run() on,' and it ships a CLI (clai) and durable-execution support for self-managed deployments. There is no SaaS lock-in for the core agent framework itself. Missing for 10: an explicit self-hosting/deployment guide or infrastructure requirements doc, and independent confirmation of production self-hosted setups beyond community mentions of using it in production.
- [claimed-docs] “The same agent runs everywhere you need it: behind a web frontend, in the terminal, on a voice call, on a durable background queue”
- [claimed-docs] “The same agent runs everywhere you need it: behind a web frontend, in the terminal, on a voice call, on a durable background queue, or as a …”
- [claimed-docs] “Pydantic AI allows you to build durable agents that can preserve their progress across transient API failures and application errors or rest…”
- [claimed-docs] “Pydantic AI allows you to build durable agents that can preserve their progress across transient API failures and application errors or rest…”
- [claimed-docs] “Pydantic AI comes with a CLI, `clai` ... You can use it to chat with various LLMs and quickly get answers, right from the command line”
- [claimed-docs] “You can use it to chat with various LLMs and quickly get answers, right from the command line, or spin up a uvicorn server to chat with your…”
- [community] “We have a pretty complex agent running on Pydantic AI. The team is very responsive to bugs / feature requests. If I had to do it over again,…”
ADK is an open-source framework (github.com/google/adk-python) that can be run entirely locally via `adk run`/`adk web`, packaged into containers, and deployed offline/disconnected from Google Cloud, evidencing full self-hosting capability without requiring the vendor's managed service. Missing for 10: no independent third-party report confirming a full self-hosted production deployment, and no explicit self-hosted infra requirements/scaling guidance beyond container packaging.
- [claimed-docs] “This is a good option if you prefer to run offline or disconnected, or otherwise in a system that has no connection to Google Cloud.”
- [claimed-docs] “You can manually package your Agent into a container image and then run it in any environment that supports container images.”
- [github] “adk run path/to/my_agent”
- [github] “adk run path/to/my_agent # Web UI (supports multi-agent directories or pointing directly to a single agent folder) adk web path/to/agents_d…”
- [github] “adk deploy docker --with_ui <agent-folder>”
- [claimed-docs] “GKE is a good option if you need more control over the deployment as well as for running Open Models.”
Orchestration multi agent — stories about orchestration multi agent in this arenaOrchestration multi agent
Stories about orchestration multi agent in this arena
Multi agent
developerOrchestrate multiple agents — handoffs, subagents, or crews — inside one workflow
weight 3 · round to Google ADKPydantic AI's docs explicitly describe multiple multi-agent orchestration patterns — agent delegation (one agent uses another via tools), programmatic hand-off (application code calls another agent), and graph-based control flow — directly matching the handoffs/subagents/crews story, and durable execution docs extend this to long-running, human-in-the-loop workflows. missing for 10: no independent/hands-on case study of a complex multi-agent 'crew' in production, and community evidence only discusses single-agent infra gaps rather than validating multi-agent orchestration robustness.
- [claimed-docs] “"Agent delegation" refers to the scenario where an agent delegates work to another agent, then takes back control when the delegate agent ..…”
- [claimed-docs] “Agent delegation — agents using another agent via tools... Programmatic agent hand-off — one agent runs, then application code calls another…”
- [claimed-docs] “Pydantic AI allows you to build durable agents that can preserve their progress across transient API failures and application errors or rest…”
- [claimed-docs] “Pydantic AI allows you to build durable agents that can preserve their progress across transient API failures and application errors or rest…”
- [community] “We've been building agents with pydantic-ai in production. The framework is great for defining agents, but we kept rewriting the same infras…”
ADK explicitly supports multi-agent orchestration: workflows are defined as any application with more than one agent/node, with a graph-based Workflow Runtime supporting routing, fan-out/fan-in, loops, nested workflows, and a Task API for structured agent-to-agent delegation including multi-turn task mode and mixed delegation patterns; the CLI/Web UI explicitly supports multi-agent directories. missing for 10: independent third-party hands-on validation of complex multi-agent orchestration at scale.
- [claimed-docs] “you can use the ADK development framework to expand them into workflows, which allow you to combine and orchestrate multiple agents and code…”
- [claimed-docs] “In ADK, any agent application that has more than one agent or executable Node is considered a workflow.”
- [github] “Workflow Runtime: A graph-based execution engine for composing deterministic execution flows for agentic apps, with support for routing, fan…”
- [github] “Task API: Structured agent-to-agent delegation with multi-turn task mode, single-turn controlled output, mixed delegation patterns, human-in…”
- [github] “Structured agent-to-agent delegation with multi-turn task mode, single-turn controlled output, mixed delegation patterns, human-in-the-loop,…”
- [github] “adk run path/to/my_agent # Web UI (supports multi-agent directories or pointing directly to a single agent folder) adk web path/to/agents_d…”
Workflow control
developerCompose agents into an explicit graph or workflow with branching, loops, and parallel steps
weight 2 · round to Google ADKDocs explicitly list 'Graph based control flow' as one of Pydantic AI's three multi-agent patterns, alongside agent delegation and programmatic hand-off, indicating support for building explicit graphs/workflows (docs-45, docs-9/19/29/36). However, the evidence pack gives no detail on how branching, loops, or parallel steps are actually authored or executed, and no independent/hands-on confirmation of this specific capability. Missing for 10: concrete documentation/examples of branching, loop, and parallel-step constructs within the graph API, and community validation of using pydantic-graph for these patterns.
- [claimed-docs] “Agent delegation — agents using another agent via tools... Programmatic agent hand-off — one agent runs, then application code calls another…”
- [claimed-docs] “"Agent delegation" refers to the scenario where an agent delegates work to another agent, then takes back control when the delegate agent ..…”
- [claimed-docs] “Pydantic AI allows you to build durable agents that can preserve their progress across transient API failures and application errors or rest…”
ADK provides a dedicated graph-based Workflow Runtime with explicit support for routing, fan-out/fan-in (parallel), loops, retry, nested workflows, and dynamic nodes, plus structured Task API for agent delegation and workflow nodes—directly matching branching/loops/parallel composition; docs also describe 'graph-based architectures with explicit execution paths.' Missing for 10: independent/hands-on third-party validation beyond vendor docs and GitHub README.
- [github] “Workflow Runtime: A graph-based execution engine for composing deterministic execution flows for agentic apps, with support for routing, fan…”
- [github] “A graph-based execution engine for composing deterministic execution flows for agentic apps, with support for routing, fan-out/fan-in, loops…”
- [github] “Task API: Structured agent-to-agent delegation with multi-turn task mode, single-turn controlled output, mixed delegation patterns, human-in…”
- [github] “Structured agent-to-agent delegation with multi-turn task mode, single-turn controlled output, mixed delegation patterns, human-in-the-loop,…”
- [claimed-docs] “Weave deterministic code with adaptive AI reasoning. Orchestrate complex tasks through structured, graph-based architectures, with explicit …”
- [claimed-docs] “In ADK, any agent application that has more than one agent or executable Node is considered a workflow.”
Privacy posture — data-handling and privacy storiesPrivacy posture
Data-handling and privacy stories
ai-native userOpt out of telemetry and usage tracking
weight 2 · round to Pydantic AIDocs state that Logfire telemetry/observability is 'built-in (but optional)' and only sends data if explicitly installed and configured, implying tracking is opt-in rather than on-by-default, but there is no explicit 'opt out' switch or privacy statement about default usage-tracking behavior. missing for 10: explicit opt-out toggle/documentation, confirmation that no telemetry is collected without Logfire, independent verification of default privacy posture.
- [claimed-docs] “Pydantic AI has built-in (but optional) support for Logfire...detailed information about agent runs is sent to Logfire.”
- [claimed-docs] “Pydantic AI has built-in (but optional) support for Logfire. That means if the logfire package is installed and configured and agent instrum…”
- [claimed-docs] “Pydantic Logfire is an observability platform developed by the team who created and maintain Pydantic Validation and Pydantic AI.”
Google ADKnone0/10No evidence in the pack addresses telemetry collection or an opt-out mechanism for ADK; the docs cover agent building, deployment, evaluation, and workflows but never mention usage tracking or privacy controls. This is a fair axis for a developer framework/SDK, but absence of evidence means it counts as none. missing for 10: any mention of telemetry collection, an opt-out flag/env var, or a privacy policy describing data tracking.
State durability — stories about state durability in this arenaState durability
Stories about state durability in this arena
Durable state
developerCheckpoint agent state so a run can resume exactly where it left off after a crash or restart
weight 3 · round to Pydantic AIFirst-party docs explicitly describe a 'durable execution' capability letting agents 'preserve their progress across transient API failures and application errors or restarts' and handle long-running, human-in-the-loop workflows with 'production-grade reliability,' directly matching the checkpoint/resume story. missing for 10: independent/hands-on validation of actual crash-resume behavior, and technical detail on how state is persisted/restored (e.g., specific backend integrations, guarantees on exact resume point) beyond the overview page.
- [claimed-docs] “Pydantic AI allows you to build durable agents that can preserve their progress across transient API failures and application errors or rest…”
- [claimed-docs] “Pydantic AI allows you to build durable agents that can preserve their progress across transient API failures and application errors or rest…”
Google ADKnone0/10Evidence only mentions generic 'state management' as one feature in the workflow runtime engine, with no documentation of session/state persistence, checkpointing, or resuming an agent run after a crash or restart. Missing for 10: explicit checkpoint/save-state API, resume-from-crash mechanism, persistence backend documentation, and any hands-on confirmation of durable resumption.
- [github] “Workflow Runtime: A graph-based execution engine for composing deterministic execution flows for agentic apps, with support for routing, fan…”
- [github] “A graph-based execution engine for composing deterministic execution flows for agentic apps, with support for routing, fan-out/fan-in, loops…”
- [claimed-docs] “ADK automatically filters irrelevant events, summarizes older conversational turns, lazy-loads artifacts, and tracks token usage.”
engineering-leadRun long-lived agents durably across process restarts and deploys, natively or via durable-execution integrations
weight 2 · round to Pydantic AIPydantic AI's docs explicitly describe building 'durable agents that can preserve their progress across transient API failures and application errors or restarts,' directly addressing the durability story, and marketing copy mentions running 'on a durable background queue.' However, this is first-party documentation only with no independent/hands-on validation of restart-survival or specific durable-execution integrations (e.g., Temporal/DBOS), and a production user notes significant custom 'glue' was needed for reconnection/history persistence in real deployments. Missing for 10: independent verification of actual restart/deploy durability, named durable-execution engine integrations with evidence they work, and community confirmation that the durability guarantees hold in production.
- [claimed-docs] “Pydantic AI allows you to build durable agents that can preserve their progress across transient API failures and application errors or rest…”
- [claimed-docs] “The same agent runs everywhere you need it: behind a web frontend, in the terminal, on a voice call, on a durable background queue, or as a …”
- [community] “We've been building agents with pydantic-ai in production. The framework is great for defining agents, but we kept rewriting the same infras…”
ADK's Workflow Runtime mentions 'state management' and 'retry' in its graph-based execution engine, and deployment docs describe scalable hosting (Agent Runtime, Cloud Run), but there is no explicit evidence of session/state persistence surviving process restarts or redeploys, nor any named durable-execution integration (e.g., Temporal, Cloud Workflows checkpointing). Missing for 10: documented durable state store or checkpoint/resume mechanism, explicit claim of surviving restarts/redeploys, and any third-party durable-execution integration.
- [github] “Workflow Runtime: A graph-based execution engine for composing deterministic execution flows for agentic apps, with support for routing, fan…”
- [claimed-docs] “Agent Runtime is a fully managed auto-scaling service on Google Cloud specifically designed for deploying, managing, and scaling AI agents b…”
- [claimed-docs] “Cloud Run is a managed auto-scaling compute platform on Google Cloud that enables you to run your agent as a container-based application.”
- [claimed-docs] “ADK automatically filters irrelevant events, summarizes older conversational turns, lazy-loads artifacts, and tracks token usage.”
Streaming output — stories about streaming output in this arenaStreaming output
Stories about streaming output in this arena
Streaming
developerStream tokens and intermediate agent events (tool calls, steps) to my UI in real time
weight 3 · round to Pydantic AICommunity evidence confirms Pydantic AI supports streaming across most major providers (comm-9) via primitives like Agent.iter(), but a production user notes that surfacing structured events (tool calls, steps) to a UI in real time requires substantial custom 'glue' work (reconnection, history) not provided out of the box (comm-14), and another user reported some models failed to stream reliably for months (comm-8). No first-party docs in this pack directly describe the streaming/token API or event schema for UI consumption. missing for 10: first-party docs on streaming API (run_stream/iter events), documented event schema for tool-call/step events, independent confirmation of reliable cross-provider streaming without extra plumbing.
- [community] “Pydantic AI maintainer: as of right now we support streaming against the OpenAI, Claude, Bedrock, Gemini, Groq, HuggingFace, and Mistral API…”
- [community] “We've been building agents with pydantic-ai in production. The framework is great for defining agents, but we kept rewriting the same infras…”
- [community] “I had the opposite experience. I liked the niceties of Pydantic AI, but had trouble with it that I found difficult to deal with. For example…”
The evidence shows a built-in Web/dev UI (`adk web`) for testing/debugging agents and a Callbacks mechanism to hook into execution-lifecycle events (tool calls, steps), which implies some visibility into intermediate agent activity, but nothing explicitly documents token-level streaming to a custom UI (no mention of SSE/websocket/streaming API). missing for 10: explicit documentation of real-time token streaming API/protocol, evidence of streaming tool-call/step events to an arbitrary UI beyond the built-in dev UI, independent confirmation of streaming behavior.
- [github] “A built-in development UI to help you test, evaluate, debug, and showcase your agent(s).”
- [github] “Web UI (supports multi-agent directories or pointing directly to a single agent folder)”
- [github] “adk run path/to/my_agent # Web UI (supports multi-agent directories or pointing directly to a single agent folder) adk web path/to/agents_d…”
- [claimed-docs] “Callbacks: Hook into specific events during an agent's execution lifecycle to add logging, monitoring, or custom side-effects without alteri…”
Structured output
developerGet schema-validated structured output from an agent, with automatic retries when validation fails
weight 3 · round to Pydantic AIPydantic AIdisputedcontradicted5/10Pydantic AI's docs confirm schema-validated structured output via `output_type` Pydantic models (docs-6/18/28/44), and retries are implied as part of the validation loop, but the evidence pack lacks explicit first-party documentation of the automatic-retry mechanism itself. Concrete hands-on reports contradict reliability: one developer says retries don't help produce valid objects 'regardless of the number of retries' (comm-6) and another reports the LLM ignoring the schema 'even with several retries configured' (comm-10), while other users report structured output working well (comm-13). missing for 10: explicit docs describing the retry-on-validation-failure mechanism, and independent benchmark data showing retry success rates.
- [claimed-docs] “Here's an example using a Pydantic model as the `output_type`, forcing the model to respond with data matching our specification”
- [claimed-docs] “Here’s an example using a Pydantic model as the `output_type`, forcing the model to respond with data matching our specification”
- [claimed-docs] “Here’s an example using a Pydantic model as the output_type, forcing the model to respond with data matching our specification”
- [claimed-docs] “This can be either plain text, structured data, an image, or the result of a function called with arguments provided by the model.”
- [community] “I wanted to love pydantic AI as much as I love pydantic but... with the same LLM models, openai.client.chat.completions + a custom prompt to…”
- [community] “My experience is that pretty frequently the LLM just refuses to actually supply json conforming to the model and summarizes the input instea…”
- [community] “I did look at instructor and probably for structured output pydantic-ai and instructor are about the same, but pydantic-ai supports a ton of…”
Google ADKnone0/10No evidence in the pack mentions schema-validated structured output (e.g., Pydantic output_schema) or automatic retry-on-validation-failure behavior for ADK agents; the evidence covers agent setup, tools, workflows, deployment, and evaluation but not structured output validation. Missing for 10: any mention of output schema enforcement, structured output configuration, or validation-retry mechanism.
Not comparable on these axes
ai-native userConnect an agent via an official MCP server
weight 3 · not comparablePydantic AIn/aPydantic AI is itself an agent framework/coding agent (client role); evidence only shows it acting as an MCP client (pydantic-ai-docs-8), not as an MCP server exposing itself to other agents, so the server-side axis doesn't apply per the agent-role exception.
- [claimed-docs] “Pydantic AI can act as an MCP client, connecting to MCP servers to use their tools as part of an agent run.”
ADK's official docs explicitly document how to expose ADK tools via an MCP server ('build an MCP server that wraps ADK tools, making them accessible to any MCP client'), showing the framework supports the server side of MCP, not just being an MCP client. However, this is a build-your-own-server guide rather than a turnkey, pre-hosted official MCP endpoint, so it requires developer setup work. Missing for 10: a ready-made hosted/official MCP server endpoint, independent hands-on confirmation that the generated server works reliably with third-party MCP clients.
- [claimed-docs] “Exposing ADK Tools via an MCP Server: How to build an MCP server that wraps ADK tools, making them accessible to any MCP client.”
- [claimed-docs] “How to build an MCP server that wraps ADK tools, making them accessible to any MCP client.”
- [claimed-docs] “An ADK agent can act as an MCP client and use tools provided by external MCP servers.”
ai-native userGet AI-generated insights and suggestions from my data inside the product
weight 2 · not comparablePydantic AIn/aPydantic AI is a developer framework for building AI agents, not an end-user product holding 'my data' that surfaces AI-generated insights within a UI — this axis targets data/analytics products, not agent-building libraries, so it is a category mismatch.
Google ADKn/aGoogle ADK is a developer framework/SDK for building agent applications, not an end-user product with a data surface that itself surfaces AI-generated insights to a user; the evidence is entirely about developer tooling (agent definitions, workflows, deployment, evaluation), not about a product feature that analyzes 'my data' and surfaces insights within an application UI.
ai-native userDo everything through the API that I can do in the UI
weight 2 · not comparablePydantic AIn/aPydantic AI is a code-first Python agent framework whose primary interface is the API itself (Agent class); the CLI (clai) and Logfire dashboard are thin conveniences built on the same underlying API rather than a separate UI surface with独立 capabilities that could lag behind an API. The 'everything in the UI is available via API' framing is a category error for this kind of product — there is no distinct GUI product whose feature set the API must match.
ADK is primarily a code-first Python framework where agents are built and orchestrated programmatically (Agent(), Workflow Runtime, Task API), and the CLI (adk run/web/eval/deploy) exposes most dev-loop actions including the same UI functions, suggesting reasonable parity between programmatic/CLI and the built-in dev UI. However, there's no evidence of a documented REST/OpenAPI API for driving the dev UI's specific features programmatically, and probes show no OpenAPI spec or llms.txt discoverability. missing for 10: explicit API/CLI parity documentation for every dev-UI feature (debug, evaluate, showcase), a published OpenAPI/REST spec, and confirmation that UI-only actions (e.g. visual debugging, showcase mode) are fully scriptable.
- [github] “A built-in development UI to help you test, evaluate, debug, and showcase your agent(s).”
- [github] “Web UI (supports multi-agent directories or pointing directly to a single agent folder)”
- [github] “adk run path/to/my_agent”
- [github] “adk run path/to/my_agent # Web UI (supports multi-agent directories or pointing directly to a single agent folder) adk web path/to/agents_d…”
- [github] “adk eval \ samples_for_testing/hello_world \ samples_for_testing/hello_world/hello_world_eval_set_001.evalset.json”
- [github] “adk deploy docker --with_ui <agent-folder>”
- [probe] “PROBE openapi: all candidate paths 404 (https://google.github.io/openapi.json, https://google.github.io/swagger.json, https://google.github.…”
- [probe] “PROBE llms.txt: HTTP 404 at https://google.github.io/llms.txt”
ai-native userExport all of my data in open formats and leave
weight 3 · not comparablePydantic AI exposes message/conversation history programmatically and community users confirm they can serialize/deserialize conversations as JSON, giving a basic open-format export path for run data; as a self-hosted open-source library there's also no vendor lock-in on code. missing for 10: no explicit 'export all your data' feature or documentation, no coverage of exporting traces/evals/other artifacts in open formats, and no first-party statement about data portability guarantees.
- [claimed-docs] “Pydantic AI provides access to messages exchanged during an agent run. These messages can be used both to continue a coherent conversation, …”
- [community] “I did look at instructor and probably for structured output pydantic-ai and instructor are about the same, but pydantic-ai supports a ton of…”
Google ADKn/aGoogle ADK is an open-source, locally-run agent-building framework where agent code/configs are files developers own directly (in their own repos), not a hosted service that stores user data centrally requiring an 'export and leave' capability. The data-export/lock-in axis is designed for SaaS platforms holding user data hostage, which does not match ADK's dev-framework category.
ai-native userChoose where my data is stored (region/residency)
weight 2 · not comparablePydantic AIn/aPydantic AI is an open-source agent framework/library that developers self-host and run with whichever model providers and infrastructure they choose; data residency/region selection is a property of hosted services or cloud deployments, not of a library itself. No evidence pack items address data residency, and the question is a category error for a framework whose data location is entirely determined by the user's own deployment choices.
Google ADKnone0/10ADK is a framework that can be deployed via Cloud Run, GKE, or self-hosted/offline (google-adk-docs-7, google-adk-docs-14, google-adk-docs-19), which implies developers control infrastructure location, but there is no explicit documentation about data residency, region selection, or storage location controls for agent data.
- [claimed-docs] “This is a good option if you prefer to run offline or disconnected, or otherwise in a system that has no connection to Google Cloud.”
- [claimed-docs] “Cloud Run is a managed auto-scaling compute platform on Google Cloud that enables you to run your agent as a container-based application.”
- [claimed-docs] “GKE is a good option if you need more control over the deployment as well as for running Open Models.”
ai-native userPrevent my data from being used to train AI models
weight 3 · not comparablePydantic AIn/aPydantic AI is a developer framework for building agents, not a consumer AI service with a training data policy to opt out of; this privacy-posture axis is a category error for this kind of product.
ai-native userControl data retention and deletion
weight 2 · not comparablePydantic AIn/aPydantic AI is a developer framework/library for building agents, not a hosted service that stores end-user data; data retention and deletion policies are the responsibility of whatever backend or provider a developer chooses to use, not a capability the framework itself would ship. This axis is a category mismatch for an agent-building library.
Google ADKnone0/10The evidence describes ADK as a self-hosted/deployable agent framework (Cloud Run, GKE, offline/disconnected deployment) but contains no documentation of explicit data retention policies, session/state deletion APIs, or user-facing controls for purging stored data. missing for 10: explicit retention/deletion controls, session data lifecycle docs, any privacy/compliance statements about stored artifacts or memory.
- [claimed-docs] “This is a good option if you prefer to run offline or disconnected, or otherwise in a system that has no connection to Google Cloud.”
- [claimed-docs] “ADK automatically filters irrelevant events, summarizes older conversational turns, lazy-loads artifacts, and tracks token usage.”