Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Microsoft.Agents.AI.LocalCodeActзапускает созданные Python в дочернем процессе в среде агента. Он предоставляет шаблон поставщика CodeAct, не требуя гостевой среды выполнения Hyperlight.
Эта интеграция использует шаблон CodeAct и использует среду узла для изоляции.
Предупреждение
Local CodeAct не является песочницей безопасности. Запустите его только в том месте, где внешний контейнер, виртуальная машина или управляемая среда размещения предоставляет процесс, файловую систему, сеть и изоляцию учетных данных.
Установите пакет
dotnet add package Microsoft.Agents.AI.LocalCodeAct --prerelease
Для пакета требуется явный Python исполняемый путь.
Настройте провайдера
Регистрация средств узла с помощью LocalCodeActProviderOptions. Созданный код может вызывать только эти средства.await call_tool(...) Применение ограничений выполнения для привязанной среды выполнения субпроцесса и захваченных выходных данных.
// ── LocalCodeAct provider with sandbox-only host tools ───────────────────────
var codeActOptions = new LocalCodeActProviderOptions
{
Tools =
[
AIFunctionFactory.Create(Compute, name: "compute"),
AIFunctionFactory.Create(FetchData, name: "fetch_data"),
],
ExecutionLimits = new ProcessExecutionLimits { TimeoutSeconds = 5 },
};
var codeAct = new LocalCodeActProvider(pythonExecutable, codeActOptions);
// ── Build the hosted agent ───────────────────────────────────────────────────
AIAgent agent = new AIProjectClient(new Uri(endpoint), credential)
.AsAIAgent(new ChatClientAgentOptions
{
Name = Environment.GetEnvironmentVariable("AGENT_NAME") ?? "hosted-local-codeact",
Description = "Hosted CodeAct agent with sandbox-only compute and fetch_data tools.",
ChatOptions = new ChatOptions
{
ModelId = deploymentName,
Instructions =
"""
You are a helpful assistant. Keep your answers brief. Prefer orchestrating your work
in a single `execute_code` block using `await call_tool(...)` over issuing many
direct tool calls. The sandbox exposes `compute` and `fetch_data` via `call_tool`.
""",
},
AIContextProviders = [codeAct],
});
Элементы управления глубиной обороны
Local CodeAct предоставляет:
- Проверка AST с настраиваемыми разрешенными и заблокированными импортами и встроенными.
- Прямое Python выполнение субпроцесса без вызова оболочки.
- Ограничения размера файла, выходных данных, результатов и захваченных файлов.
- Явная регистрация средства узла.
- Подключения файлов только для чтения и записи.
- Настраиваемый рабочий каталог и среда подпроцесса.
Эти элементы управления снижают риск, но не обеспечивают сдерживание. Продолжайте проверку, передайте словарь ограниченной среды, предоставьте узкие средства узла и запустите процесс в строгой внешней песочнице.
Выбор среды выполнения CodeAct
| Runtime | Выберите его, когда |
|---|---|
| Гиперлайт | Вам нужна изолированная песочница с файловой системой и сетевыми элементами управления. |
| Local CodeAct | Агент .NET уже выполняется внутри внешней изолированной среды. |
| Монти | Для агентов Python требуется кроссплатформенный интерпретатор с ограниченным доступом. |