Lokal (.NET)

Microsoft.Agents.AI.LocalCodeActkörningar som genererats Python i en underordnad process i agentens miljö. Den tillhandahåller CodeAct-providermönstret utan att en Hyperlight-gästkörning krävs.

Den här integreringen använder CodeAct-mönstret och förlitar sig på värdmiljön för isolering.

Varning

Lokal CodeAct är inte en säkerhetssandlåda. Kör den bara där en extern container, virtuell dator eller hanterad värdmiljö tillhandahåller isolering av processer, filsystem, nätverk och autentiseringsuppgifter.

Installera paketet

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

Paketet kräver en explicit Python körbar sökväg.

Konfigurera leverantören

Registrera värdverktyg via LocalCodeActProviderOptions. Genererad kod kan bara anropa dessa verktyg via await call_tool(...). Tillämpa körningsgränser för bunden underprocesskörning och insamlade utdata.

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

Djupskyddskontroller

Local CodeAct tillhandahåller:

  • AST-validering med konfigurerbar tillåten och blockerad import och inbyggda importer.
  • Direkt Python underprocesskörning utan att anropa ett gränssnitt.
  • Storleksgränser för tid, utdata, resultat och insamlade filer.
  • Explicit registrering av värdverktyg.
  • Skrivskyddade och skrivskyddade filmonteringar.
  • Konfigurerbar arbetskatalog och underprocessmiljö.

Dessa kontroller minskar risken men tillhandahåller inte inneslutning. Håll valideringen aktiverad, skicka en begränsad miljöordlista, exponera smala värdverktyg och kör processen i en stark extern sandbox-miljö.

Välj en CodeAct-körning

Runtime Välj den när
Hyperlight Du behöver en isolerad sandbox-miljö med filsystem- och nätverkskontroller.
Lokal codeact Din .NET agent körs redan i en externt sandbox-miljö.
Monty Du behöver en plattformsoberoende begränsad tolk för Python agenter.

Nästa steg