Автоматизированная циклическая логика
19 августа три исследователя из Университета Британской Колумбии опубликовали статью под названием "Автоматизированное проектирование интеллектуальных систем". В этой статье они разработали систему, позволяющую ИИ самостоятельно обнаруживать и создавать агентов, а также итерировать их.
Вспомним классическое определение агента от OpenAI: агент - это продукт, способный хранить знания, планировать и применять инструменты.
Когда мы создаем агентов с помощью рабочих процессов, мы также используем существующие знания (знания о форме агентов), самостоятельно планируем (создаем процессы) и используем инструменты (подключаем API) для выполнения и производства, не выходя за рамки возможностей самого агента.
Так почему бы не создать агента, который может автоматически обнаруживать и проектировать других агентов?
Авторы статьи следовали этой идее, назвав дизайнера мета-агентом и поручив ему проектировать новых агентов. Разработанные агенты добавляются в базу данных в качестве материала, постоянно итерируя новые, более мощные версии агентов.
Весь этот метод они назвали ADAS (Automated Design of Agentive Systems).
Запуск цепочки
Процесс генерации новых агентов в системе ADAS можно разделить на три части:
Первая часть создает пространство поиска, что можно понимать как проектирование потенциальных новых агентов с помощью некоторых базовых инструментов и правил.
Вторая часть - запуск алгоритма поиска, который определяет, как мета-агент использует пространство поиска, выбирая из него элементы для конкретного построения новых агентов.
Последняя часть - запуск функции оценки, которая оценивает созданных агентов на основе таких целей, как производительность.
Исследователи пошагово объяснили в статье, как построить эти три ключевые части.
Сначала нужно определить базовые элементы для построения пространства поиска, и исследователи считают, что лучший метод - это код.
Это потому, что код обладает полнотой по Тьюрингу и может выразить все возможности. Таким образом, теоретически мета-агент может обнаружить любые возможные строительные блоки (такие как подсказки, использование инструментов, потоки управления) и системы агентов, которые комбинируют эти строительные блоки любым способом.
Что еще более важно, различные рабочие процессы, уже существующие на сайтах для создания агентов, таких как Langchain, уже закодированы. Поэтому соответствующие данные легко доступны без необходимости преобразования. А для вызовов инструментов, таких как компоненты возможностей RAG (retrieval augmented generation), уже существует очень солидная кодовая база.
Использование кода для построения пространства поиска также означает, что агенты, созданные ADAS, могут работать напрямую, используемые для исправления ошибок и оценки, без необходимости вмешательства человека.
После определения пространства поиска исследователи начали разрабатывать алгоритм поиска, то есть позволить мета-агенту исследовать возможные способы выполнения задач. Этот процесс в основном выполняется с помощью инженерии подсказок.
Сначала ему дается серия системных подсказок.
Затем мета-агенту предоставляются материалы, упомянутые в базовом промпте, включая:
-
Базовое описание задачи.
-
Базовый каркас кода, такой как форматирование подсказок, имена операций инкапсуляции, а также способность вызывать другие базовые модели (FM) и API.
-
Формат и примеры ввода и вывода задачи.
-
Библиотека примеров, сформированная некоторыми агентами, созданными в предыдущих итерациях, включая их базовые результаты тестирования.
На основе этих базовых подсказок ADAS может начать работу, генерируя агента для решения конкретной проблемы.
В этом процессе мета-агент проводит два раунда рефлексии, чтобы обеспечить новизну и правильность созданного агента. Он проверяет, нет ли ошибок в новом сгенерированном каркасе кода и достаточно ли он инновационен по сравнению с предыдущими результатами в библиотеке примеров агентов.
Мета-агент также должен провести предварительную оценку созданного агента на основе своего "понимания" практических возможностей производительности, чтобы определить, лучше ли он работает, чем предыдущие агенты.
Когда некоторые из этих условий не выполняются, мета-агент должен либо модифицировать созданного агента, либо полностью переделать его.
После двух раундов рефлексии и модификации мета-агент отправляет нового агента, которого он считает новым и хорошим, в систему оценки на третьем шаге.
Система оценки выставит объективную оценку способностям этого агента на основе базового тестирования, а затем вернет его в библиотеку примеров агентов.
Мета-агент затем продолжит следующую итерацию оптимизации на основе предыдущих результатов оценки и прошлых примеров в библиотеке примеров, чтобы достичь более высокого балла производительности задачи.
Полностью автоматизированная цепочка рождается в этом процессе. А для создания агента с отличным эффектом может потребоваться более десяти итераций.
Превосходя ручное создание агентов
Насколько сложными могут быть агенты, полученные с помощью автоматизированного процесса ADAS? На рисунке ниже показана структура агента, созданного после 14 итераций.
В структуре этого агента пять цепочек мышления дают предварительные ответы. После того, как три экспертные модели и одна модель, имитирующая человеческую оценку, дают обратную связь по этим ответам, эти ответы проходят три раунда модификации и усиления на этапе оптимизации. Наконец, три результата отбираются путем оценки и объединяются для получения окончательного ответа.