Я обнаружил, что разрабатываю свои инструменты ИИ в обратном порядке. Вот пример. Это была моя цепочка обработки новостных рассылок: чтение электронных писем, вызов процессора новостных рассылок, извлечение компаний и затем добавление их в CRM. Это включало четыре разных этапа, стоивших $3.69 за каждую тысячу обработанных новостных рассылок. До: Цепочка обработки новостных рассылок (первая картинка) Затем я создал унифицированный инструмент для новостных рассылок, который объединил все, используя Google Agent Development Kit, фреймворк Google для создания инструментов ИИ агентского уровня: (вторая картинка) Почему унифицированный инструмент для новостных рассылок более сложный? Он включает несколько действий в одном интерфейсе (обработка, поиск, извлечение, валидация), реализует управление состоянием, которое отслеживает шаблоны использования и кэширует результаты, имеет встроенное ограничение по скорости и производит структурированные JSON-выходы с метаданными вместо простого текста. Но вот парадоксальная часть: несмотря на то, что он более сложный внутри, унифицированный инструмент проще для использования LLM, потому что он предоставляет последовательные, структурированные выходы, которые легче анализировать, даже если эти выходы длиннее. Чтобы понять влияние, мы провели тесты по 30 итераций на каждом сценарии тестирования. Результаты показывают влияние новой архитектуры: (третья картинка) Нам удалось сократить количество токенов на 41% (p=0.01, статистически значимо), что линейно перевелось в экономию затрат. Уровень успеха улучшился на 8% (p=0.03), и нам удалось использовать кэш 30% времени, что также является экономией затрат. Хотя отдельные инструменты давали более короткие, "чище" ответы, они заставляли LLM работать усерднее, анализируя несогласованные форматы. Структурированные, комплексные выходы от унифицированных инструментов обеспечили более эффективную обработку LLM, несмотря на то, что они длиннее. Мой рабочий процесс полагался на десятки специализированных инструментов Ruby для электронной почты, исследований и управления задачами. Каждый инструмент имел свой собственный интерфейс, обработку ошибок и формат выходных данных. Объединив их в мета-инструменты, мы получили лучшую производительность и огромную экономию затрат. Полную архитектуру можно найти на GitHub.