<НА ГЛАВНУЮ

Создание агентного ИИ с помощью архитектуры контрольного модуля

Научитесь разрабатывать агентный ИИ с использованием архитектуры контрольного модуля для модульных и масштабируемых рабочих процессов.

Разработка продвинутого агентного ИИ

В этом руководстве мы создаем продвинутый агентный ИИ с использованием шаблона проектирования контрольного модуля. Это предполагает использование контрольного модуля в качестве центрального координатора, который управляет инструментами, безопасностью и структурирует логическую цепочку.

Реализация системы поиска

Мы настраиваем миниатюрную систему поиска, определяем модульные инструменты и интегрируем слой агентной логики, который динамически планирует и выполняет действия. Система ведет себя как дисциплинированный, осведомленный о средстве ИИ, способный извлекать знания, оценивать понимание, обновлять профили учащихся и фиксировать все взаимодействия.

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

Switch to English