Андрей Кальмус — старший разработчик программного обеспечения и инженер по искусственному интеллекту
Андрей Кальмус — старший разработчик программного обеспечения и инженер по искусственному интеллекту, проживающий в Болгарии и работающий удаленно в европейском и североамериканском часовых поясах. Более десяти лет я занимаюсь выпуском программного обеспечения в производственную эксплуатацию, в основном в компании iGMS, канадском B2B-провайдере SaaS: работа по всему стеку — от фронтенда на JavaScript/TypeScript/React до бэкенда на PHP/Laravel, включая архитектуру и проектирование, разработку новых функций, а также отладку первопричин, что позволяет поддерживать работоспособность долговечной кодовой базы с большим количеством интеграций. Я разрабатываю архитектуру систем и направляю работу ИИ для реализации большей части кода, а затем проверяю его правильность. Именно этот опыт позволяет мне замечать ошибки ИИ и исправлять то, что он ломает.
В iGMS
Я присоединился к команде, когда в iGMS работало всего один или два инженера, и с тех пор постоянно занимаюсь разработкой продукта. Он работает в более чем 130 странах на долговечной кодовой базе с большим количеством интеграций, где любое изменение должно учитывать накопленный за годы опыт принятия решений. Я выполняю три роли одновременно:
- Старший полнофункциональный разработчик — JavaScript/TypeScript/React, PHP/Laravel и уровень интеграции API сторонних платформ, а также изменения архитектуры основного продукта.
- Руководитель команды поддержки 3-го уровня — диагностирую и лично устраняю затянувшиеся производственные ошибки, требующие знания исторического контекста кодовой базы, а также возглавляю команду, обеспечивая прямое межфункциональное взаимодействие. Я наставлял младших инженеров, помогая им вырасти до среднего уровня.
- Технический владелец продукта — приоритезация работ по исправлению ошибок и устранению технического долга в зависимости от степени влияния на клиентов, а также учет мнения команды поддержки о повторяющихся проблемах при планировании инженерных работ.
Руководство и проверка ИИ
В iGMS я разработал и реализовал систему оркестрации ИИ, которую инженерная команда использует ежедневно: многоагентный инструмент для рецензирования кода с параллельными рецензентами и супервизором, который обобщает их выводы; многоэтапный инструмент для расследования тикетов, который проводит параллельные расследования и объединяет результаты; а также генератор планов тестирования QA. Получение пригодного к использованию результата — это лёгкая часть; сложнее — выявить ошибки, поэтому для всех этих систем я запускаю валидацию с использованием LLM в качестве судьи, которая выявляет случаи, когда изменение запроса или модели незаметно нарушает качество результата ещё до его отправки.
Кроме того, я поддерживаю микросервис AI-agents, который в производственной среде составляет черновики и автоматически отправляет сообщения между хостом и гостем — это сервис на Laravel, основанный на OpenAI API. Чтобы обеспечить надёжность вызова его функций, потребовалось ввести ограничения на выходные данные с помощью JSON-схемы, валидацию для каждого провайдера, ведение журнала трассировок на уровне приложения и проверку этих трассировок специалистами.
bigcats.org.ua
bigcats.org.ua — мой собственный проект: сайт новостей о дикой природе, работающий с 2022 года, который я запустил на мультиагентном конвейере, разработанном мной интуитивно ещё до того, как термин «agentic» стал общепринятым. Я управляю несколькими моделями, распределенными по разным провайдерам, каждая из которых привязана к соответствующему этапу: одни чередуются при классификации видов и маркировке регионов, другая занимается переводом на украинский язык, третья применяет правки, одна зарезервирована для самого глубокого уровня эскалации, а анализатор цикла контроля качества ограничен, чтобы не выходить за рамки бюджета. Цикл проверки качества перевода одновременно служит оценкой нескольких моделей, а публикация остается под контролем человека.
Сторона поиска по сути представляет собой поиск новостей: я перестроил её на основе RSS-каналов Google News и GDELT, следуя собственным техническим руководствам NewsCatcher, с резервными вариантами через OpenRouter и Nebius, чтобы сбой у одного поставщика не прерывал ежедневную работу. Специально написанная мной система (а не IFTTT) рассылает каждое сообщение из Telegram в X, Bluesky и Friendica, разбивая длинные сообщения на нити, характерные для каждой платформы, и отслеживая ответы во всех этих системах. Всё это доступно для проверки: сайт находится по адресу github.com/Abysim/bigcats, а конвейер — github.com/Abysim/api.
Инструменты, с которыми я работаю
- Языки и фреймворки: PHP, Laravel, JavaScript, TypeScript, React, SQL.
- Бэкенд и данные: REST и интеграция сторонних API, MySQL, Redis, Elasticsearch, ZeroMQ, WebSockets, асинхронные веб-хуки.
- Инфраструктура и мониторинг: AWS, Docker, Datadog, ClickHouse, отладка в производственной среде на основе логов.
- Инженерные практики: SOLID, DRY, YAGNI, анализ первопричин и эволюционное развитие долговечных кодовых баз на месте.
- ИИ и агенты: многоагентные конвейеры LLM, вызов функций, использование инструментов, MCP, Claude Code, GitHub Copilot, LLM в роли судьи и оценка нескольких моделей, RAG, инженерия подсказок; Claude, GPT, Gemini, Qwen.
Другие места
В моём полном резюме описаны предыдущие должности в компаниях Intelligentum и InfoRegion. Я пишу в своём профессиональном блоге и на Medium; мой код находится на GitHub, а история трудовой деятельности — на LinkedIn. Меня привлекают многоагентные системы, конвейеры поиска и извлечения новостей, а также работа в сфере охраны природы, где инженеру приходится координировать и проверять работу ИИ. Связаться со мной можно через страницу контактов.