Chatbotanswers from memory
→
RAG assistantanswers from your docs
→
WorkflowLLM steps in fixed code paths
→
Single agentchooses tools & steps
→
Multi-agent systemagents collaborate
🧠 Model (brain)
Reasoning and decision-making.
🛠 Tools (hands)
APIs, search, code execution, databases, other agents.
💾 Memory
Conversation state, long-term knowledge, past experiences.
🗺 Planning
Break goals into steps, reflect, re-plan.
🛡 Guardrails
Permissions, limits, approvals, monitoring.
.NET 10 How to implement it
| Building block | Library / API | Package |
| Model (brain) | IChatClient | Microsoft.Extensions.AI |
| Agent + loop | AIAgent / ChatClientAgent (chatClient.AsAIAgent(...)), AgentSession | Microsoft.Agents.AI (Agent Framework, GA since April 2026) |
| Tools (hands) | AIFunctionFactory.Create, MCP tools | Microsoft.Extensions.AI, ModelContextProtocol |
| Memory | Sessions, chat reducers, vector stores | Microsoft.Agents.AI, Microsoft.Extensions.VectorData.Abstractions |
| Planning / multi-step | Graph workflows and orchestrations | Microsoft.Agents.AI.Workflows |
| Hosted agents | Azure AI Foundry Agent Service | Azure.AI.Projects, Azure.AI.Projects.Agents |
AIAgent agent = chatClient.AsAIAgent(
name: "CardAssistant",
instructions: "You help customers with card issues. Ask before doing anything risky.",
tools: [AIFunctionFactory.Create(GetCardStatus), AIFunctionFactory.Create(BlockCard)]);
AgentSession session = await agent.CreateSessionAsync();
Console.WriteLine(await agent.RunAsync("I lost my card in Bali", session));
Agent Framework is the successor to Semantic Kernel agents and AutoGen. Semantic Kernel still works, but start new agent work on Agent Framework.
Chatbot vs Agent in one line 🤖
A chatbot tells you how to reset your card PIN.
An agent checks your identity, calls the card API, resets the PIN, confirms by SMS, and asks for approval before anything risky.
Agents = LLM + tools + memory + a loop. With great autonomy comes great need for guardrails.
#AgenticAI #GenAI #AIAgents