💡 Полезные Советы

От ML к AI-инжинирингу: в чем разница? Почему AI-разработчиков хейтят(о том что они нетрадиционной ориентации)? И 14 крутых AI open-source проектов.

13.09.26
4

При подготовке материала использовались тезисы из книги Чипа Хьюена "AI-инженерия"
Не понятные термины смотрите в конце: "FAQ: Расширенный словарь терминов AI- и ML-инженера"

Индустрия искусственного интеллекта переживает тектонический сдвиг. Граница между классическим машинным обучением и созданием современных ИИ-приложений стала настолько резкой, что породила новую профессию, новые стандарты разработки и даже новые интернет-мемы. Разбираемся, чем на самом деле занимаются AI-инженеры, зачем им нужна фундаментальная математика и на какие проекты стоит обратить внимание.

Разница между ML-инжинирингом и AI-инжинирингом?

Смена парадигмы произошла в результате перехода от обучения моделей под узкие задачи к использованию готовых мультимодальных и языковых систем.

  • ML-инжиниринг (традиционный) сфокусирован на полном цикле создания моделей: сборе и ручной разметке данных, конструировании признаков (feature engineering), подборе архитектур нейросетей, обучении с нуля и тонкой настройке гиперпараметров.
  • AI-инжиниринг опирается на готовые базовые модели (Foundation Models, LLM). Основная работа смещается от создания архитектур к их адаптации и оркестрации: промт-инжинирингу, построению конвейеров контекста (RAG), созданию автономных агентов и дообучению.
КритерийML-инжинирингAI-инжиниринг
Основная цельОбучить эффективную модель под задачуАдаптировать базовую модель под бизнес-процесс
Работа с даннымиРазметка, табличные данные, feature engineeringНеструктурированные данные, векторные БД, эмбеддинги
Характер выводаДетерминированный/закрытый (классы, числа)Вероятностный, открытый (текст, код, изображения)
Стек технологийPython, PyTorch, Scikit-learn, MLOpsPython/TypeScript, LangChain, LlamaIndex, vLLM

Зачем AI-инженеру нужна "база" (ML и статистика)?

Несмотря на то что приложения на основе базовых моделей можно создавать, не имея познаний в области ML, понимание основ машинного обучения и статистики поможет разрабатывать более эффективные приложения и избежать ненужных сложностей. Для уверенной работы в сфере AI-инженерии необходимо разбираться в следующих понятиях:

  • Концепции из области теории вероятности, такие как выборка, детерминизм и распределение.  
  • Понятия из области ML, такие как обучение с учителем, обучение без учителя, логарифмическое правдоподобие, градиентный спуск, обратное распространение, функция потерь и настройка гиперпараметров.  
  • Различные архитектуры нейронных сетей, включая прямое распространение, рекуррентные сети и трансформеры.  
  • Метрики, такие как доля правильных ответов алгоритма, F1-мера, точность, полнота, косинусное сходство и кросс-энтропия.

Специфика данных: проблема мультиязычности

При проектировании AI-приложений критически важно учитывать, на каких данных обучалась фундаментная модель. Английский язык доминирует в Интернете. Анализ набора данных Common Crawl показывает, что он составляет почти половину данных (45,88 %). Английский в восемь раз превосходит второй по распространенности язык - русский (5,97 %).  Следом идут немецкий (5,88 %), китайский (4,87 %) и японский (4,79 %). Языки, слабо представленные в качестве обучающих данных (как правило, те, что не вошли в этот список и занимают менее 1%), считаются низкоресурсными. Это напрямую влияет на качество и логику работы AI-приложений на разных языках. 

Иллюзия простоты: от прототипа к production.

Многие разработчики попадают в ловушку быстрого старта. В сфере искусственного интеллекта действует правило: подняться от 0 до 60 легко, а от 60 до 100 - крайне трудно. Из-за первоначального успеха компании часто сильно недооценивают время, которое потребуется, чтобы улучшить продукт. Отличный пример - опыт компании LinkedIn: им потребовался месяц, чтобы достичь 80 % желаемого результата. Но затем им понадобилось еще четыре месяца, чтобы наконец превысить 95 %. Много времени было потрачено на работу над дефектами продукта и борьбу с галлюцинациями, а малая скорость достижения каждого последующего 1 % прироста сильно разочаровывала инженеров.  

Влияние AI на рынок: угроза или наставник?

Готовые AI-системы уже ломают привычные бизнес-модели. Многие образовательные организации используют AI для создания более совершенных продуктов, однако немало тех, кто считает, что AI отбирает у них работу. Например, компания Chegg, которая помогает студентам выполнять домашние задания, отметила, что цена их акций резко упала - с 28 долларов при запуске ChatGPT в ноябре 2022 года до 2 долларов в сентябре 2024-го, поскольку студенты обращаются за помощью к AI.  Если риск заключается в том, что AI может заменить многие навыки, то возможность кроется в его использовании в качестве наставника для приобретения любого умения. AI способен помочь человеку быстро освоить азы многих навыков, а затем можно продолжить заниматься самостоятельно, чтобы превзойти AI.

