Почему один инструмент run() с командами Unix превосходит вызов функций для AI-агентов

Разработчик с двухлетним опытом создания ИИ-агентов — сначала в качестве ведущего backend-специалиста в Manus, затем в open-source проектах Pinix и agent-clip — пришёл к выводу, что единый инструмент run(command="...") с командами в стиле Unix работает лучше, чем традиционные подходы с вызовом функций.
Конвергенция Unix и LLM
Ключевая идея заключается в том, что 50-летнее дизайнерское решение Unix — всё является текстовым потоком — идеально соответствует текстовой природе LLM. Программы Unix общаются через текстовые конвейеры, используют --help для самодокументирования, сообщают об успехе/неудаче с помощью кодов завершения и передают ошибки через stderr. LLM аналогично понимают только текстовые токены. Это делает текстовый интерфейс Unix естественным выбором для LLM, которые по сути функционируют как операторы терминала с обширным знакомством с командами оболочки в их обучающих данных.
Подход с единым инструментом
Большинство фреймворков для агентов предоставляют LLM каталог независимых инструментов, таких как [search_web, read_file, write_file, run_code, send_email, ...], требуя от LLM принимать решения о выборе инструмента перед каждым вызовом. По мере добавления большего количества инструментов точность выбора снижается, поскольку когнитивная нагрузка смещается с вопроса «что мне нужно сделать?» на вопрос «какой инструмент?».
Альтернативный подход использует один инструмент run(command="..."), который предоставляет все возможности в виде CLI-команд:
run(command="cat notes.md")
run(command="cat log.txt | grep ERROR | wc -l")
run(command="see screenshot.png")
run(command="memory search 'deployment issue'")
run(command="clip sandbox bash 'python3 analyze.py'")Выбор команды становится композицией строк в едином пространстве имён, а не переключением контекста между несвязанными API.
Почему CLI-команды работают лучше
CLI-команды — это самый плотный паттерн использования инструментов в обучающих данных LLM, встречающийся в миллиардах строк на GitHub (инструкции по установке в README, скрипты сборки CI/CD, решения на Stack Overflow). Разработчик отмечает: «Мне не нужно учить LLM, как использовать CLI — она уже знает».
Сравните подходы для одной и той же задачи:
Задача: Прочитать файл лога, подсчитать строки с ошибками
Подход с вызовом функций (3 вызова инструмента):
1. read_file(path="/var/log/app.log") → возвращает весь файл
2. search_text(text=<весь файл>, pattern="ERROR") → возвращает совпадающие строки
3. count_lines(text=<совпадающие строки>) → возвращает число
CLI-подход (1 вызов инструмента):
run(command="cat /var/log/app.log | grep ERROR | wc -l") → "42"Один вызов заменяет три, потому что конвейеры Unix изначально поддерживают композицию. Разработчик подчёркивает, что это не специальная оптимизация, а использование существующего дизайна Unix.
📖 Read the full source: r/LocalLLaMA
👀 Смотрите также

bareguard: Легковесная система безопасности для AI-агентов — теперь в npm
bareguard v1.0 — это слой безопасности для AI-агентов, состоящий из ~1000 строк кода с одной зависимостью, который блокирует деструктивные действия (rm -rf, DROP TABLE) и обеспечивает контроль бюджета с возможностью эскалации человеку. Входит в состав bare suite, доступен на npm.

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

FlowBoard v5: Рабочее пространство проекта, где работают ваши ИИ-агенты
FlowBoard v5 — это рабочее пространство для проектов на React для ИИ-агентов. Оно включает хранилище задач на основе событий (SQLite), поддержку нескольких агентов, цикл от идеи до спецификации и модульные виджеты обзора.

Масштабирование автоисследований Карпати с 16 GPU: Результаты и методы
Команда SkyPilot предоставила Claude Code доступ к 16 GPU в кластере Kubernetes для запуска проекта Autoresearch Карпати. За 8 часов агент отправил около 910 экспериментов, снизил валидационные биты на байт с 1,003 до 0,974 (улучшение на 2,87%) и достиг наилучшего значения потерь на валидации в 9 раз быстрее, чем при последовательном выполнении.