Автоматизация процессов на LLM · приёмка автоматизированных систем
Строю автоматизацию, в которой решение принимает детерминированная логика, а языковая модель — исполнитель: извлекает данные, классифицирует, пишет черновик. И проверяю такие системы: тест-план по спецификации, эталонные наборы, дефекты с воспроизведением, честный раздел «что не проверено».
Два направления, которые я совмещаю:
- автоматизация — процесс целиком: вход, разбор, правила, аудит, эскалация человеку;
- проверка автоматизированных систем — что система делает на границах, при сбое модели и там, где README расходится с кодом.
Автоматизирует то, что вручную занимает 8 минут на заказ: разбор фриланс-заказов против профиля исполнителя. Модель отдаёт строгий JSON, решение принимают правила ядра, спорное уходит человеку с причиной.
- прогон 20 заказов: 38–43 с, решения 8 / 4 / 8 (откликаться / на проверку / пропуск), 1,37 ₽;
- 128 тестов, покрытие
app/96 %, линтер чист; - бюджетные правила стоят первыми: ниже минимума профиля — отказ, выше 500 000 ₽ — на проверку, потому что это почти всегда ошибка ввода цены, а не реальный бюджет;
- очередь ручной проверки с причиной по каждому заказу: «модель решила» ответом не считается.
Стек: Python · FastAPI · Pydantic · SQLAlchemy · SQLite · OpenAI API · pytest · Docker
CLI-агент и два workflow в n8n над тем же ядром. Смысл — показать, что автоматизация не завязана на инструмент.
- один и тот же разбор через Python-скрипт (38–43 с) и через n8n (41,5 с) даёт одинаковые 8 / 4 / 8: логика живёт в ядре, а не в узлах workflow;
- приём заказа по вебхуку: 200 с решением и черновиком, 422 на битый заказ, 502 при падении разбора, 2,8 с на заказ (замер);
- найденные при приёмке дефекты разобраны в
qa-llm-acceptance— с карточками и воспроизведением.
Стек: Python · n8n (Docker) · REST API · SQLite · curl-сценарии
Проверка восьми проектов по спецификации: тест-планы, эталонные наборы, журнал дефектов.
- 21 карточка дефекта: 16 закрыто, 2 частично, 3 открыто — открытые перечислены, а не спрятаны;
- legal-bot: тесты 46 passed / 1 failed → 99 passed / 0 failed, эталонные кейсы 7/13 → 13/13, hit@5 поиска 0/6 → 6/6;
- правило «сначала воспроизведи, потом заводи карточку»: две находки отброшены как артефакт сканера;
- в каждом прогоне есть раздел «что не проверено» — без него отчёт создаёт ложное покрытие.
Стек: pytest · тест-планы · YAML-эталоны · отчёты с числами до/после
Один engine, два бизнес-кейса: извлечение полей из финансовых документов и триаж страховых заявлений.
- LLM → строгая Pydantic-схема → детерминированные правила → действие или эскалация человеку;
- 38 тестов, включая попытку prompt injection в тексте документа;
- аудит: вход, сырой ответ модели, валидированный результат, причина эскалации.
Стек: Python · FastAPI · Pydantic · SQLite · DeepSeek API · pytest
- Ожидаемый результат берётся из спецификации и корпуса, а не из поведения кода — иначе тест проверяет код кодом.
- Каждый дефект — с воспроизведением: вход, шаги, наблюдаемое, ожидаемое, приоритет P0–P3.
- Цифры до и после исправления, а не «стало лучше».
- Раздел «что не проверено» обязателен.
- Расхождение README с фактом считается дефектом, а не косметикой: человеку показывают именно README.
transcription_service — агентная транскрибация аудио и видео (MCP, микросервисный pipeline, E2E
и contract-тесты) · faceid-core — распознавание лиц с liveness и quality gate · career-copilot —
AI-копилот соискателя · AI-service-for-processing-requests — триаж обращений с эскалацией оператору
Python FastAPI Pydantic SQLAlchemy SQLite PostgreSQL Docker n8n REST API
OpenAI API DeepSeek API aiogram pytest
GitHub: Alexsey111 · Telegram: @AlexPerm72
Открыт к работе: автоматизация процессов на LLM, приёмка и сопровождение AI-систем, внедрение.