Pydantic AI · курс Глоссарий
Урок 6 из 6 · ~12 минут

Внедрение в твои проекты

Подключаем MyRouter, строим отказоустойчивость и учимся ставить задачу разработчику (или Claude Code).

Свой провайдер: MyRouter подключается напрямую

Pydantic AI работает с любым OpenAI-совместимым API — достаточно указать адрес и ключ. Твой MyRouter именно такой, значит все агенты могут ходить через него, с единым учётом расходов:

from pydantic_ai import Agent
from pydantic_ai.models.openai import OpenAIChatModel

model = OpenAIChatModel(
    'myrouter/auto',                                # имя модели в роутере
    base_url='https://api.gildiya-razvitiya.com/v1', # адрес MyRouter
    api_key='myr_sk_...',                            # ключ приложения
)
agent = Agent(model, instructions='...')

Тот же приём работает для OpenRouter, прокси в Амстердаме и любого совместимого шлюза — документация по моделям.

Отказоустойчивость: FallbackModel

Провайдер лёг — приложение живёт. FallbackModel перебирает модели по очереди, пока одна не ответит:

from pydantic_ai.models.fallback import FallbackModel

fallback = FallbackModel(
    'openai:gpt-5.2',                # основная
    'anthropic:claude-sonnet-4-5',   # резервная
)
agent = Agent(fallback)

Для твоих сервисов на российском сервере это прямой ответ на боль с блокировками: основной маршрут через один шлюз, резервный — через другой.

MCP: готовые инструменты без программирования

Вместо написания своих инструментов агент может использовать готовые MCP-серверы — тот же протокол, что у Claude Code:

from pydantic_ai.capabilities import MCP

agent = Agent(
    'openai:gpt-5.2',
    capabilities=[MCP(url='https://mcp.example.com/api')],
)

Кроме MCP, есть готовые «способности»: WebSearch, WebFetch, Thinking, ImageGeneration — список в обзоре.

Куда встраивается агент

Агент — это просто Python-код. Значит, он живёт где угодно в твоей инфраструктуре:

Чек-лист: нужен ли здесь Pydantic AI

Пройдись по вопросам. Два «да» и больше — фреймворк оправдан:

  1. Результат должен иметь строгую структуру (поля, типы), а не свободный текст?
  2. Агенту нужно вызывать функции: базу, API, расчёты?
  3. Это продакшн — нужны повторы при ошибках, лимиты расходов, логи?
  4. Хочется менять модель или провайдера без переписывания кода?
  5. Логику нужно покрыть автотестами без затрат на API?

Как ставить задачу разработчику или Claude Code

Твоя роль — не писать код, а грамотно его заказывать. Шаблон ТЗ на агента:

«Сделай агента на Pydantic AI. Роль: … . Модель: через MyRouter (base_url, ключ в env). На входе: … . output_type: опиши поля и ограничения. Инструменты: список функций и что каждая делает. Обязательно: UsageLimits, вариант Failed в output_type, тесты с TestModel и подменой deps через override()

Каждое слово из этого шаблона ты теперь понимаешь — и по нему любой исполнитель соберёт надёжного агента, а не поделку.

💬 Финальное упражнение: выбери один свой реальный проект и попроси агента в Claude Code вместе составить ТЗ на агента по шаблону выше. Это закрепит весь курс.
← Урок 5. Мультиагентные системы Шпаргалка по коду →