Partilhar via


Agentes A2A

O Microsoft Agent Framework oferece suporte ao uso de um agente remoto que é exposto por meio do protocolo A2A em seu aplicativo usando a mesma AIAgent abstração que qualquer outro agente.

Introdução

Adicione os pacotes NuGet necessários ao seu projeto.

dotnet add package Microsoft.Agents.AI.A2A --prerelease

Criar um agente A2A utilizando a localização conhecida do cartão do agente

Primeiro, vejamos um cenário em que usamos a conhecida localização do cartão de agente. Passamos o URI raiz do host do agente A2A para o A2ACardResolver construtor e o resolvedor procurará a placa do agente em https://your-a2a-agent-host/.well-known/agent-card.json.

Primeiro, crie um A2ACardResolver com o URI do host remoto do agente A2A.

using System;
using A2A;
using Microsoft.Agents.AI;
using Microsoft.Agents.AI.A2A;

A2ACardResolver agentCardResolver = new(new Uri("https://your-a2a-agent-host"));

Crie uma instância do AIAgent para o agente A2A remoto usando o GetAIAgentAsync método auxiliar.

AIAgent agent = await agentCardResolver.GetAIAgentAsync();

Criando um agente A2A usando o mecanismo Configuração Direta/Descoberta Privada

Também é possível indicar diretamente o URL do agente, se o conhecemos. Isso pode ser útil para sistemas fortemente acoplados, agentes privados ou fins de desenvolvimento, onde os clientes são configurados diretamente com informações de cartão de agente e URL do agente."

Neste caso, construímos um A2AClient diretamente com a URL do agente.

A2AClient a2aClient = new(new Uri("https://your-a2a-agent-host/echo"));

E então podemos criar uma instância do AIAgent usando o GetAIAgent método.

AIAgent agent = a2aClient.GetAIAgent();

Usando o agente

O agente é um AIAgent padrão e suporta todas as operações padrão de um agente.

Consulte os tutoriais de introdução ao agente para obter mais informações sobre como executar e interagir com agentes.

Introdução

Adicione os pacotes Python necessários ao seu projeto.

pip install agent-framework-a2a --pre

Criando um agente A2A

Para começar, vamos analisar um cenário em que utilizamos a localização conhecida do cartão de agente. Passámos o URL base do host do agente A2A para o A2ACardResolver construtor e o resolvedor irá procurar o cartão do agente em https://your-a2a-agent-host/.well-known/agent.json.

Primeiro, crie um A2ACardResolver com a URL do host do agente A2A remoto.

import httpx
from a2a.client import A2ACardResolver

# Create httpx client for HTTP communication
async with httpx.AsyncClient(timeout=60.0) as http_client:
    resolver = A2ACardResolver(httpx_client=http_client, base_url="https://your-a2a-agent-host")

Obtenha o cartão de agente e crie uma instância do A2AAgent para o agente A2A remoto.

from agent_framework.a2a import A2AAgent

# Get agent card from the well-known location
agent_card = await resolver.get_agent_card(relative_card_path="/.well-known/agent.json")

# Create A2A agent instance
agent = A2AAgent(
    name=agent_card.name,
    description=agent_card.description,
    agent_card=agent_card,
    url="https://your-a2a-agent-host"
)

Criando um agente A2A usando URL

Também é possível indicar diretamente o URL do agente, se o conhecemos. Isso pode ser útil para sistemas fortemente acoplados, agentes privados ou fins de desenvolvimento, onde os clientes são configurados diretamente com informações de cartão de agente e URL do agente.

Neste caso, construímos um A2AAgent diretamente com a URL do agente.

from agent_framework.a2a import A2AAgent

# Create A2A agent with direct URL configuration
agent = A2AAgent(
    name="My A2A Agent",
    description="A directly configured A2A agent",
    url="https://your-a2a-agent-host/echo"
)

Usando o agente

O agente A2A suporta todas as operações padrão de um agente.

Consulte os tutoriais de introdução ao agente para obter mais informações sobre como executar e interagir com agentes.

Próximos passos