Откуда взялся мем про AI-разработчиков? Кто такие "оберточники" и почему в IT-сообществе смеются над AI-разработчиками?

Если вы зайдете в комментарии на Хабре, Дваче или в профильные Telegram-каналы, то быстро заметите специфическое, часто откровенно токсичное отношение к тем, кто называет себя "AI-разработчиком". В рунете популярны грубые шутки, приравнивающие создателей ИИ-приложений к людям "нетрадиционной ориентации".

Этот локальный мем возник не на пустом месте. За агрессивным юмором скрывается глубокий конфликт внутри индустрии, который строится на трех фундаментальных факторах:

  1. Синдром "оберточника" и обесценивание сложной инженерии.
    Для классического бэкенд-разработчика (например, пишущего на Python) создание рабочего продукта - это долгий процесс. Нужно спроектировать архитектуру, настроить реляционную базу данных, продумать кэширование, обернуть всё это в Docker-контейнеры и настроить Linux-сервер для деплоя. Это требует фундаментальных знаний компьютерных наук и понимания того, как работает память и сеть. На этом фоне в индустрию ворвался тренд на "вайб-кодинг" (vibe-coding). Появились тысячи стартаперов, которые создают продукты, просто написав красивый фронтенд, который отправляет текстовый промт через API к серверам OpenAI (ChatGPT) или Anthropic (Claude). Таких разработчиков пренебрежительно прозвали "оберточниками" (wrapper builders). У них нет базы данных, нет своей бизнес-логики и нет бэкенда - весь их продукт является лишь тонкой графической "оберткой" над чужой нейросетью. Снобизм классических инженеров вызван тем, что написание пары API-запросов теперь модно называть громким словом "AI-инжиниринг".
  2. Информационный шум и венчурный "пузырь"

    Второй фактор раздражения - колоссальная финансовая несправедливость и хайп. Инженеры, решающие действительно сложные технические задачи (построение отказоустойчивых highload-систем, оптимизация сложных SQL-запросов, обеспечение информационной безопасности), годами борются за повышение бюджетов. В то же время поверхностные "AI-агентства", состоящие из маркетологов и пары джуниоров, привлекают миллионные инвестиции под обещания "внедрить ИИ". Большинство таких проектов не имеет под собой технической ценности (никакого moat - защитного барьера) и умирает, как только OpenAI выпускает очередное обновление, встраивая функционал этого стартапа в свой базовый чат. Этот "пузырь" вызывает закономерный скепсис и раздражение у технического ядра IT-сообщества.

  3. Токсичное наследие рунета и защита профессии
    Специфика русскоязычной интернет-культуры такова, что любые легковесные тренды, снижающие порог входа в профессию, встречают агрессивное сопротивление. Подобные обесцененные ярлыки - это защитный механизм сообщества. Двадцать лет назад системные программисты смеялись над веб-мастерами. Десять лет назад бэкендеры выдумывали обидные прозвища для фронтендеров ("формошлепы") и PHP-разработчиков. Недавно объектом насмешек были специалисты по No-Code и блокчейн-энтузиасты. Сегодня эстафетная палочка хейта перешла к AI-инженерам. Называя ИИ-разработчиков "нетрадиционными", классические IT-специалисты пытаются провести черту между "настоящей" инженерией и теми, кто просто удачно оседлал временный хайп.

14 крутых open-source проектов AI-приложений

Если вы хотите посмотреть, как выглядит настоящий, качественный AI-инжиниринг на практике, обратите внимание на эти репозитории GitHub (у каждого десятки тысяч звезд):

abi/screenshot-to-code - преобразует скриншоты, макеты и видео в чистый HTML/Tailwind, React или Vue с помощью Vision-моделей.

gpt-engineer-org/gpt-engineer - инструмент, генерирующий целые кодовые базы и рабочие проекты по текстовому описанию архитектуры.

open-interpreter/open-interpreter - локальная среда выполнения: модель напрямую пишет и выполняет Python/Bash-код на вашей машине для автоматизации задач и управления ОС.

sawyerhood/draw-a-ui - визуальный канвас, превращающий набросанные от руки схематичные скетчи в рабочий HTML-интерфейс.

mendableai/firecrawl - мощный AI-пайплайн, который сканирует веб-сайты и конвертирует их страницы в чистый Markdown для последующего использования в RAG и кодогенерации.

Significant-Gravitas/AutoGPT - один из самых популярных автономных мультиагентных проектов, разбивающий масштабные цели на цепочки действий.

