Ти на минулих вихідних докрутив свого першого справжнього агента. Він бронює зустрічі через Google Calendar, заводить тікети в Linear, смикає твою read-репліку Postgres і навіть сам пише follow-up листи. У понеділок ти зробив демо. Твій PM посміхнувся, кивнув — і поставив єдине питання, на яке ти не зміг відповісти: звідки ти знаєш, що воно працює?
А ти й не знаєш. Ніхто не знає. Кожен великий agent SDK, що вийшов у квітні 2026, тихенько припустив, що у тебе вже є стратегія тестування — хоча на практиці у більшості команд є тільки Slack-канал #agent-weirdness і молитва.
Чеки за два тижні
8 квітня 2026 Anthropic запустив Managed Agents у публічній беті — $0.08 за session-hour зверху на вартість токенів, і свіжа вкладка Sessions у Claude Console з трейсами, tool-викликами та цінником. Через сім днів, 15 квітня, OpenAI оновив свій Agents SDK: нативний sandbox (запускає код агента в ізольованій VM, щоб він не зробив rm -rf на твоєму ноуті), підтримка MCP (MCP = Model Context Protocol, універсальний роз'єм для AI-інструментів), конфіг пам'яті та переносний файл інструкцій AGENTS.md.
Разом: рантайм, sandbox, трейси, лічильник білінгу. Разом: нуль нативного офлайн eval-харнесу. Eval-харнес — це тест-ранер для LLM, агентний аналог pytest: штука, яка прокручує фіксовані сценарії й каже тобі pass або fail до того, як це зробить клієнт 😹.
Що насправді потрібно тесту агента
Не юніт-тест. Тесту агента потрібні детермінований replay (той самий інпут — той самий трейс), мокінг tool-викликів (твій тест не повинен реально комусь писати на пошту), рубрики LLM-as-judge (друга модель перевіряє домашку першої), trajectory scoring (чи не зробив він десять кроків там, де вистачило б трьох) і регресійні фікстури, які можна переганяти після кожного твіку промпта.
Ніхто цього не постачає в коробці. Ти склеюєш це з п'яти вендорів:
# Типовий стек тестування агентів у 2026 — бери три, міняй щомісяця
import promptfoo # YAML-регресії (тепер власність OpenAI)
import braintrust # LLM-as-judge + CI-гейти ($)
from langsmith import Client # trajectory scoring для LangGraph
import phoenix as px # OpenTelemetry self-host
from deepeval import assert_test # метрики у формі pytest
П'ять інструментів, п'ять auth-поверхонь, п'ять рахунків, дві копії кожної траєкторії. Жодного спільного формату обміну. Нема кому дзвонити, коли вендор змінить API.
Автори фреймворків знають
LangChain сказав уголос те, що всі думали. У пості від 2 квітня їхня команда Deep Agents розписала сім самописних категорій eval'ів — файлові операції, tool use, retrieval, діалог, пам'ять, сумаризація, юніт-тести — усі ганяються збоку через pytest + GitHub Actions, а не вшиті в SDK. Через шість днів вони назвали eval'и "основним сигналом для ітеративного покращення" — ввічливе зізнання, що харнес вийшов першим, а тести вийдуть "скоро" 😾.
Рахунок за прикручене збоку тестування
Цикли LLM-as-judge множать вартість токенів — ти тепер платиш і за агента, і за його перевіряльника. Self-hosted Phoenix економить гроші, але інфру тягнеш ти. Менеджед-вендори типу Braintrust додають ще один щомісячний інвойс. А 9 березня 2026 OpenAI купив Promptfoo — одна з двох незалежних open-source CLI-шок тепер власність модельного вендора. Твій нейтральний тест-шар більше не нейтральний.
Що зробити до Google Cloud Next 22 квітня
Вибери один інструмент цього тижня. Сам? Promptfoo, поки що Apache 2.0. Команда? Braintrust або LangSmith. Параноїк / self-hosted? Arize Phoenix. Напиши десять trajectory-фікстур з реальних користувацьких задач. Ганяй їх після кожної зміни промпта чи моделі.
Бо в твого агента нема юніт-тестів. У конкурента теж. Хто першим засуне опінейтед eval-примітив усередину SDK — той забирає наступний moat. Це той інструмент, який команди будуть ганяти ще й у 2028 🐈⬛.



