“Вы должны больше использовать Bash.” В последние несколько недель Тариq из Anthropic провел телефонные конференции с десятками компаний, занимающихся общими интеллектуальными агентами. Почтовые помощники, чат-боты, управление расписанием — различные формы продуктов. После обсуждения он заметил, что постоянно повторяет одну и ту же фразу. Bash? Разве это не инструмент командной строки, который используют программисты? Как это связано с этими продуктами? Сначала рассмотрим конкретный сценарий. Предположим, у вас есть почтовый агент, и вы спрашиваете его: “Сколько я потратил на такси на этой неделе?” Традиционный подход выглядит так: агент вызывает API, чтобы получить электронные письма, возможно, загружая 100 писем за раз, а затем позволяет модели найти квитанции Uber и Lyft и суммировать суммы. Проблема в том, что 100 писем помещаются в контекст, и модели нужно одновременно запомнить эту информацию, отфильтровать и посчитать. Это не так просто для больших языковых моделей. Легко пропустить, легко ошибиться, и вы не можете проверить, какие письма она на самом деле просмотрела. Это типичная проблема комфортной зоны модели: объем данных не так велик, чтобы требовать написания специальной программы для обработки, но он превышает возможности модели для однократного вычисления. Зажатый между двумя крайностями, это довольно неловко. Решение Тариq: дать агенту инструмент Bash, чтобы он мог сохранять промежуточные результаты в файл. Звучит просто, но логика, стоящая за этим, очень интересна. Традиционный вызов инструментов выглядит следующим образом: Инструмент → Обработка модели → Вывод результата Все промежуточные состояния находятся в “уму” модели, вы их не видите и не можете проверить. После замены на Bash процесс изменился: Инструмент → Сохранить файл → Поиск/фильтрация → Обработка модели → Вывод результата ...