Исследователи компании Microsoft предлагают TaskWeaver код-ориентированный фреймворк машинного обучения для создания автономных агентов на основе LLM.

Майкрософт представляет TaskWeaver код-ориентированный фреймворк машинного обучения для создания автономных агентов на основе LLM.

Большие языковые модели (LLM) показали впечатляющие способности в создании и интерпретации естественного языка. Примерами таких моделей являются GPT, Claude, Palm и Llama. Эти модели широко используются во множестве приложений, таких как чат-боты, виртуальные помощники и системы генерации контента. LLM может полностью изменить способ взаимодействия людей с технологией, предлагая более интуитивный и естественный опыт. Агент определяется как автономная сущность, способная планировать задачи, контролировать окружающую среду и принимать соответствующие действия в ответ. Агенты, использующие большие языковые модели или другие технологии искусственного интеллекта, относятся к этой категории.

Множество фреймворков пытаются использовать LLM для задач, включая Langchain, Semantic Kernel, Transformers Agent, Agents, AutoGen и JARVIS. С помощью этих фреймворков пользователи могут общаться с ботами, работающими на LLM, задавая вопросы обычным языком и получая ответы. Однако у многих фреймворков есть недостатки, которые ограничивают их возможности в области аналитики данных и ситуаций, свойственных определенной области. Отсутствие нативной поддержки сложных структур данных в большинстве существующих фреймворков является одним из их основных недостатков. Для аналитики данных и многих других бизнес-сценариев агентам на основе LLM часто приходится работать с сложными структурами данных, такими как вложенные списки, словари или data frame.

Однако многие существующие фреймворки нуждаются в помощи в управлении этими структурами, особенно при обмене данными между различными плагинами или раундами чата. В таких ситуациях эти фреймворки кодируют сложные структуры в виде строк или JSON-объектов в запросах или сохраняют данные на диск. Эти методы работают; однако, особенно при работе с большими наборами данных, они могут стать сложными и повысить частоту ошибок. Еще одним недостатком текущих методов является их неспособность быть настроенными для включения предметной области знаний. Хотя эти фреймворки предоставляют быстрые инженерные инструменты и примеры, им необходимо предложить систематический способ интеграции информации, специфичной для предметной области, в процесс планирования и генерации кода.

Управление процессом планирования и генерации кода в соответствии с конкретными требованиями предметной области сложно из-за ограничений. Еще одной проблемой многих текущих фреймворков является их недостаточная гибкость, что затрудняет удовлетворение широкого спектра пользовательских потребностей. Плагины могут обрабатывать типичные требования, но им может потребоваться помощь для обработки специальных запросов. Писать отдельный плагин для каждого ад-хок запроса непрактично. В таких случаях важной становится способность агента разрабатывать уникальный код для выполнения запроса пользователя. Для решения этой проблемы требуется решение, которое плавно объединяет выполнение индивидуального кода с выполнением плагина.

Для преодоления этих недостатков исследовательская группа из Microsoft предложила TaskWeaver, фреймворк с ориентацией на код для создания автономных агентов с использованием LLM. Уникальной особенностью TaskWeaver является его способность обрабатывать пользовательские плагины как вызываемые функции, преобразуя каждый пользовательский запрос в исполняемый код. TaskWeaver предлагает поддержку сложных структур данных, гибкое использование плагинов и динамический выбор плагинов, что помогает преодолеть недостатки других фреймворков. Он реализует сложную логику, используя возможности программирования LLMs, и интегрирует предметные знания через примеры.

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