Pydantic AI — фреймворк для AI-агентов на Python

· 3 мин чтения
python ai-agents agent-framework llm type-safety open-source
📂 Исходный код на GitHub

Python-фреймворк для создания AI-агентов от команды Pydantic. Модель-агностик, полностью типобезопасный, с наблюдаемостью через Logfire, eval-тестированием и поддержкой MCP. 18.5k звёзд на GitHub.

Pydantic AI — фреймворк для AI-агентов на Python

Pydantic AI — это Python-фреймворк для создания AI-агентов от команды, стоящей за Pydantic. Его цель — дать разработчикам то же ощущение удобства и уверенности, которое FastAPI принёс в веб-разработку, но в мире генеративного AI.

Pydantic Validation уже является валидационным слоем для OpenAI SDK, Google ADK, Anthropic SDK, LangChain, LlamaIndex, AutoGPT, Transformers, CrewAI и десятков других библиотек. Авторы решили: зачем пользоваться производными, если можно взять первоисточник?

Ключевые возможности

Модель-агностик. Поддерживает практически все модели и провайдеры: OpenAI, Anthropic, Gemini, DeepSeek, Grok, Cohere, Mistral, Perplexity, а также Azure AI Foundry, Amazon Bedrock, Google Cloud, Ollama, LiteLLM, Groq, OpenRouter, Together AI, Fireworks AI, Cerebras, Hugging Face, GitHub, Heroku, Vercel, Nebius, OVHcloud, Alibaba Cloud, SambaNova, Z.AI. При необходимости можно написать кастомную модель.

Полная типобезопасность. Благодаря дженерикам и Pydantic-валидации, IDE и AI-кодинг-агенты получают максимум контекста для автодополнения и статической проверки типов. Целые классы ошибок переносятся с рантайма на этап написания кода — что-то вроде Rust-ощущения «если компилируется, то работает».

Наблюдаемость. Тесная интеграция с Pydantic Logfire, OpenTelemetry-платформой для отладки в реальном времени, мониторинга производительности через evals, трассировки и отслеживания затрат. Если у вас уже есть OTel-совместимая платформа, можно использовать её.

Evals-тестирование. Систематическое тестирование и оценка точности агентных систем с последующим мониторингом через Logfire.

Extensible by Design. Агенты строятся из composable capabilities — переиспользуемых модулей, объединяющих инструменты, хуки, инструкции и настройки модели. Встроенные capabilities включают веб-поиск, thinking (рассуждение) и MCP. Есть библиотека Pydantic AI Harness с готовыми модулями. Агентов можно описывать в YAML/JSON — без кода.

MCP и UI. Интеграция Model Context Protocol для доступа к внешним инструментам и данным, а также поддержка UI event stream для построения интерактивных приложений.

Human-in-the-Loop. Инструменты можно пометить как требующие подтверждения пользователем перед выполнением — условия зависят от аргументов, истории диалога или пользовательских предпочтений.

Durable Execution. Возможность сохранять прогресс агента при сбоях API, ошибках приложения или перезапусках. Подходит для длительных, асинхронных и human-in-the-loop сценариев.

Потоковый вывод. Структурированный вывод стримится непрерывно с мгновенной валидацией — данные доступны в реальном времени.

Графы. Поддержка определения графов через type hints для сложных приложений, где обычный control flow превращается в спагетти-код.

Hello World

Минимальный пример:

from pydantic_ai import Agent

agent = Agent(
    'anthropic:claude-sonnet-4-6',
    instructions='Be concise, reply with one sentence.',
)

result = agent.run_sync('Where does "hello world" come from?')
print(result.output)

Тот же агент с thinking и веб-поиском:

from pydantic_ai import Agent
from pydantic_ai.capabilities import Thinking, WebSearch

agent = Agent(
    'anthropic:claude-sonnet-4-6',
    instructions='Be concise, reply with one sentence.',
    capabilities=[Thinking(), WebSearch()],
)

result = agent.run_sync(
    'What was the mass of the largest meteorite found this year?'
)
print(result.output)

Dependency Injection и инструменты

Более сложный пример — support-агент для банка:

from dataclasses import dataclass
from pydantic import BaseModel, Field
from pydantic_ai import Agent, RunContext


@dataclass
class SupportDependencies:
    customer_id: int
    db: DatabaseConn


class SupportOutput(BaseModel):
    support_advice: str = Field(description='Advice returned to the customer')
    block_card: bool = Field(description="Whether to block the customer's card")
    risk: int = Field(description='Risk level of query', ge=0, le=10)


support_agent = Agent(
    'openai:gpt-5.2',
    deps_type=SupportDependencies,
    output_type=SupportOutput,
    instructions=(
        'You are a support agent in our bank, give the '
        'customer support and judge the risk level of their query.'
    ),
)


@support_agent.instructions
async def add_customer_name(ctx: RunContext[SupportDependencies]) -> str:
    customer_name = await ctx.deps.db.customer_name(id=ctx.deps.customer_id)
    return f"The customer's name is {customer_name!r}"


@support_agent.tool
async def customer_balance(
    ctx: RunContext[SupportDependencies], include_pending: bool
) -> float:
    """Returns the customer's current account balance."""
    balance = await ctx.deps.db.customer_balance(
        id=ctx.deps.customer_id,
        include_pending=include_pending,
    )
    return balance

Ключевые моменты архитектуры:

  • Зависимости передаются через RunContext — типобезопасный механизм dependency injection
  • output_type гарантирует, что ответ агента пройдёт Pydantic-валидацию; при ошибке агент получит запрос на повторную попытку
  • Декоратор @tool регистрирует функции, доступные для вызова LLM — docstring становится описанием инструмента
  • Инструкции могут быть динамическими и зависеть от контекста

Pydantic Stack

Pydantic AI — часть экосистемы Pydantic Stack:

  • Pydantic AI — типобезопасный агентный фреймворк
  • Pydantic Logfire — AI-first full-stack наблюдаемость на базе OpenTelemetry
  • Logfire AI Gateway — универсальный LLM-прокси

Установка

pip install pydantic-ai

После установки достаточно задать API-ключ для выбранного провайдера и можно запускать первого агента. Документация с примерами доступна на ai.pydantic.dev.

Когда стоит выбрать Pydantic AI

Фреймворк особенно хорош, если:

  • Вы уже используете Pydantic в проекте и цените типобезопасность
  • Нужна production-grade надёжность: durable execution, evals, наблюдаемость
  • Вы работаете с несколькими LLM-провайдерами и хотите единый API
  • Вы строите агентов, которым нужен доступ к внешним инструментам через MCP
  • Важно сохранять прогресс при сбоях и длительных операциях

Если же вам нужен быстрый прототип на один вечер или вы работаете исключительно с одной LLM — возможно, хватит и нативного SDK.

Резюме

Pydantic AI — зрелый фреймворк для продакшен-разработки AI-агентов. 18.5k звёзд на GitHub, 2.4k форков, активная разработка (v2.9.0, июль 2026). Лицензия MIT. Если FastAPI стал стандартом для Python-веба, то Pydantic AI претендует на ту же роль в мире GenAI-агентов.

Источник: https://github.com/pydantic/pydantic-ai