Создание агентного ИИ с помощью архитектуры контрольного модуля
Научитесь разрабатывать агентный ИИ с использованием архитектуры контрольного модуля для модульных и масштабируемых рабочих процессов.
Разработка продвинутого агентного ИИ
В этом руководстве мы создаем продвинутый агентный ИИ с использованием шаблона проектирования контрольного модуля. Это предполагает использование контрольного модуля в качестве центрального координатора, который управляет инструментами, безопасностью и структурирует логическую цепочку.
Реализация системы поиска
Мы настраиваем миниатюрную систему поиска, определяем модульные инструменты и интегрируем слой агентной логики, который динамически планирует и выполняет действия. Система ведет себя как дисциплинированный, осведомленный о средстве ИИ, способный извлекать знания, оценивать понимание, обновлять профили учащихся и фиксировать все взаимодействия.
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 = [...] # Дополнив по оригинальному содержимому
return docs
def retrieve(self, query: str, top_k: int = 2) -> List[Document]:
query_embedding = np.random.rand(128)
scores = [...] # Дополнив по оригинальному содержимому
return [self.documents[i] for i in top_indices]Создание реестра инструментов
Далее мы создаем реестр инструментов, который использует наш агент во взаимодействиях с системой, определяя такие инструменты, как поиск знаний, оценка, обновление профиля и логирование.
class ToolRegistry:
def __init__(self, retriever: SimpleRAGRetriever):
self.retriever = retriever
self.interaction_log = []
self.user_state = {...} # Дополнив по оригинальному содержимомуОркестровка с контрольным модулем
Мы реализуем контрольный модуль, который оркестрирует выполнение инструментов, проверяет правила безопасности и управляет разрешениями, обеспечивая предсказуемое и безопасное поведение.
class ControlPlane:
def __init__(self, tool_registry: ToolRegistry):
self.tools = tool_registry
self.safety_rules = {...} # Дополнив по оригинальному содержимомуСоздание учебного агента
Наконец, мы создаем TutorAgent, который синтезирует ответы, координируя поиск, оценку и логирование.
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 = []Запуск демо-версии
Мы запускаем полную демонстрацию, инициализируя все компоненты и обрабатывая образцы запросов студентов. Мы наблюдаем, как агент проходит через поиск и логирование, в то время как контрольный модуль обеспечивает соблюдение правил и отслеживание истории выполнения.
Основные выводы
Это руководство дает представление о том, как шаблон контрольного модуля упрощает оркестрацию, усиливает безопасность и создает четкое разделение между рассуждением и выполнением инструментов. Мы видим, как различные компоненты системы работают вместе, чтобы обеспечить интеллектуального ИИ-наставника, который эффективно отвечает на запросы студентов.
Switch Language
Read this article in English