Lokalne (.NET)

Microsoft.Agents.AI.LocalCodeActuruchamia wygenerowane Python w procesie podrzędnym w środowisku agenta. Zapewnia on wzorzec dostawcy CodeAct bez wymagania środowiska uruchomieniowego gościa funkcji Hyperlight.

Ta integracja używa wzorca CodeAct i opiera się na środowisku hosta na potrzeby izolacji.

Warning

Local CodeAct nie jest piaskownicą zabezpieczeń. Uruchom go tylko wtedy, gdy zewnętrzny kontener, maszyna wirtualna lub zarządzane środowisko hostingu zapewnia proces, system plików, sieć i izolację poświadczeń.

Instalowanie pakietu

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

Pakiet wymaga jawnej ścieżki pliku wykonywalnego Python.

Konfiguruj dostawcę

Rejestrowanie narzędzi hosta za pomocą polecenia LocalCodeActProviderOptions. Wygenerowany kod może wywoływać tylko te narzędzia za pomocą polecenia await call_tool(...). Zastosuj limity wykonywania do powiązanego środowiska uruchomieniowego podprocesu i przechwyconych danych wyjściowych.

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

Mechanizmy kontroli dogłębnej ochrony

Funkcja CodeAct lokalnego zapewnia:

  • Walidacja AST z konfigurowalnymi dozwolonymi i zablokowanymi importami i wbudowanymi.
  • Bezpośrednie Python wykonywanie podprocesu bez wywoływania powłoki.
  • Limity czasu, danych wyjściowych, wyników i przechwyconych plików.
  • Jawna rejestracja narzędzia hosta.
  • Instalacja plików tylko do odczytu i zapisu.
  • Konfigurowalny katalog roboczy i środowisko podrzędne przetwarzania.

Te mechanizmy kontroli zmniejszają ryzyko, ale nie zapewniają powstrzymania. Zachowaj włączoną walidację, przekaż słownik środowiska z ograniczeniami, uwidocznij wąskie narzędzia hosta i uruchom proces wewnątrz silnej piaskownicy zewnętrznej.

Wybieranie środowiska uruchomieniowego CodeAct

Runtime Wybierz ją, gdy
Hyperlight Potrzebna jest izolowana piaskownica z systemem plików i kontrolkami sieci.
Lokalny kodAct Agent .NET działa już w środowisku zewnętrznie w trybie piaskownicy.
Monty Potrzebujesz wieloplatformowego interpretera z ograniczeniami dla agentów Python.

Następne kroki