Добавить в корзинуПозвонить
Найти в Дзене
Цифровой Путь

Разработчик отказался от LangChain и написал свой orchestration engine — что он понял

# Разработчик отказался от LangChain и написал свой orchestration engine — что он понял AI-агенты умеют решать задачи, вызывать инструменты, искать информацию. Но есть проблема: нейросеть может ошибиться — вызвать не тот инструмент, передать неверные данные. В production это может стоить денег. Разработчик на Reddit рассказал, как убрал популярный фреймворк LangChain и написал замену на 80 строках кода. И нашёл архитектурный принцип, который делает AI-агента надёжным. AI-агент, построенный на LangChain, вызвал операцию удаления данных, которая не предполагалась. Фреймворк передал решение нейросети напрямую в исполнение без проверки. Проблема не в конкретном баге. Проблема в подходе: LangChain обращается с ответом нейросети как с надёжной командой. А ответ нейросети — это предположение, не гарантия. Нейросеть генерирует текст. Иногда правильный, иногда нет. Это её природа — вероятностный процесс. Программный код вызывает API, меняет данные, отправляет сообщения. Здесь ошибки стоят дорог
Оглавление

# Разработчик отказался от LangChain и написал свой orchestration engine — что он понял

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

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

Что случилось

AI-агент, построенный на LangChain, вызвал операцию удаления данных, которая не предполагалась. Фреймворк передал решение нейросети напрямую в исполнение без проверки.

Проблема не в конкретном баге. Проблема в подходе: LangChain обращается с ответом нейросети как с надёжной командой. А ответ нейросети — это предположение, не гарантия.

Два мира

Нейросеть генерирует текст. Иногда правильный, иногда нет. Это её природа — вероятностный процесс.

Программный код вызывает API, меняет данные, отправляет сообщения. Здесь ошибки стоят дорого и часто необратимы.

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

Как устроена замена

Три компонента:

1. Планировщик
Нейросеть получает запрос и выдаёт план: какой инструмент использовать и с какими параметрами. Сама ничего не делает — только предлагает.

2. Проверка
Программный код проверяет план: структура корректна? Инструмент из разрешённого списка? Параметры валидны? Если нет — план отклоняется.

3. Исполнитель
Выполняет только проверенные планы. Никакой самодеятельности.

Зачем это нужно: цифры

Без проверочного слоя в production: - В 2-5% случаев нейросеть выдаёт некорректный формат ответа - В 1% случаев называет несуществующий инструмент - В 3% случаев передаёт неверные параметры

Итого до 9% вызовов были бы ошибочными. С проверочным слоем все эти случаи ловятся до исполнения.

Когда нужен фреймворк, а когда — свой код

**Свой код** подходит, когда: - Агент выполняет важные операции (платежи, удаление данных) - Нужен полный контроль над каждым шагом - Задача — одна цепочка действий

**Фреймворк** подходит, когда: - Несколько агентов работают вместе - Нужно быстро проверить идею - Команда не хочет писать инфраструктуру с нуля

Главная мысль

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

Эту границу можно построить за 80 строк кода. Без фреймворка. И это самая важная часть любого AI-агента.