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.
Rámec doplňuje chatovacího klienta o podpůrnou infrastrukturu, kterou agent potřebuje ke zvládání dlouhých, vícekrokových úloh — režimy plánování a provádění, seznam úkolů, podle kterého lze plánovat, zhušťování kontextu, souborovou paměť, přístup k souborům a schvalování nástrojů s volbou „už se znovu neptat“. Místo toho, abyste tyto části sestavovali sami, vytvoříte agenta Harness a získáte je hotové.
Vytvořte harness agenta z libovolného IChatClient pomocí rozšiřující metody AsHarnessAgent. Protože harness interaktivně zpracovává úlohy v mnoha krocích, obvykle jej řídíte z konverzační smyčky: udržujte AgentSession, aby se stav harnessu (plán, seznam úkolů a historie) zachoval mezi jednotlivými koly, čtěte další pokyn uživatele a průběžně streamujte výstup agenta tak, jak je generován.
using System;
using Microsoft.Agents.AI;
using Microsoft.Extensions.AI;
// chatClient is any IChatClient implementation (Foundry, Azure OpenAI, OpenAI, Anthropic, ...).
AIAgent agent = chatClient.AsHarnessAgent();
// A session carries the harness state (plan, todos, history) across turns.
AgentSession session = await agent.CreateSessionAsync();
Console.WriteLine("Harness agent ready. Type 'exit' to quit.");
while (true)
{
Console.Write("> ");
string? input = Console.ReadLine();
if (string.IsNullOrWhiteSpace(input) || input.Equals("exit", StringComparison.OrdinalIgnoreCase))
{
break;
}
// Stream this turn's output as the harness plans and works through the request.
await foreach (var update in agent.RunStreamingAsync(input, session))
{
Console.Write(update);
}
Console.WriteLine();
}
Nástroj za vás zajišťuje plánování, sledování úkolů a uchovávání historie v průběhu celé konverzace. Plnohodnotnou konzoli – s výzvami ke schválení nástrojů, vykreslováním seznamu úkolů a režimů a příkazy se lomítkem – najdete v ukázce terminálového rozhraní.
Tip
Úplné spustitelné aplikace najdete v ukázkách testovacího rozhraní .NET.
Vytvořte agenta harness pomocí továrny create_harness_agent. Protože harness interaktivně zpracovává úlohy v mnoha krocích, obvykle jej řídíte pomocí konverzační smyčky: udržujte relaci, aby stav harnessu (plán, seznam úkolů a historie) přetrvával mezi jednotlivými výměnami, čtěte další pokyn uživatele a průběžně streamujte výstup agenta tak, jak je generován.
from agent_framework import create_harness_agent
from agent_framework.openai import OpenAIChatClient
agent = create_harness_agent(
OpenAIChatClient(model="gpt-4o"),
)
# A session carries the harness state (plan, todos, history) across turns.
session = agent.create_session()
print("Harness agent ready. Type 'exit' to quit.")
while True:
user_input = input("> ")
if user_input.strip().lower() in {"exit", "quit"}:
break
# Stream this turn's output as the harness plans and works through the request.
async for chunk in agent.run(user_input, session=session, stream=True):
if chunk.text:
print(chunk.text, end="", flush=True)
print()
Nástroj za vás zajišťuje plánování, sledování úkolů a uchovávání historie v průběhu celé konverzace. Plnohodnotnou konzoli – s výzvami ke schválení nástrojů, vykreslováním seznamu úkolů a režimů a příkazy se lomítkem – najdete v ukázce terminálového rozhraní.
Tip
Podívejte se na ukázky harnessu v Pythonu s úplnými spustitelnými aplikacemi.
Note
Podpora jazyka Go pro agentní harnessy bude brzy k dispozici. Nejnovější stav najdete v úložišti Agent Framework Go .
Další kroky
Jděte hlouběji:
- Svazky agentů – komprimace, smyčky, prostředí a uživatelské prostředí ukázkového terminálu
- Dovednosti agenta – postupně načítá dovednosti ze systému souborů