03Создание агентов
Тест-сюита для агента
Набор кейсов и автоматическая прогонка с проверкой ожидаемого поведения.
Собери тест-сюиту для агента {{agent}}.
Цель: менять промт агента без страха регрессий. Тесты — твоя страховка.
1. Категории кейсов
| Категория | Что проверяем |
|---|---|
| Happy path | Типичный входной кейс — даёт ожидаемый выход |
| Edge | Пустые / минимальные / огромные входы |
| Bad input | Противоречия, ambiguity, нерелевантное |
| Adversarial | Prompt injection, попытка вывести агента за роль |
| Tool misuse | Кейсы где не нужно вызывать инструмент |
| Long context | Большой контекст — не теряет инструкции |
| Output format | Возвращает в нужном формате |
2. Структура теста
- name: "Returns valid plan for simple feature"
input:
user_message: "Add a /health endpoint"
context: |
Existing Fastify project, lives in /apps/api
expected:
- has_section: "## Steps"
- contains: "/apps/api"
- does_not_contain: ["I think", "maybe", "should probably"]
- format: markdown
- max_tokens: 1500
category: happy
3. Проверки (assertions)
Не пытайся проверить буквально — будут false-negatives. Проверяй структуру и наличие:
has_section(name)— есть ли заголовокcontains(text)— есть ли строка / фразаdoes_not_contain(words)— отсутствуют ли запрещённые словаmatches_pattern(regex)— соответствует регуляркеis_valid_json/is_valid_yamlmax_tokens/min_tokenscalled_tool(name)/did_not_call_tool(name)
Для семантических проверок используй LLM-judge:
- "Описано как использовать инструмент X?" → ответ да/нет от другого LLM
4. Регрессионная папка
Каждый найденный баг → новый тест:
- Файл с именем бага
- Минимальный repro
- Ожидаемое поведение
5. Прогон
$ ./run-tests.sh agent={{agent}}
✓ happy/01-simple-feature (1.2s)
✓ happy/02-typescript-error
✗ edge/empty-context (3.4s)
Expected: contains "## Steps"
Got: "I need more information..."
3/4 passed
6. CI
- На каждый PR — прогон тестов
- При красном — блокировка мержа
- При флейке (нестабильный) — фикси промт или фикси тест
7. Baseline и метрики
- pass rate
- avg tokens
- avg cost
- avg latency
Метрики до изменения промта vs после → видишь регрессию.
Принципы
- Тесты — не догма, можно менять при изменении контракта
- 10 хороших > 100 поверхностных
- Не тестируй формулировки — тестируй поведение
Похожие промты
agents / createFeatured
Создать специализированного агента
Определить роль, инструменты, границы и системный промт нового агента для Claude Code.
agentssubagentsystem-prompt
Открыть
Средний30-60 мин
agents / create
Шаблон системного промта агента
Готовая структура: роль, контекст, инструменты, алгоритм, формат, anti-patterns.
agentssystem-prompttemplate
Открыть
Начальный15-30 мин
agents / orchestration
Декомпозиция задачи на агентов
Разбить большую задачу на параллельных независимых агентов с чёткими интерфейсами.
agentsorchestrationparallel
Открыть
Продвинутый15-30 мин