Тестирование гипотезы 'bash is all you need' для AI агентов

#AI#bash#SQL#data-processing

TL;DR: В статье исследуется эффективность использования bash и SQL для выполнения сложных запросов к структурированным данным AI агентами. Результаты показывают, что SQL обеспечивает более высокую точность и скорость, чем bash, однако гибридный подход, сочетающий оба инструмента, демонстрирует наилучшие результаты.

Введение

В сообществе AI растет убежденность в том, что файловые системы и bash являются оптимальной абстракцией для агентов. Логика проста: языковые модели (LLMs) были обучены на большом объеме кода, терминалов и навигации по файлам, поэтому предоставление агентам доступа к shell кажется естественным шагом. Однако, что если структурированные данные требуют более специализированного подхода? Мы решили проверить эту гипотезу, сравнив эффективность bash и SQL в выполнении сложных запросов.

Основная часть

Экспериментальная установка

Мы создали eval harness, чтобы сравнить производительность трех типов агентов:

  1. SQL агент: выполняет прямые запросы к базе данных SQLite.
  2. Bash агент: использует just-bash для навигации и запросов к JSON файлам на файловой системе.
  3. Filesystem агент: использует базовые инструменты файловой системы (поиск, чтение) без полного доступа к shell.

Агентам были предложены задачи разной сложности, начиная с простых запросов, таких как “Сколько открытых issues упоминают ‘security’?”, и заканчивая сложными, например, “Найти issues, где кто-то сообщил о баге, а позже кто-то предложил pull request для его исправления”.

Результаты

SQL агент показал 100% точность, в то время как bash агент достиг только 52.7%. Bash агент также использовал в 7 раз больше токенов, стоил в 6.5 раз дороже и выполнялся в 9 раз дольше. Даже базовые инструменты файловой системы показали лучшую точность (63.0%), чем полный доступ к bash.

Отладка результатов

Одним из неожиданных открытий было то, что bash агент генерировал сложные shell команды, такие как цепочки find, grep, jq, awk и xargs, которые редко встречаются в типичных рабочих процессах. Однако это знание не привело к лучшей производительности.

Мы также обнаружили несколько проблем:

Гибридный подход

Мы решили попробовать гибридный подход, предоставив агенту доступ как к bash, так и к SQLite. Этот агент разработал интересное поведение: он выполнял SQL запросы, а затем проверял результаты, просматривая файловую систему. Это позволило достичь 100% точности, хотя и с удвоенным количеством токенов.

Практическое применение

Для структурированных данных с четкими схемами SQL остается наиболее эффективным инструментом. Однако bash предоставляет гибкость, которую SQL не может обеспечить, особенно для проверки и исследования данных.

Заключение

Наше исследование показало, что гибридный подход, сочетающий bash и SQL, является наиболее надежным для выполнения сложных запросов к структурированным данным. Однако ключевым уроком стало понимание важности качественных eval harness и постоянной отладки, которые позволяют улучшать инструменты и результаты.

Eval harness доступен в открытом доступе, и вы можете адаптировать его под свои нужды, используя свои наборы данных, агентов и вопросы. Это исследование было проведено Ankur Goyal и командой Braintrust, которые разрабатывают инфраструктуру для оценки AI приложений.


Источник: https://vercel.com/blog/testing-if-bash-is-all-you-need