All-Hands-AI/OpenHands (ранее OpenDevin) - открытая платформа разработки ИИ-агентов, способных самостоятельно модифицировать репозитории, читать логи компиляции и исправлять баги.

Nutlope/aicommits - CLI-утилита, анализирующая git diff и автоматически формирующая информативные сообщения для коммитов по стандартам Conventional Commits.

sweepai/sweep - автономный ассистент, превращающий проблемы (Issues) на GitHub в готовые Pull Requests с исправленным кодом и тестами.

reworkd/AgentGPT - веб-платформа для развертывания автономных настраиваемых агентов прямо в браузере для выполнения исследовательских задач.
eosphoros-ai/DB-GPT - мощный фреймворк для локального развертывания AI. Позволяет безопасно общаться с базами данных с помощью естественного языка (Text-to-SQL) без риска утечки корпоративной информации.

sqlchat/sqlchat - чат-ориентированный SQL-клиент. Инструмент предлагает использовать диалоговый интерфейс вместо громоздкого классического UI для выполнения запросов, модификации и настройки базы данных.

mckaywrigley/ai-code-translator - легковесный инструмент на основе языковых моделей, который берет исходный код на одном языке программирования и автоматически переводит его на другой (отлично подходит для переписывания легаси-проектов).

joshpxyne/GPT-Migrate - AI-агент, предназначенный для автоматизации масштабной миграции целых кодовых баз. Анализирует структуру репозитория и может пошагово переносить бэкенд с одного языка или фреймворка на другой.

FAQ: Расширенный словарь терминов AI- и ML-инженера

Чтобы окончательно разобраться в специфике современной ИИ-разработки, вот краткая расшифровка главных отраслевых терминов:

  • Что такое RAG (Retrieval-Augmented Generation)?
    Это архитектурный подход, при котором языковая модель перед генерацией ответа сначала ищет нужные факты во внешней базе данных (например, во внутренней документации компании). Грубо говоря, это способ дать ИИ "прочитать" ваши личные документы, чтобы он отвечал строго по ним и не придумывал факты.
  • Что такое Эмбеддинги (Embeddings)?
    Это способ перевода текста, изображений или звука в массивы чисел (векторы). Эмбеддинги позволяют алгоритмам математически вычислять "смысловую близость" слов. Благодаря им база данных понимает, что слова "собака" и "щенок" находятся близко друг к другу, а "собака" и "швеллер" - далеко.
  • Что такое MLOps (Machine Learning Operations)?
    Это аналог классического DevOps, но адаптированный для систем машинного обучения. MLOps-инженеры настраивают автоматизацию, CI/CD-пайплайны, мониторинг и бесперебойный деплой нейросетей на серверы.
  • Что такое Галлюцинации ИИ?
    Ситуация, когда языковая модель генерирует грамматически правильный и очень уверенный, но абсолютно ложный или выдуманный ответ. Борьба с галлюцинациями - одна из главных задач AI-инженеров при подготовке продукта к релизу.
  • Что такое LoRA и PEFT?
    Обучение огромных моделей (вроде GPT) с нуля требует гигантских вычислительных мощностей и суперкомпьютеров. PEFT (Parameter-Efficient Fine-Tuning) и в частности LoRA - это методы "дешевого" дообучения. Они позволяют слегка скорректировать поведение модели под вашу конкретную задачу, обновив лишь крошечную долю её параметров, что можно сделать даже на одной хорошей потребительской видеокарте.
  • Что такое "Вайб-кодинг" (Vibe-coding)?
    Новый сленговый термин. Означает процесс написания программ, когда разработчик не пишет код руками по строчкам, а пишет промты на естественном языке. Человек задает общий "вайб" и логику архитектуры, а рутинную генерацию синтаксиса делегирует агентам или инструментам вроде Cursor и GitHub Copilot.

1. Данные и характер работы систем

  • Детерминированный / закрытый вывод
    Свойственен классическому машинному обучению (ML). На один и тот же входной набор данных алгоритм всегда выдает один и тот же результат из строго заданного набора. Результатом является класс (например, спам / не спам) или конкретное число (предсказание цены).
  • Вероятностный / открытый вывод
    Свойственен генеративному ИИ (AI-инженерия). Модель не знает точного ответа, а математически предсказывает вероятности следующих токенов. Выходные данные ничем не ограничены - это генерация текста, рабочего программного кода или изображений. На один и тот же запрос при разных генерациях можно получить разные результаты.
  • Разметка и табличные данные
    Классический формат данных для ML - реляционные таблицы (как в базах SQL), где каждая строка имеет известную целевую переменную (разметку). Например, база квартир, где известны площадь, район и точная цена продажи.
  • Неструктурированные данные и Векторные БД
    То, с чем работает современный ИИ: сырые тексты статей, логи, изображения, аудио. Чтобы нейросеть могла искать информацию по таким данным, они превращаются в векторы (эмбеддинги) и сохраняются в специализированные векторные базы данных (например, Qdrant, Milvus), заточенные под быстрый поиск по смыслу, а не по ключевым словам.
  • Feature engineering (Конструирование признаков)
    Ручной аналитический процесс в классическом ML. Инженер берет сырые данные и с помощью математики и логики создает из них новые признаки, чтобы помочь алгоритму. Пример: из столбца "дата рождения" вычислить новый признак "возраст в днях". В современном AI нейросети извлекают нужные признаки из контекста самостоятельно.

