6. lépés: Agent Harness

A keretrendszer olyan háttér-infrastruktúrával lát el egy chatklienst, amelyre az ügynöknek szüksége van a hosszú, több lépésből álló feladatok végrehajtásához — ilyenek a tervezési és végrehajtási módok, a tervezést támogató teendőlista, a kontextustömörítés, a fájlalapú memória, a fájlhozzáférés, valamint az eszközök „ne kérdezzen rá újra” jóváhagyása. Ahelyett, hogy saját maga készíti el ezeket a darabokat, létrehoz egy hámügynököt, és kihozza őket a dobozból.

Hozzon létre egy tesztkörnyezet-ügynököt bármely IChatClient elemből a AsHarnessAgent bővítőmetódussal. Mivel a harness a feladatokon több lépésen keresztül, interaktív módon dolgozik, általában egy beszélgetési ciklusból vezérled: tarts fenn egy AgentSession-t, hogy a harness állapota (terv, teendők és előzmények) megmaradjon a fordulók között, olvasd be a felhasználó következő utasítását, és folyamatosan közvetítsd az ügynök kimenetét, ahogy az elkészül.

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();
}

A keretrendszer kezeli a tervezést, a teendők nyomon követését és az előzmények megőrzését Ön helyett a teljes beszélgetés során. A teljes funkcionalitású konzolhoz — eszközjóváhagyási kérésekkel, teendő-/módmegjelenítéssel és perjellel kezdődő parancsokkal — lásd a mintaterminál felületét.

Tip

A teljes, futtatható alkalmazásokért lásd a .NET harness mintákat.

Hozzon létre egy tesztvezérlőt a(z) create_harness_agent gyár használatával. Mivel egy keretrendszer interaktívan, több lépésben hajt végre feladatokat, általában egy beszélgetési ciklusból vezérli: tartsa meg a munkamenetet, hogy a keretrendszer állapota (terv, teendők és előzmények) a fordulók között is fennmaradjon, olvassa be a felhasználó következő utasítását, és folyamatosan továbbítsa az ügynök kimenetét, ahogy az létrejö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()

A keretrendszer kezeli a tervezést, a teendők nyomon követését és az előzmények megőrzését Ön helyett a teljes beszélgetés során. A teljes funkcionalitású konzolhoz — eszközjóváhagyási kérésekkel, teendő-/módmegjelenítéssel és perjellel kezdődő parancsokkal — lásd a mintaterminál felületét.

Tip

A teljes, futtatható alkalmazásokért lásd a Python harness mintákat.

Megjegyzés:

Az ügynökkeretrendszerek Go-támogatása hamarosan érkezik. A legújabb állapotot az Agent Framework Go-adattárában tekinthet meg.

Következő lépések

Mélyedjen el: