Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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. |