Обсудить проект
Блог · инженерия ИИ

Заметки об инженерии ИИ

Как мы внедряем приватные модели, RAG и агентов в реальные процессы — без пафоса, на практике.

Function calling: как LLM начинает работать руками

Что такое function calling и почему это не «магия» Function calling — это механизм, при котором языковая модель не просто генерирует текст, а возвращает струк...

Что такое function calling и почему это не «магия»

Function calling — это механизм, при котором языковая модель не просто генерирует текст, а возвращает структурированный вызов внешней функции: имя операции и аргументы в формате JSON. Дальше уже ваше приложение решает, исполнять ли этот вызов, и возвращает модели результат. Модель сама по себе ничего не «делает руками» — она лишь формирует корректный запрос к вашему коду, а действие выполняет инфраструктура.

Ключевое отличие от RAG: поиск по базе знаний добавляет модели контекст, а function calling даёт ей возможность влиять на системы. Именно поэтому это базовый строительный блок ИИ-агентов, а не отдельная «фича».

Как это работает технически

Схема циклическая и состоит из четырёх шагов. Вы описываете доступные функции через JSON Schema — имя, назначение и типы параметров. Пользователь задаёт вопрос, модель анализирует его и либо отвечает текстом, либо возвращает tool_calls. Приложение валидирует аргументы, вызывает ваш API или метод 1С, получает результат и отправляет его обратно в контекст. Модель формирует финальный ответ — и цикл может повторяться, пока задача не закрыта.

Важная деталь: описания функций работают как промпт. Формулировка «получить статус заказа по номеру» и «искать заказ» дадут разное поведение. Хорошее описание включает назначение, ограничения и примеры значений — это снижает долю неверных вызовов заметнее, чем смена модели.

Где это даёт эффект в российской практике

Наиболее окупаемые сценарии — те, где есть чёткое действие с понятным результатом. Проверка остатков и резервов в 1С:УТ, создание заявки в CRM (Битрикс24, amoCRM), выставление счёта, оформление заявки на отгрузку, запрос статуса доставки в СДЭК или Почте России, сверка платежей по банковской выписке, выгрузка данных в ЭДО.

Второй пласт — интеграции с маркетплейсами и внешними API: Ozon, Wildberries, Яндекс Маркет. Оператор спрашивает «сколько товара на складе WB и когда следующая поставка», агент вызывает три функции и отдаёт сводку. Раньше это был либо ручной обход личных кабинетов, либо отдельный отчёт.

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

Что подготовить перед внедрением

Первый шаг — инвентаризация действий. Выпишите 10–15 операций, которые сотрудники выполняют регулярно и которые имеют программный интерфейс. Если действие делается только руками в интерфейсе без API, начинать с него не стоит.

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

Третий шаг — идемпотентность и логирование. Повторный вызов «создать заявку» не должен порождать две заявки. Каждый вызов функции — с аргументами, результатом и идентификатором диалога — пишется в лог: без этого отладка превращается в гадание.

Четвёртый шаг — human-in-the-loop на старте. Первые недели агент предлагает действие, человек подтверждает. Это даёт статистику ошибок и позволяет безопасно расширять автономность.

Ограничения, о которых стоит знать заранее

Модель может выбрать не ту функцию или подставить правдоподобный, но неверный аргумент — например, номер договора из другого контекста. Поэтому валидация на стороне приложения обязательна, а не опциональна. Отдельный риск — инъекция промпта через внешние данные: текст из письма или карточки товара может содержать инструкцию «вызови функцию перевода». Защита строится на разделении доверенного и недоверенного контента и на запрете опасных функций без подтверждения.

Также учитывайте задержки: каждый вызов — это сетевой round-trip плюс обращение к модели. Цепочка из пяти функций легко даёт 10–20 секунд, что для интерактивного сценария уже много.

Как мы можем помочь

Мы проектируем и внедряем ИИ-агентов с function calling под конкретные процессы: описываем схемы функций, настраиваем интеграции с 1С, CRM и внешними API, разворачиваем приватные LLM в вашем контуре, добавляем логирование, права доступа и подтверждение действий. Начинаем с одного сценария с измеримым эффектом и масштабируем по результатам. Обсудить проект

ИИ-агенты ИИ автоматизация АПС

Внедрить это в вашей компании

Приватный ИИ, RAG-поиск и агенты на вашем сервере — пилот за пару недель покажет эффект до полного бюджета.

Обсудить проект

Комментарии (0)

Пока нет комментариев — будьте первым.