Работы

Шесть проектов, собранных с помощью ИИ.

Собрал инструменты для своей работы: управление агентами, подготовка документов, учёт заказов и поиск клиентов. От меня — задача, требования, организация работы ИИ и проверка результата. Ниже показываю, что получилось и как устроен каждый проект.

6проектов
для собственных задач
4818прошедших тестов Lab Worker
в прогоне 7 октября 2026
AIClaude Code и Codex
в рабочем процессе
APITelegram, Notion
и другие интеграции

Что стоит за результатами. Проекты можно разобрать по исходникам, истории изменений и рабочим сценариям. Для Lab Worker сохранён отчёт прогона от 7 октября 2026: 4818 тестов и 18 под-тестов прошли без ошибок. Новые функции проходят отдельную проверку.

Кейсы: шесть систем

Платформа управления ИИ-агентом с телефона

собственный проект2026

Мощный ИИ-агент живёт на домашней машине, а владелец — нет. Нужен был полноценный рабочий интерфейс к нему с телефона: не «чатик», а среда, где видно проекты, диффы, терминал и историю. Требование сформулировано жёстко: работать должно всегда.

Что сделал

  • Веб-платформа поверх агента: долгоживущая сессия на Agent SDK, настоящая система разрешений (а не «разрешить всё»), стрим по WebSocket.
  • Рабочее пространство: проекты, git-панель, unified-диффы, полноценный терминал через ConPTY, полнотекстовый поиск по всей истории работы (SQLite FTS5).
  • Безопасность как инвариант: сервер слушает только loopback, наружу — обратный туннель через VPS с TLS; конфиги шифрованы AES-256-GCM, двухфакторная аутентификация, CSRF на всех изменяющих ручках. До восьми авторизованных устройств одновременно.
  • Проверка с помощью AI-агентов: отдельные проходы по обработке ошибок, доступам и сохранению состояния. Найденные проблемы разбираются и получают проверки на повторение.
  • Эксплуатация: супервизор, восстановление соединения и проверки основных функций.
Node 22ExpressWebSocketAgent SDKSQLite FTS5ConPTYAES-256-GCMnginxTLS

Эффект

С телефона доступны проекты, история, терминал и работа с агентами на домашнем ПК. Для сбоев предусмотрены перезапуск и диагностика. Отдельно исправлен установщик планировщика Windows, возвращавший лимит работы в 72 часа.

Телефон Ноутбук ПК до 8 устройств, 2FA HTTPS VPS · nginx TLS, публичный вход обратный туннель исходящий с ПК домашняя машина — портов наружу нет Платформа 127.0.0.1:3000 ИИ-агент Agent SDK проекты · git · терминал · поиск
Ни одного открытого порта на домашней машине: туннель поднимает сама платформа изнутри, наружу торчит только VPS.

Бот для подрядчика: доступ к результату без доступа к системе

собственный проект2026

Нужно было подключить подрядчика к моему производственному конвейеру документов, но не показывать ему саму архитектуру — она и есть актив. И заодно снять с себя учёт: заказы, сроки, платежи, долги, проценты исполнителю.

Что сделал

  • Бот как единственный интерфейс. Исполнитель работает с кнопками и формой заказа, без настройки внутреннего процесса. Один экран: навигация переписывает то же сообщение, новым приходят только события. Есть тест, который проверяет, что ни одна кнопка не ведёт в пустоту.
  • Мост в изолированную виртуалку. Бот кладёт задачу в task.json, запускает команду из конфига, ждёт result.json. Текст задачи передаётся файлом, путь возвращаемого архива проверяется. Мост поддерживает запуск в VM и отдельный хостовый режим; границы доступа зависят от выбранной конфигурации.
  • Учёт и деньги. Заказы, платежи, начисления по матрице процентов. Незаполненный процент не равен нулю: бот отказывается провести начисление с внятной ошибкой, а не молча проводит работу на 0 ₽.
  • Notion как витрина, а не как база. Запись односторонняя, очередь событий лежит в SQLite. Notion упал — учёт продолжает работать, неотправленное догоняет следующим тиком.
  • Алерты, которые не задалбывают. Повод помечается в базе ключом, то же обстоятельство второй раз не поднимается. Алерт, приходящий каждые 15 минут, перестают читать через день — это дороже пропущенного алерта.
