Tool calling: как языковая модель управляет телефоном | mirabel.tech

Tool calling: как языковая модель управляет телефоном

23 сентября 2026 · разбор · 5 минут чтения

Языковая модель сама по себе умеет только одно: писать текст. Она не может включить Wi-Fi, поставить будильник или открыть фонарик. Всё, что «делает» ассистент руками, — это tool calling: механизм, превращающий текстовый ответ в реальные действия. Разберём, как он устроен на примере Амалии.

Идея: действия как объявления функций

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

// вопрос: «включи вай-фай» { "reply": "сейчас", "tools": [ { "name": "set_wifi", "args": { "enabled": true } } ] }

А приложение уже исполняет: парсит JSON, находит set_wifi в реестре инструментов и дергает системный API Android. Модель — дирижёр, инструменты — оркестр.

Почему строгий JSON решает всё

Наивная интеграция просит модель «отвечай как хочешь, а мы распарсим» — и получает markdown, извинения и смайлики вперемешку с командами. Решение — JSON-режим (у Groq он включается параметром): вывод модели гарантированно валидный JSON. Плюс жёсткое правило: поле reply заполнено всегда — даже при вызове инструмента человек слышит живую реплику, а не тишину.

Три типовые ошибки интеграции

Где это видно вживую

На демо-секции главной страницы — интерактивный пайплайн: нажми микрофон и посмотри, как реплика и tool-вызов появляются в реальном формате ответа. А полный список того, что Амалия делает с телефоном — в справочнике команд.

Хочешь такую же архитектуру у себя? Гайд по сборке своего ассистента и открытый код Амалии — лучший способ разобраться.