Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.
A teljes minta létrehoz egy Microsoft Foundry chat-ügyfelet, becsomagolja a(z) create_harness_agent elemmel, és két fordulóban újra felhasznál egy munkamenetet. A keretrendszer tervezést, to-do nyomon követést és tömörítést ad hozzá, miközben a minta letiltja a fájlmemória és a webes keresés használatát a fókusz megőrzése érdekében.
import asyncio
from agent_framework import create_harness_agent
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential
async def main() -> None:
agent = create_harness_agent(
client=FoundryChatClient(
project_endpoint="https://your-account.services.ai.azure.com/api/projects/your-project",
model="gpt-6-luna",
credential=AzureCliCredential(),
),
agent_instructions="Help users plan and complete multi-step tasks.",
disable_file_memory=True,
disable_web_search=True,
)
session = agent.create_session()
print(await agent.run("Plan a weekend trip to Seattle.", session=session))
print(await agent.run("Turn that plan into a checklist.", session=session))
if __name__ == "__main__":
asyncio.run(main())
A megosztott munkamenet mindkét hívásban megőrzi a tesztkörnyezet állapotát. Egy teljes funkcionalitású konzolhoz – eszközjóváhagyási promptokkal, to-do és módmegjelenítéssel, valamint perjeles parancsokkal – a minta terminál UX-ját tekintheti meg.
Tip
Tekintse meg a teljes első lépések mintát. További mintáké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:
- Ügynökkeretrendszerek — tömörítés, cikluskezelés, parancshéj és a mintaterminál UX
- Ügynök készségei — készségek fokozatos betöltése a fájlrendszerből