2. Базовые концепции обучения и статистики

  • Выборка, детерминизм и распределение
    Базовые понятия теории вероятностей. Выборка - часть данных из генеральной совокупности, на которой мы обучаем или тестируем модель. Детерминизм - строгая предсказуемость результата алгоритма. Распределение - описание того, с какой частотой и вероятностью в данных появляются те или иные значения.
  • Обучение с учителем (Supervised) и без учителя (Unsupervised)
    В первом случае алгоритм учится на примерах, где заранее дан правильный ответ (человек разметил, где на фото коты, а где собаки). Во втором случае алгоритм получает сырые данные без подсказок и сам ищет в них скрытые закономерности (например, разбивает пользователей на кластеры по поведению).
  • Градиентный спуск и Обратное распространение (Backpropagation)
    Градиентный спуск - математический алгоритм оптимизации. Он шаг за шагом корректирует веса (настройки) нейросети, чтобы минимизировать ошибку (как бы "спускаясь" на дно ямы, где ошибка равна нулю). Обратное распространение - механизм, позволяющий сети понять, какой именно нейрон на предыдущем слое совершил ошибку, чтобы скорректировать его вес.
  • Функция потерь (Loss) и Логарифмическое правдоподобие
    Математические формулы, которые оценивают качество работы модели в процессе обучения. Функция потерь вычисляет, насколько сильно предсказание нейросети отклонилось от идеала. Логарифмическое правдоподобие оценивает вероятность того, что модель выдаст реальные, правильные данные.
  • Гиперпараметры
    В отличие от внутренних параметров (весов), которые нейросеть настраивает сама в процессе обучения, гиперпараметры задает сам разработчик до старта (например, сколько слоев будет в сети, с какой скоростью ей учиться).

3. Архитектуры нейронных сетей

  • Прямое распространение (Feedforward)
    Самый базовый тип нейросетей. Сигнал идет строго в одном направлении: от входного слоя к выходному. Не имеют памяти, поэтому плохо подходят для понимания текста.
  • Рекуррентные сети (RNN)
    Архитектура, обладающая своеобразной "памятью". Они обрабатывают данные последовательно (слово за словом), поэтому их долгое время использовали для машинного перевода. Их минус - они забывают контекст, если текст слишком длинный.
  • Трансформеры (Transformers)
    Архитектура, совершившая революцию и подарившая нам ChatGPT. Благодаря механизму "внимания" (Attention), трансформер анализирует все слова в тексте одновременно. Он мгновенно понимает логические связи между первым и тысячным словом в документе, не теряя контекст.

4. Метрики оценки качества моделей

  • Accuracy (Доля правильных ответов) - самый простой показатель: процент верных предсказаний от общего числа.
  • Precision (Точность) - показывает, сколько из тех объектов, что модель назвала положительными, реально являются таковыми (минимизация ложных срабатываний).
  • Recall (Полнота) - показывает, какую долю из всех реальных положительных объектов модель смогла найти (минимизация пропусков).
  • F1-мера - сбалансированная метрика, представляющая собой среднее гармоническое между Точностью и Полнотой.
  • Кросс-энтропия - метрика потерь в задачах классификации (например, при предсказании следующего слова), измеряющая разницу между предсказанием сети и реальностью.
  • Косинусное сходство - математическая мера, показывающая, насколько два вектора направлены в одну сторону. В AI используется для оценки смысловой близости текстов (чем ближе показатель к 1, тем больше похож смысл).

5. Популярный стек технологий

  • Python - безоговорочный язык №1 в индустрии машинного обучения и AI.
  • PyTorch - самый популярный открытый фреймворк для создания и обучения глубоких нейронных сетей.
  • Scikit-learn - классическая библиотека Python для базового машинного обучения (регрессии, деревья решений), используемая в традиционном ML-инжиниринге.
  • LangChain и LlamaIndex - мощные Python-фреймворки оркестрации для AI-инженеров. С их помощью пишут логику AI-агентов, настраивают RAG (подключают нейросети к корпоративным базам данных) и управляют памятью ботов.
  • vLLM - высокопроизводительная библиотека для быстрого инференса (запуска и обработки запросов) больших языковых моделей на серверах. Позволяет экономить ресурсы видеокарт.