Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Uma estrutura envolvente fornece a um cliente de chat a estrutura de apoio de que um agente precisa para executar tarefas longas, com várias etapas — modos de planeamento/execução, uma lista de tarefas com base na qual planear, compactação de contexto, memória de ficheiros, acesso a ficheiros e aprovação de ferramentas com a opção “não voltar a perguntar”. Em vez de montares essas peças tu próprio, crias um agente de arnês e tiras-as da caixa.
Crie um agente de harness a partir de qualquer IChatClient com o método de extensão AsHarnessAgent. Como um ambiente de execução processa tarefas de forma interativa ao longo de várias etapas, normalmente é controlado através de um ciclo de conversa: mantenha um AgentSession para que o estado do ambiente de execução (plano, itens pendentes e histórico) persista entre interações, leia a instrução seguinte do utilizador e transmita a saída do agente à medida que é gerada.
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();
}
O sistema gere o planeamento, o acompanhamento das tarefas pendentes e a persistência do histórico por si, ao longo de toda a conversa. Para uma consola com todas as funcionalidades — com pedidos de aprovação de ferramentas, apresentação do modo e da lista de tarefas, e comandos com barra — consulte a interface de terminal de exemplo.
Tip
Consulte os exemplos de aplicações de teste .NET para ver aplicações completas executáveis.
Crie um agente harness com a fábrica create_harness_agent. Como uma estrutura executa tarefas de forma interativa ao longo de várias etapas, é normalmente gerida através de um ciclo de conversação: mantém uma sessão para que o estado da estrutura (plano, itens pendentes e histórico) persista entre interações, lê a instrução seguinte do utilizador e transmite, em fluxo, a saída do agente à medida que esta é gerada.
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()
O sistema gere o planeamento, o acompanhamento das tarefas pendentes e a persistência do histórico por si, ao longo de toda a conversa. Para uma consola com todas as funcionalidades — com pedidos de aprovação de ferramentas, apresentação do modo e da lista de tarefas, e comandos com barra — consulte a interface de terminal de exemplo.
Tip
Veja os exemplos de harness em Python para aplicações totalmente executáveis.
Note
O suporte da Go para arnês de agente está a chegar em breve. Consulte o repositório Agent Framework Go para o estado mais recente.
Passos seguintes
Vai mais fundo:
- Ambientes de execução de agentes — compactação, ciclos, shell e a interface de utilizador do terminal de exemplo
- Competências de Agente — carregam progressivamente competências a partir do sistema de ficheiros