Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Important
Položky označené jako náhled v tomto článku jsou aktuálně ve verzi Preview. Tato verze Preview se poskytuje bez smlouvy o úrovni služeb a Microsoft ji nedoporučuje pro produkční úlohy. Některé funkce nemusí být podporované nebo můžou mít omezené možnosti. Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.
Používejte azd ai z programovacích agentů a skriptů se stejným chováním, jaké mají lidé v terminálu. Nastavíte samostatný kontext, zakážete výzvy, parsujete výstup JSON a vyvoláte koncové body přímého agenta pro spolehlivou automatizaci.
Předpoklady
- Nainstalovaná rozšíření azd Foundry.
- Autentizovaná
azdrelace. - Koncový bod projektu Microsoft Foundry pro příkazy, které chcete spustit. Další informace naleznete v tématu Nastavení kontextu projektu azd.
- Volitelné: Nasazený hostovaný agent, když potřebujete vyvolat koncový bod agenta. Informace o nastavení najdete v tématu Nasazení hostovaného agenta.
Začínáme s dovedností Microsoft Foundry
Kódovací agenti fungují nejlépe, pokud už znají konvence azd ai.
Microsoft Foundry Skill poskytuje programovacímu agentovi tyto znalosti: generuje správné příkazy azd ai a propojení ve Foundry a uplatňuje postupy popsané v tomto článku – nastavení kontextu projektu, předávání --no-prompt a vyžadování --output json pro strukturované výsledky. Nejprve nasměrujte svého agenta pro psaní kódu na danou dovednost a potom pomocí postupů ve zbytku tohoto článku zkontrolujte a zabezpečte to, co vytvoří.
Nastavení kontextu projektu jednou
Každý příkaz pro prostředek, například connection, toolbox, skill nebo routine, potřebuje koncový bod projektu ve Foundry, na který se má zaměřit. Při automatizaci nastavte tento endpoint jednou za relaci, úlohu CI nebo spuštění kódovacího agenta a pak ho používejte po zbytek běhu.
Existují dva vzory.
Připněte jedním kliknutím na azd ai project set
Pokud chcete, aby kontext trval napříč prostředími bez exportu proměnné prostředí, nastavte ho v globální konfiguraci:
azd ai project set https://my-project.services.ai.azure.com/api/projects/my-project --no-prompt
azd ai project show
azd ai project set <endpoint> je plně neinteraktivní, pokud už znáte adresu URL.
azd ai project show potvrdí, který zdroj vyřešil aktivní koncový bod. Použijte ho na začátku relace, pokud si nejste jistí, v jakém stavu je hostitel.
Nastav proměnnou prostředí
Nastavte FOUNDRY_PROJECT_ENDPOINT v prostředí, ve kterém běží váš skript nebo agent kódování. Každý příkaz azd ai jej automaticky převezme po prostředí azd v projektu a globální konfiguraci.
export FOUNDRY_PROJECT_ENDPOINT="https://my-project.services.ai.azure.com/api/projects/my-project"
azd ai connection list --output json
Tento vzor se pro CI dobře hodí, protože tajné údaje a konfigurace obvykle už přicházejí jako proměnné prostředí a mezi jednotlivými úlohami není žádný globální stav, který by bylo potřeba vyčistit.
Úplné vysvětlení, jak rozhraní příkazového řádku řeší koncový bod, včetně pořadí priorit, najdete v tématu Nastavení kontextu projektu azd.
Zakázat výzvy
Každý azd ai příkaz přijímá --no-prompt. Když tuto možnost nastavíte, příkaz okamžitě selže, místo toho aby čekal na interaktivní vstup. Chybějící povinný argument nebo delete potvrzení, které by jinak čekalo na stisknutí klávesy, se stane okamžitou chybou se strukturovaným výstupem.
Vždy se nastavuje --no-prompt v CI a při volání agenta kódování.
azd ai connection create my-search \
--kind cognitive-search \
--target https://my-search.search.windows.net \
--auth-type api-key \
--key "$KEY" \
--no-prompt
Tip
--no-prompt také znamená "přeskočit výzvu k delete potvrzení", takže nemusíte --force jenom potlačit tuto jednu výzvu.
Získání výstupu JSON
Většina příkazů azd ai podporuje --output json, včetně příkazů connection, toolbox, skill a příkazů prostředku routine a azd ai agent show. Použijte ho ke spolehlivému zpracování výsledku pomocí jq, ConvertFrom-Json nebo parseru JSON vašeho jazyka namísto extrahování z textového výstupu čitelného pro člověka. Příkaz azd ai agent invoke používá --output raw pro nezměněnou odpověď serveru.
# List connections, extract names with jq
azd ai connection list --output json | jq -r '.[].name'
# Show a single resource as JSON
azd ai routine show daily-digest --output json | jq '.trigger'
# PowerShell example
$conn = azd ai connection show my-search --output json | ConvertFrom-Json
Write-Host $conn.target
Textový výstup je pro lidi a může se měnit mezi verzemi. Tvar JSON je stabilní kontrakt.
Vytvářejte zdroje idempotentně.
create není upsert. Pokud pojmenovaný prostředek již existuje, opětovné spuštění selže. Toto výchozí nastavení funguje dobře pro sdílené prostředky v rozsahu projektu, protože brání tomu, aby jeden volající bezobslužně přepsal stav jiného volajícího.
Pro automatizaci, která musí uspět bez ohledu na předchozí stav, příkazy connection přijímají --force pro nahrazení existujícího prostředku.
azd ai connection create my-search \
--kind cognitive-search \
--target https://my-search.search.windows.net \
--auth-type api-key \
--key "$KEY" \
--force --no-prompt
Výstraha
--force NAHRADÍ připojení (ARM PUT), nesloučí se. Používejte jej opatrně při práci se sdílenými prostředky, protože úpravy provedené jiným volajícím stejného prostředku mohou být ztraceny.
Pokud potřebujete změnit jenom několik polí a chcete zachovat všechno ostatní, použijte update. Nebo použijte specializované podpříkazy kolekce, jako jsou tool, tag, metadata a key.
Vytvoření sady nástrojů ze souboru
Pro sadu nástrojů s více položkami, která obsahuje integrované nástroje, připojení a dovednosti, umístěte úplnou definici do souboru YAML a předejte --from-file do azd ai toolbox create. Soubor používá odpovídající obrazec AgentSchema .
azd ai toolbox create research --from-file ./resources/research-toolbox.yaml --no-prompt
--from-file je vstup načtený jednorázově v okamžiku vyvolání. Rozhraní příkazového řádku soubor nesleduje ani znovu nenačítá, takže pozdější úpravy souboru YAML se neprojeví, dokud příkaz nespustíte znovu. Vytvořte připojení s explicitními příznaky (--kind, --target, --auth-typea odpovídajícími příznaky přihlašovacích údajů) a pak na ně odkazujte podle názvu ze souboru panelu nástrojů.
Vyvolání nasazeného agenta bez projektu azd
Když agent pro psaní kódu nebo skript potřebuje volat nasazeného agenta, který se nachází mimo jeho pracovní adresář, použijte --agent-endpoint, abyste na něj cílili přímo. Tento přístup obchází jak azure.yaml, tak aktivní prostředí azd env. Samotná adresa URL stačí.
azd ai agent invoke \
--agent-endpoint https://my-project.services.ai.azure.com/api/projects/my-project/agents/release-summarizer/versions/3 \
"Summarize today's release notes." \
--no-prompt
Tento obrazec použijte, když CI jednoho úložiště potřebuje volat agenta vlastněného jiným úložištěm nebo když server MCP frontsuje několik agentů a zná pouze jejich adresy URL koncových bodů. Úplnou sadu invoke možností najdete v tématu Vyvolání hostovaného agenta.
Předat tajné údaje do lokálního spuštění
Chcete-li agenta spustit lokálně s tajnými údaji, nastavte je jako proměnné prostředí azd a odkazujte na ně v mapě env pro službu azure.ai.agent v azure.yaml. Hodnoty jsou v .azure/<env>/.env, který je ve výchozím nastavení ignorován Gitem.
azd env set OPENAI_KEY "$AZURE_OPENAI_KEY"
# azure.yaml
services:
my-agent:
host: azure.ai.agent
env:
OPENAI_KEY: ${OPENAI_KEY}
U tajných kódů, které by neměly být v místním .env souboru, je uložte do připojení projektu Foundry a odkazujte na ně zástupným ${{connections.<name>.credentials.<field>}} symbolem. Podívejte se na Spuštění hostovaného agenta místně, kde najdete úplný přehled možností místního spuštění.
Skript s krátkým nastavením
Tento skript Bash kombinuje výše uvedené vzory. Ukotví kontext projektu, idempotentně vytvoří připojení i panel nástrojů, zapojí nástroj do panelu nástrojů a ověří výsledek parsováním formátu JSON.
#!/usr/bin/env bash
set -euo pipefail
azd ai project set "$FOUNDRY_PROJECT_ENDPOINT" --no-prompt
# A 'remote-tool' connection holds the URL and credentials for the MCP server.
azd ai connection create tavily \
--kind remote-tool \
--target https://mcp.tavily.com/mcp \
--auth-type custom-keys \
--custom-key "x-api-key=$TAVILY_KEY" \
--force --no-prompt
# Create the toolbox with the connection wired in, in a single shot
cat > research-toolbox.yaml <<'EOF'
description: Research tools
connections:
- name: tavily
EOF
azd ai toolbox create research --from-file ./research-toolbox.yaml --no-prompt
echo "Toolbox state:"
azd ai toolbox connection list research --output json | jq .
set -euo pipefail zajišťuje, že skript selže hned, pokud některý krok skončí chybou. V kombinaci s --no-prompt vám to dává deterministický návratový kód vhodný pro CI kontroly.
Kontrola rozlišení koncového bodu
Agenti pro psaní kódu mohou předvídat, na který projekt ve Foundry bude příkaz cílit, podle tohoto pořadí priorit. První zdroj, který dává hodnotu vyhrává; pozdější zdroje se nekonzultují.
-
--project-endpoint(nebo-p) příznak (vždy vyhrává). - Uvnitř projektu azd: aktivní hodnota env azd.
- Globální konfigurace (nastavená uživatelem
azd ai project set). -
FOUNDRY_PROJECT_ENDPOINTproměnná prostředí. - Chyba se strukturovaným doporučením spustit
azd ai project setnebo předat--project-endpoint.
Úplné vysvětlení, včetně toho, jak samostatný kontext komunikuje s prací v projektu, najdete v tématu Nastavení kontextu projektu azd.
Použijte tipy pro agenta pro kódování
- Vždy předejte
--no-prompt, a u příkazů, které ji podporují, přidejte také--output json. Společně vám poskytnou předvídatelný ukončovací kód a parsovatelný výsledek. - Pokud si nejste jistí, v jakém stavu je hostitel, ověřte vyřešený kontext
azd ai project showna začátku relace. Je to nenáročné volání pouze pro čtení. - Při selhání upřednostněte parsování strukturovaného návrhu v chybovém výstupu před rozhodováním o dalších krocích. Například chyba „No Foundry project endpoint resolved“ znamená, že byste měli před dalším pokusem spustit
azd ai project setnebo nastavitFOUNDRY_PROJECT_ENDPOINT. - Používejte
--debugpouze při diagnostice problému. Vytváří podrobný víceřádkový výstup, který je obtížné analyzovat a nikdy neměl být programovým rozhraním. - Selhání
creates hlášením „již existuje“ považujte za obnovitelná. Spusťte znovu s--force, pokud chcete prostředek nahradit, nebo přepněte naupdatea dílčí příkazy kolekce, pokud potřebujete změnit jen jeho část.
Související obsah
- Nastavte kontext projektu azd , abyste pochopili, jak rozhraní příkazového řádku řeší koncový bod projektu Foundry.
-
Nastavte CI/CD pro hostované agenty pomocí Azure Developer CLI pro scénáře, které v pipelinech spouštějí
azd ai. -
Spusťte hostovaného agenta pro všechny
azd ai agent invokemožnosti včetně--agent-endpoint.