academylessonsverify ai agent work

AI Academy

Active
AI Academy/Building Grand Service with AI/Проверка и передача результата

Как проверять работу AI-агента

Разбираем уровни проверки: TypeScript, lint, tests, build, HTTP smoke, mutation smoke, idempotency и forbidden files.

Not started24 min

AI-агент может написать убедительный код и красивый отчет, но принимать работу нужно не по интонации. Проверка должна быть многоуровневой. В AI Academy использовались `tsc --noEmit`, `npm run lint`, `npm test`, `npm run build`, HTTP smoke и Server Action smoke. Каждый слой ловит свой класс проблем.

TypeScript проверяет контракты и server/client boundaries. Lint ловит стиль и React-ошибки. Tests защищают существующие domain rules, включая Scanner logic. Production build проверяет Next routes и bundling. HTTP smoke подтверждает, что реальные pages доступны. Mutation smoke проверяет не просто наличие кнопки, а поведение state: first view, repeat view, Complete, repeated Complete, Continue Learning и user isolation.

  1. 1
    TypeScript

    `tsc --noEmit` подтверждает, что типы content blocks, services и actions согласованы.

  2. 2
    Lint

    `npm run lint` проверяет кодовую дисциплину и часто ловит ошибки, которые не видны в UI.

  3. 3
    Tests

    `npm test` защищает существующую логику проекта. Даже если Academy не трогает Scanner, Scanner tests должны остаться зелеными.

  4. 4
    Production build

    `npm run build` проверяет маршруты, server components и финальную сборку.

  5. 5
    Smoke

    HTTP и mutation smoke проверяют реальные пути пользователя, а не только компиляцию.

verification-loop.shbash
npx tsc --noEmit
npm run lint
npm test
npm run build
# HTTP smoke: /academy, course page, all lessons, unknown lesson
# Mutation smoke: view, complete, repeat complete, user isolation

Что именно проверять в Academy

  • Все 10 уроков доступны по URL.
  • Previous и Next идут в правильном порядке.
  • 4 модуля отображаются на странице курса.
  • Progress считает 10 уроков, а не старые 6.
  • Continue Learning появляется после просмотра.
  • Unknown lesson не создает запись progress.
  • Repeated Complete не создает дубликаты.
  • Forbidden files не изменились.
Passed без смысла недостаточно

Сообщение `passed` полезно только вместе с пониманием, что именно проверялось. `build passed` не доказывает idempotency, а `mutation smoke passed` не заменяет typecheck.

Отдельно проверяется forbidden scope. Если задача запрещает менять Scanner, финальный отчет должен явно подтвердить, что `src/features/scanner`, `scripts/scanner-ws-probe.ts` и `docker/scanner-ws-probe-entrypoint.sh` не были изменены. Это часть acceptance criteria, а не декоративная фраза.

Practice

A real WorkerHubs scenario for this lesson.

Составить acceptance checklist

Для feature, созданной AI-агентом, напиши checklist проверки. Раздели compile checks, route checks, mutation checks и forbidden scope.

Добавь typecheck, lint, tests и build.
Добавь happy path и unknown states.
Добавь idempotency и user isolation, если есть state.
Добавь проверку запрещенных файлов.

Resources