<НА ГЛАВНУЮ

Создание самоадаптирующегося целенаправленного AI-агента с помощью Google Gemini и фреймворка SAGE: полный гайд по коду

В этом руководстве показано, как создать самоадаптирующегося целенаправленного AI-агента с использованием Google Gemini и фреймворка SAGE, с акцентом на разбиение задач, выполнение и циклы обучения.

Обзор фреймворка SAGE

В этом руководстве рассматривается создание продвинутого AI-агента на основе фреймворка SAGE (Self-Adaptive Goal-oriented Execution), использующего API Google Gemini. Фреймворк объединяет четыре ключевых компонента: самооценку, адаптивное планирование, целенаправленное выполнение и интеграцию опыта. Это позволяет агенту разбивать сложные цели на управляемые задачи, систематично их выполнять и учиться на результатах для улучшения работы.

Основные компоненты и структура кода

Агент реализован на Python с использованием библиотеки google.generativeai для взаимодействия с моделью Gemini. Управление задачами осуществляется через класс данных Task с полями id, описание, приоритет, статус, зависимости и результат. Enum TaskStatus отслеживает состояния задач: ожидает, в работе, выполнена, неудача.

import google.generativeai as genai
import json
import time
from typing import Dict, List, Any, Optional
from dataclasses import dataclass, asdict
from enum import Enum
 
class TaskStatus(Enum):
   PENDING = "pending"
   IN_PROGRESS = "in_progress"
   COMPLETED = "completed"
   FAILED = "failed"
 
@dataclass
class Task:
   id: str
   description: str
   priority: int
   status: TaskStatus = TaskStatus.PENDING
   dependencies: List[str] = None
   result: Optional[str] = None
  
   def __post_init__(self):
       if self.dependencies is None:
           self.dependencies = []

Класс SAGEAgent реализует логику агента. Он инициализируется с ключом API Gemini и моделью, хранит память и задачи, управляет контекстом и итерациями.

Самооценка

Агент оценивает текущий прогресс, ресурсы, пробелы, риски и рекомендации, генерируя JSON-ответ от модели Gemini на основе цели и контекста.

Адаптивное планирование

На основании самооценки агент динамически создаёт 3-4 выполнимые задачи с приоритетами и зависимостями, что обеспечивает гибкое и контекстно-зависимое разбиение задач.

Целенаправленное выполнение

Каждая задача выполняется поэтапно с запросом в Gemini на разбиение действий, последовательное выполнение, проверку результатов и формирование детального вывода.

Интеграция опыта

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

Полный цикл SAGE

Агент проводит несколько итераций цикла SAGE — оценка, планирование, выполнение и обучение — пока цель не будет достигнута или не исчерпаны максимальные итерации.

Пример использования

if __name__ == "__main__":
   API_KEY = "Введите ваш API ключ"
   
   try:
       agent = SAGEAgent(API_KEY, model_name="gemini-1.5-flash")
      
       goal = "Исследовать и создать подробное руководство по устойчивым практикам городского садоводства"
      
       results = agent.execute_sage_cycle(goal, max_iterations=2)
      
       print("\n" + "="*50)
       print(" РЕЗЮМЕ ВЫПОЛНЕНИЯ SAGE")
       print("="*50)
       print(f"Цель: {results['goal']}")
       print(f"Статус: {results['final_status']}")
       print(f"Итераций: {len(results['iterations'])}")
      
       for i, iteration in enumerate(results['iterations'], 1):
           print(f"\nИтерация {i}:")
           print(f"  Оценка прогресса: {iteration['assessment'].get('progress_score', 0)}/100")
           print(f"  Создано задач: {iteration['tasks_generated']}")
           print(f"  Выполнено задач: {iteration['tasks_completed']}")
      
       print("\n Записей памяти агента:", len(agent.memory))
       print(" Всего обработано задач:", len(agent.tasks))
      
   except Exception as e:
       print(f"Демонстрация требует корректный API ключ Gemini. Ошибка: {e}")
       print("Получите бесплатный API ключ на: https://makersuite.google.com/app/apikey")

Выводы

Модульная архитектура позволяет создать самообучающегося AI-агента с возможностью сложного принятия решений и адаптивного управления задачами. Фреймворк легко расширяется для мультиагентных систем или специализированных областей за счёт возможностей генеративного AI Google Gemini.

Для полного кода, уроков и дополнительных материалов посетите GitHub и сообщества, указанные в оригинальной статье.

🇬🇧

Switch Language

Read this article in English

Switch to English