Python 3.11aiogram 3SQLiteNotion APIasyncio-планировщикTOMLpytest

Эффект

Заказы, платежи и начисления собраны в одном интерфейсе. База учёта работает отдельно от Notion; витрина обновляется через очередь. Доступ исполнителя ограничен его задачами.

Исполнитель Владелец Бот aiogram 3 SQLite · планировщик task.json result.json Изолированная ВМ агент-исполнитель сеть и диск урезаны Notion — витрина архитектура наружу не выходит
Подрядчик получает результат работы системы, но не саму систему. Задача и результат передаются через файлы с проверкой путей.

Конвейер автогенерации технических документов

собственный проект2026

Производство объёмных технических документов по формальным требованиям: оформление по стандарту, расчёты, код, графики, выгрузка в docx/pdf/zip. Задача — передать повторяющиеся этапы агентам, сохранить требования к результату и вовремя остановить процесс, если данных не хватает.

Что сделал

  • Многофазный конвейер: разбор требований → выполнение → сборка → приёмка. У каждой фазы свой контекст и письменная передача следующей — один агент не тащит на себе весь объём.
  • Детерминированные гейты вместо надежды на модель. На стыках фаз не «проверь себя, пожалуйста», а программные проверки: структура документа сверяется с первоисточником требований, скан на утечку секретов, отказ отдать результат при несовпадении.
  • Возобновление после сбоя. Состояние заказа и бюджет сохраняются. Если нужен ответ владельца, он связывается с конкретным заказом; после ответа работа продолжается с сохранённого этапа.
  • Учёт работы агентов. Сохраняются события, расход и результаты этапов. По ним можно разобрать причину остановки и затраты на конкретный прогон.
  • Проверки архитектуры. В сохранённом прогоне от 7 октября 2026 прошли 4818 тестов и 18 под-тестов. Проверяются приёмка, восстановление, учёт и передача результатов.
PythonClaude Agent SDKхуки PreToolUseмногоагентная оркестрацияdocx / pdfpytestgit

Эффект

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

Требования + исходники 1 · Разбор 2 · Выполнение 3 · Сборка 4 · Приёмка docx pdf · zip ◆ гейт◆ гейт◆ гейт не прошло приёмку — работа выбрасывается, чинится причина, прогон заново
Гейт — программная проверка, а не просьба к модели проверить себя. Не прошёл — фаза не отдаёт результат дальше.

Пайплайн поиска и квалификации клиентов

собственный проект2026

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

Что сделал

  • Конвейер со стадиями: поиск → отбор → досье → письмо → проверка человеком → отправка → ответ. Каждая стадия — отдельная команда со состоянием в базе: можно остановиться и продолжить.
  • Самый сильный признак — открытая вакансия на рутинную роль: боль названа словами самого бизнеса, а зарплата задаёт верхнюю границу разумного бюджета. Дальше — отзывы «не дозвониться», приём заявок руками в личные сообщения, однотипные документы.
  • Досье с источниками: каждый факт о компании привязан к ссылке, откуда он взят. Письмо не опирается на выдумку модели — непроверенная строка до письма не доходит.
  • Предохранители против спама встроены в архитектуру: письмо уходит по одному, с потолком в сутки и случайными промежутками; ни одно не уходит без одобрения человеком; в каждом письме — источник адреса и способ отказаться; стоп-лист проверяется перед отправкой.
  • Отдельная обработка личных данных. Перед моделью стоит слой очистки текста и замены контактов их ролями. У автоматического распознавания есть ограничения, поэтому правила передачи данных проверяются отдельно.
  • Проверки перед отправкой: статус одобрения, соответствие одобренному тексту, лимиты и стоп-лист.
Python 3.11SQLiteLLM-пайплайнhh.ru API2ГИСSMTP · DKIMpytest

Эффект

Ценность конструкции — в критерии отбора: письмо готовится по найденным признакам задачи и проверенным источникам. Тот же подход переносится на квалификацию входящих заявок.

