Místní (.NET)

Microsoft.Agents.AI.LocalCodeActspustí vygenerované Python v podřízeného procesu v prostředí agenta. Poskytuje vzor zprostředkovatele CodeAct bez vyžadování modulu runtime hosta Hyperlight.

Tato integrace používá vzor CodeAct a spoléhá na hostitelské prostředí pro izolaci.

Warning

Local CodeAct není sandbox zabezpečení. Spusťte ho jenom v případě, že externí kontejner, virtuální počítač nebo spravované hostitelské prostředí poskytují proces, systém souborů, síť a izolaci přihlašovacích údajů.

Nainstalujte balíček

dotnet add package Microsoft.Agents.AI.LocalCodeAct --prerelease

Balíček vyžaduje explicitní Python spustitelné cesty.

Konfigurujte poskytovatele

Zaregistrujte hostitelské nástroje prostřednictvím LocalCodeActProviderOptionsnástroje . Vygenerovaný kód může volat pouze tyto nástroje prostřednictvím await call_tool(...). Použijte omezení spouštění pro modul runtime vázaného podprocesu a zachycený výstup.

// ── 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],
    });

Hloubkové kontroly ochrany

Místní codeAct poskytuje:

  • Ověřování AST s konfigurovatelnými povolenými a blokovanými importy a integrovanými funkcemi
  • Přímé Python spuštění podprocesu bez vyvolání prostředí.
  • Čas, výstup, výsledek a omezení velikosti zachycených souborů
  • Explicitní registrace nástroje hostitele
  • Připojení k souborům jen pro čtení a zápis.
  • Konfigurovatelné pracovní adresář a prostředí podprocesu

Tyto kontroly snižují riziko, ale neposkytují omezení. Nechte ověřování povolené, předejte omezený slovník prostředí, zpřístupňte úzké hostitelské nástroje a spusťte proces uvnitř silného externího sandboxu.

Volba modulu runtime CodeAct

Runtime Zvolte ho, když
Hyperlight Potřebujete izolovaný sandbox se systémem souborů a síťovými ovládacími prvky.
Local CodeAct Váš .NET agent už běží v prostředí s externě izolovaným prostorem (sandbox).
Monty Pro agenty Python potřebujete interpret s omezeným přístupem pro různé platformy.

Další kroky