Building Agentic AI with Control-Plane Architecture
Learn to design an agentic AI using a control-plane architecture for modular and scalable workflows.
Developing an Advanced Agentic AI
In this tutorial, we build an advanced Agentic AI using the control-plane design pattern. This involves treating the control plane as the central orchestrator that coordinates tools, manages safety rules, and structures the reasoning loop.
Implementing a Retrieval System
We set up a miniature retrieval system, define modular tools, and integrate an agentic reasoning layer that dynamically plans and executes actions. The system behaves like a disciplined, tool-aware AI capable of retrieving knowledge, assessing understanding, updating learner profiles, and logging all interactions.
import subprocess
import sys
def install_deps():
deps = ['anthropic', 'numpy', 'scikit-learn']
for dep in deps:
subprocess.check_call([sys.executable, '-m', 'pip', 'install', '-q', dep])
try:
import anthropic
except ImportError:
install_deps()
import anthropic
import json
import numpy as np
from sklearn.metrics.pairwise import cosine_similarity
from dataclasses import dataclass, asdict
from typing import List, Dict, Any, Optional
from datetime import datetime
@dataclass
class Document:
id: str
content: str
metadata: Dict[str, Any]
embedding: Optional[np.ndarray] = None
class SimpleRAGRetriever:
def __init__(self):
self.documents = self._init_knowledge_base()
def _init_knowledge_base(self) -> List[Document]:
docs = [...] # Complete as per original content
return docs
def retrieve(self, query: str, top_k: int = 2) -> List[Document]:
query_embedding = np.random.rand(128)
scores = [...] # Complete as per original content
return [self.documents[i] for i in top_indices]Building the Tool Registry
Next, we build the tool registry that our agent uses while interacting with the system, defining tools such as knowledge search, assessments, profile updates, and logging.
class ToolRegistry:
def __init__(self, retriever: SimpleRAGRetriever):
self.retriever = retriever
self.interaction_log = []
self.user_state = {...} # Complete as per original contentOrchestrating with Control Plane
We implement the control plane that orchestrates tool execution, checks safety rules, and manages permissions, ensuring predictable and safe agentic behavior.
class ControlPlane:
def __init__(self, tool_registry: ToolRegistry):
self.tools = tool_registry
self.safety_rules = {...} # Complete as per original contentCreating the Tutor Agent
Finally, we implement the TutorAgent, which synthesizes responses by coordinating retrieval, assessment, and logging.
class TutorAgent:
def __init__(self, control_plane: ControlPlane, api_key: str):
self.control_plane = control_plane
self.client = anthropic.Anthropic(api_key=api_key)
self.conversation_history = []Running the Demo
We run a complete demo initializing all components and processing sample student queries. As we finish, we get a clear picture of how the entire architecture works together in a realistic teaching loop.
Key Takeaways
This guide provides insights on how the control-plane pattern simplifies orchestration, strengthens safety, and creates a clean separation between reasoning and tool execution. We observe how various components of the system work together to deliver an intelligent AI tutor that responds effectively to student queries.
Сменить язык
Читать эту статью на русском