专栏名称: 高可用架构
高可用架构公众号。
目录
相关文章推荐
51好读  ›  专栏  ›  高可用架构

A2A(Agent2Agent) 简介

高可用架构  · 公众号  · 架构  · 2025-04-18 11:57

正文

请到「今天看啥」查看全文


指的是任务发起者, Server Agent 指的是任务的执行者。

Client Server 之间的通信,可以理解为就是一个个简单的请求和结果的响应,只不过这个请求是一个个的任务。一个 Agent 既可以是 Client 也可以是 Server

2.1.2 核心概念

这里主要介绍一下, Client Agent Server Agent 交互的过程中,主要涉及到的一些Entity: AgentCard Task Artifact Message Part

2.1.2.1 AgentCard

AgentCard Server Agent 的名片,它主要描述了 Server Agent 的能力、认证机制等信息。 Client Agent 通过获取不同 Server Agent AgentCard ,了解不同 Server Agent 的能力,来决断具体的任务执行应该调用哪个 Server Agent
AgentCard 内容示例:

interface AgentCard {  name: string;  description: string;  url: string;  provider?: {    organization: string;    url: string;  };  version: string;  documentationUrl?: string;  capabilities: {    streaming?: boolean;     pushNotifications?: boolean;    stateTransitionHistory?: boolean;  };
  authentication: {    schemes: string[];     credentials?: string;  };  defaultInputModes: string[];  defaultOutputModes: string[];  skills: {    id: string;     name: string;    description: string;    tags: string[];    examples?: string[];     inputModes?: string[];    outputModes?: string[];  }[];}

2.1.2.2 Task

Task 是一个具有状态的实体,由 Client Agent 创建,其状态由 Server Agent 维护。一个 Task 用于达到特定的目标或者结果。 Agent Client Server Client Task 中交换 Mesaage Server Agent 生成的结果叫做 Artifact

除此之外,每个 Task 有一个唯一的 sessionId ,多个 Task 可以使用一个 sessionId ,表明多个 Task 属于同一个会话的一部分。
Task 示例:

interface Task {  idstring;  sessionIdstring;  statusTaskStatus;  history?: Message[];  artifacts?: Artifact[];   metadata?: Record<stringany>; }
interface TaskStatus {  stateTaskState;  message?: Message;  timestamp?: string}
interface TaskStatusUpdateEvent {  idstring;  statusTaskStatus;  finalboolean//indicates the end of the event stream  metadata?: Record<stringany>;}
interface TaskArtifactUpdateEvent {  idstring;  artifactArtifact;  metadata?: Record<stringany>;}
interface TaskSendParams {  idstring;  sessionId?: string  messageMessage;  historyLength?: number  pushNotification?: PushNotificationConfig;  metadata?: Record<stringany>; // extension metadata}type TaskState =  | "submitted"  | "working"  | "input-required"  | "completed"  | "canceled"  | "failed"  | "unknown";

2.1.2.3 Artifact

Artifacts







请到「今天看啥」查看全文