Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
CodeAct позволяет агенту решить задачу, написав код и выполнив его с помощью execute_code средства. Вместо того чтобы запрашивать у модели вызов одного средства одновременно, CodeAct предоставляет ему изолированное место для объединения потока управления, преобразования данных и оркестрации инструментов внутри одного шага выполнения.
В Agent Framework CodeAct предоставляется через пакеты, специфичные для серверной части, а не через один встроенный тип ядра. Соединитель может добавить execute_code средство, внедрить руководство по среде выполнения и при необходимости предоставлять средства, принадлежащие поставщику, которые можно вызывать из песочницы.
Почему CodeAct
Современные агенты ИИ часто не ограничиваются качеством модели, а ограничиваются накладными расходами на оркестрацию. Когда агент объединяет множество небольших вызовов инструментов, каждый шаг обычно требует дополнительного запуска модели, что увеличивает задержку и использование маркеров.
CodeAct упрощает этот цикл: модель -> инструмент -> модель. Вместо того, чтобы попросить модель выбрать один инструмент за раз, Agent Framework может предоставить один execute_code инструмент и позволить модели выразить полный план в виде короткой программы. Инструменты остаются неизменными, модель остается той же, и основное изменение заключается в том, что план выполняется один раз в песочнице вместо того, чтобы быть разделённым на несколько этапов вызова инструментов.
Для рабочих нагрузок, насыщенных инструментами, это может значительно уменьшить сквозную задержку и использование токенов, сохраняя при этом план компактным и проверяемым в одном блоке кода. См. интеграцию Hyperlight CodeAct для наглядного сравнения схем подключения бок о бок.
Когда CodeAct является подходящим решением
Используйте CodeAct, когда задача получает преимущества:
- объединение нескольких вызовов инструментов с циклами, ветвлением, фильтрацией или агрегированием
- преобразование результатов инструмента перед возвратом окончательного ответа
- создание более крупных структурированных выходных данных или артефактов в рамках выполнения
- сохранение некоторых средств, доступных только в управляемой среде выполнения
- сворачивание множества небольших, объединяемых последовательных поисковых операций или легковесных вычислений в один шаг выполнения
Продолжайте использовать прямое использование инструмента, когда:
- Задача требует только одного или двух вызовов инструментов, поэтому нагрузка на оркестрацию минимальна.
- каждый вызов имеет побочные эффекты, которые должны оставаться отдельно видимыми для модели и пользователя
- Вам нужны запросы на утверждение для каждого вызова вместо одного решения об утверждении для всего запуска
execute_code.
Как CodeAct подходит в Agent Framework
Соединитель CodeAct обычно выполняет четыре действия при запуске:
- Добавляет средство
execute_codeна поверхность инструментов, обращенную к модели. - Предоставляет инструкции для настроенной среды выполнения песочницы.
- При необходимости предоставляет доступ к средствам, принадлежащим
call_tool(...)поставщику. - Применяет ограничения возможностей, такие как доступ к файловой системе или списки разрешений для исходящей сети.
Так как коннектор управляет конфигурацией исполняющей среды, сведения о настройке зависят от выбранной серверной части.
Текущие ограничения
CodeAct является сильным подходом для рабочих процессов с большим количеством инструментов, но есть несколько текущих ограничений, которые следует учитывать:
- Описанным соединителем Agent Framework на сегодняшний день является Hyperlight CodeAct, доступный как для Python, так и для .NET (в предварительной версии).
- Одобрения в настоящее время применяются к вызову
execute_codeв целом. Если вам нужно, чтобы отдельные операции были утверждены по одному, сохраняйте эти операции в виде инструментов прямого агента, вместо того чтобы полагаться наcall_tool(...). - Инструменты, доступ к которым осуществляется через
call_tool(...), по-прежнему выполняются в процессе хоста. Используйте узкоспециализированные проверенные средства узла для чувствительных операций ввода-вывода вместо ненужного расширения доступа к песочнице. - CodeAct лучше всего работает, когда накладные расходы оркестрации доминируют. Для небольших задач с одним или двумя вызовами инструментов добавленная абстракция может не принести много пользы.
- Имена инструментов, метаданные параметров и возвращаемые структуры имеют большее значение здесь, так как модель пишет код в соответствии с этими контрактами, а не выбирает один прямой вызов инструмента одновременно.
Get started
Для .NET на сегодняшний день документированным коннектором является Hyperlight CodeAct, который поставляется в пакете Microsoft.Agents.AI.Hyperlight.
Пакет предоставляет следующие возможности:
-
HyperlightCodeActProvider— этоAIContextProvider, который добавляетexecute_codeи инструкции CodeAct при каждом запуске -
HyperlightExecuteCodeFunction— автономнаяAIFunctionдля статического или ручного подключения, когда конфигурация песочницы фиксирована - Управляемые поставщиком средства, которые остаются доступными в изолированной среде через
call_tool(...) - Интеграция
CodeActApprovalModeиApprovalRequiredAIFunctionдля согласований - необязательная конфигурация файловой системы (
FileMounts,HostInputDirectory) и исходящей сети (AllowedDomains) для среды выполнения песочницы
Important
Пакет .NET находится в предварительной версии и зависит от Hyperlight.HyperlightSandbox.Api NuGet, который еще не опубликован в nuget.org. Сведения о текущих требованиях к установке и требованиям к платформе см. в Hyperlight CodeAct.
Дополнительные сведения см. в руководстве по установке, примерам и инструкциям для конкретной среды выполнения в Hyperlight CodeAct .
Get started
Для Python документированным соединителем на сегодняшний день является Hyperlight CodeAct.
Пакет Hyperlight предоставляет следующие возможности:
-
HyperlightCodeActProviderдля запусков на основе контекст-провайдера -
HyperlightExecuteCodeToolЕсли вы хотите напрямую подключитьсяexecute_code - Управляемые поставщиком средства, которые остаются доступными в изолированной среде через
call_tool(...) - необязательная конфигурация файловой системы и исходящей сети для среды выполнения песочницы
Для установки, примеров и специфичных для среды исполнения инструкций, таких как использование и print(...), а также текущих ограничений, относящихся к Hyperlight, см. /output/.