ИИ-ассистент с памятью, которая живёт месяцами

собственный проект2026

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

Что сделал

  • Память как обычный текст в приватном репозитории: компактное ядро, зоны проектов, журналы только на дозапись. Текст можно сравнить по версиям, откатить и использовать с разными моделями.
  • Автозагрузка на старте: ядро печатается в порядке «стабильное первым, волатильное последним» — это помогает повторно использовать стабильную часть контекста.
  • Дисциплина против протухания: изменяемые факты датируются, при смене состояния старое помечается устаревшим, а не удаляется молча. Отдельный набор контрольных вопросов — детектор того, что важный факт «утонул» под массой истории.
  • Интеграции: задачи и клиенты в Notion, события и дедлайны в календаре, уведомления и готовые файлы в Telegram.
MCPNotion APIGoogle Calendar APITelegram Bot APIgit как базаPython

Эффект

Контекст живёт месяцами и переживает пересоздание окружения. Это же решение переносится в любой продукт, где ассистент должен помнить клиента между обращениями, а не переспрашивать заново.

Конвейер сборки игровых уровней

в разработке2026

Свой проект на Unreal Engine 5. Уровни не лепятся руками: они описываются правилами и собираются конвейером, а трёхмерные объекты и текстуры к ним делаются с помощью ИИ.

Что сделал

  • Конвейер «описание → Blender → движок»: уровень задаётся структурой данных, дальше собирается автоматически. В проекте есть спецификации уровней и единая команда сборки.
  • Трёхмерный контент делает ИИ, а не ручной моделлинг: модели и текстуры генерируются и дальше доводятся скриптами в Blender до вида, пригодного для движка.
  • Автопрогон с приёмкой: сборка запускается одной командой, сама делает снимки и замеряет кадр — есть цифры по стоимости тумана, света и геометрии в миллисекундах при бюджете 16,7 мс. Решения принимаются по замеру, а не по ощущению.
  • Проектная дисциплина: четыре документа-истины и отдельно зафиксированные отвергнутые решения — чтобы не переспорить самого себя через месяц.
Unreal Engine 5Blender Python APIгенеративные моделипроцедурная генерацияпрофилирование
Проверка

Как проверить всё, что написано выше.

Разбор на экране, 40–60 минут

Выбираем один проект и рабочий сценарий. Показываю задачу, этапы работы агентов, результат и разбор ошибок. Материалы для показа готовим без чужих данных и секретов.

Прогон тестов при вас

Можно посмотреть сохранённый отчёт или запустить согласованный набор проверок. Обсудим, что они проверяют и какие сценарии требуют отдельной проверки вживую.

Журналы, а не слайды

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

Пилот вместо обещаний

Один процесс, критерий успеха записан до начала работы. Не достигнут — не масштабируем, и я скажу это первым. Проверка делом стоит дешевле, чем доверие на слово.

Показываю свои проекты и объясняю решения на конкретных примерах. Для демонстрации выбираем материалы без секретов и чужих данных. Объём доступа к исходникам согласуем отдельно.

Инструменты

Как я работаю и что используется в проектах.

Моя работа
Разбираю задачу, задаю требования AI-агентам, организую этапы, проверяю результат и возвращаю ошибки в работу. Использую Claude Code, Codex, инструкции, память и отдельные проверки.
Стек проектов
Python · Node.js · SQLite · Telegram / aiogram · REST API · Notion · WebSocket · инструменты проверки и развёртывания. Это технологии созданных систем, а основной способ разработки — работа с AI-агентами.
Подходящие задачи
Внутренние инструменты, обработка документов, Telegram-боты, интеграции, сбор данных и агентные процессы. Начинаем с одного сценария и проверяем его на реальных входных данных.
Выбор инструментов
Мои проекты собраны с помощью AI-агентов и кода. Если задача требует конкретного конструктора — n8n, Make или другого — сначала проверяем небольшой сценарий в нём и согласуем подход.
Дальше

Похожая задача — у вас?

Вячеслав Ваньков
Вячеслав Ваньков