Semantic Kernel Agent with A2A Protocol
Introduction
This sample demonstrates how to implement a travel agent built on Semantic Kernel and exposed through the A2A protocol. It showcases: Multi-turn interactions: The agent may request clarifications Streaming responses: Returns incremental statuses Conversational memory: Maintains context (by leveraging Semantic Kernel’s ChatHistory) Push notifications: Uses webhook-based notifications for asynchronous updates External plugins (SK Agents & Frankfurter API): Illustrates how an Semantic Kernel Agents are used as plugins, along with APIs, that can be called to generate travel plans and fetch exchange rates
Features
-
Multi-turn Interactions
The agent can request clarification from users to gather missing information before completing a task. -
Streaming via Incremental State Updates
Instead of one-time responses, the agent provides progressive feedback usingTaskStepUpdates
. -
Conversation Memory
Uses Semantic Kernel’sChatHistory
to track user-agent conversations and maintain context. -
Push Notifications
Supports out-of-band notifications via webhook to inform the A2A server of updates asynchronously. -
Plugin Integration
Extends capabilities using additional agents and APIs (e.g., exchange rates, activity planning).