Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Un framework englobe un client de chat avec l’infrastructure dont un agent a besoin pour mener à bien des tâches longues et en plusieurs étapes : modes de planification et d’exécution, liste de tâches servant de base à la planification, compression du contexte, mémoire des fichiers, accès aux fichiers et approbation des outils avec option « ne plus demander ». Au lieu d’assembler ces pièces vous-même, vous créez un agent de harnais et vous les faites sortir de la boîte.
Créez un agent de harnais à partir de tout IChatClient grâce à la méthode d’extension AsHarnessAgent. Étant donné qu’un harness fonctionne de manière interactive sur de nombreuses étapes, on le pilote généralement via une boucle de conversation : conservez une AgentSession afin que l’état du harness (plan, tâches à faire et historique) soit conservé d’un tour à l’autre, lisez l’instruction suivante de l’utilisateur et diffusez la sortie de l’agent au fil de sa production.
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();
}
Le harnais gère la planification, le suivi et la persistance de l’historique pour vous dans toute la conversation. Pour une console riche en fonctionnalités — avec des invites de confirmation pour les outils, l’affichage des tâches et des modes, ainsi que des commandes slash — consultez l’exemple d’interface de terminal.
Tip
Consultez les exemples de framework de test .NET pour accéder à des applications complètes exécutables.
Créez un agent Harness à l’aide de la fabrique create_harness_agent. Étant donné qu’un harnais fonctionne de manière interactive sur de nombreuses étapes, vous le dirigez généralement à partir d’une boucle de conversation : conservez une session afin que l’état du harnais (plan, todos et historique) persiste à travers les tours, lisez l’instruction suivante de l’utilisateur et diffusez en continu la sortie de l’agent au fur et à mesure de sa production.
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()
Le harnais gère la planification, le suivi et la persistance de l’historique pour vous dans toute la conversation. Pour une console riche en fonctionnalités — avec des invites de confirmation pour les outils, l’affichage des tâches et des modes, ainsi que des commandes slash — consultez l’exemple d’interface de terminal.
Tip
Consultez les exemples du framework d’exécution Python pour des applications complètes exécutables.
Note
La prise en charge des harnais de l’agent est bientôt disponible. Consultez le référentiel Agent Framework Go pour connaître l’état le plus récent.
Étapes suivantes
Aller plus loin :
- Harnesses d’agent — compactage, boucles, shell et l’exemple d’interface utilisateur du terminal
- Compétences de l’agent : charger progressivement des compétences à partir du système de fichiers