Compartilhar via


Agentes A2A

O Microsoft Agent Framework dá suporte ao uso de um agente remoto 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

Criando um agente A2A usando o local conhecido do cartão do agente

Primeiro, vamos examinar um cenário em que usamos o local bem conhecido do cartão do agente. Passamos o URI raiz do host do agente A2A para o A2ACardResolver construtor, e o resolvedor vai procurar pelo cartão 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 agente A2A remoto usando o GetAIAgentAsync método auxiliar.

AIAgent agent = await agentCardResolver.GetAIAgentAsync();

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

Também podemos acessar diretamente a URL do agente se já a conhecemos. Isso pode ser útil para sistemas fortemente acoplados, agentes privados ou fins de desenvolvimento, em que os clientes são configurados diretamente com as informações do Cartão do Agente e a URL do agente."

Nesse caso, criamos um A2AClient diretamente com a URL do agente.

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

E, em seguida, podemos criar uma instância do AIAgent usando o método GetAIAgent.

AIAgent agent = a2aClient.GetAIAgent();

Usando o agente

O agente é um padrão AIAgent e dá suporte a todas as operações de agente padrão.

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

Introdução

Adicione os pacotes do Python necessários ao seu projeto.

pip install agent-framework-a2a --pre

Criando um agente A2A

Primeiro, vamos examinar um cenário em que usamos o local conhecido do cartão do agente. Passamos a URL base do host do agente A2A para o A2ACardResolver construtor e o mecanismo de resolução 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 remoto do agente A2A.

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 identificação do 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 a URL

Também podemos acessar diretamente a URL do agente se já a conhecemos. Isso pode ser útil para sistemas fortemente acoplados, agentes privados ou para fins de desenvolvimento, em que os clientes são configurados diretamente com as informações do Cartão do Agente e a URL do agente.

Nesse caso, criamos 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 oferece suporte a todas as operações padrão de agentes.

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

Próximas etapas