Как стать автором
Обновить
724.72
OTUS
Цифровые навыки от ведущих экспертов

Agents 101: Как создать своего первого ИИ-агента за 30 минут

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров13K
Автор оригинала: Anmol Baranwal

Популярность ИИ-агентов продолжает расти.

Создание собственного агента может быть сложным, ведь для этого необходимо изучить множество концепций, фреймворков и практик. Хорошая новость в том, что есть простой способ добавления агентов в приложение, и в этой статье я покажу, как это сделать. Давайте начнём. 

Содержание
  1. Введение: что такое ИИ-агенты.

  2. Пошаговое руководство по созданию агента с использованием Copilotkit и LangGraph.

  3. Реальные примеры с исходным кодом.

Примечание: Copilotkit (фреймворк для создания ИИ-помощников) недавно запустил CoAgents в партнёрстве с LangChain. Его мы и будем использовать.

1. Что такое ИИ-агенты?

ИИ-агенты — это очень умные помощники. Вы просто говорите им, что вам нужно, а они сами разбираются, как это сделать.

LLM (языковая модель) выступает в роли «мозга» системы. Когда искусственному интеллекту необходимо взаимодействовать с внешним миром, получать данные или выполнять определённые задачи, он может использовать инструменты — внешние ресурсы или API.

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

Есть два основных типа ИИ-агентов:

  • Реактивные: реагируют на непосредственные входные данные из окружающей среды.

  • Проактивные: планируют для достижения долгосрочных целей.

ai agent
Авторство принадлежит Abhishek Reddy (Medium)

Основные компоненты ИИ-агента

В своей основе ИИ-агент состоит из следующих взаимосвязанных компонентов, которые позволяют ему воспринимать окружающую среду, анализировать, действовать и обучаться:

  • Восприятие (Perception) — сбор и интерпретация данных из окружающей среды.

  • Анализ (Reasoning) — анализ информации для принятия решений.

  • Действие (Action) — выполнение задач на основе принятых решений.

  • Обучение (Learning) — адаптация и улучшение производительности на основе прошлого опыта, при помощи алгоритмов машинного обучения.

  • Интерфейс взаимодействия (Communication Interface) — взаимодействие с другими агентами или системами через NLP (обработку естественного языка) и протоколы.

  • Память (Memory) — хранение прошлых данных и знаний для будущего использования.

  • Профилирование (Profiling) — процесс сбора агентом данных из окружающей среды.

Формулировки могут различаться в зависимости от источника, но суть остаётся неизменной.

ai agent in larger environments
ИИ-агенты в сложной среде

Чем не являются ИИ-агенты

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

  • Они не «думают» как люди, а лишь следуют шаблонам.

  • Они не всегда точны — могут «галлюцинировать» (генерировать неправдоподобные или неверные данные) и допускать ошибки.

Кроме того, они не всегда нужны. Если вы уже знаете все возможные действия пользователя, просто запрограммируйте их. Например, пользователь нажимает кнопку для бронирования номера в отеле → покажите доступные даты → подтвердите бронирование. В этом случае искусственный интеллект вообще не нужен.

Простое правило: если задача является рутинной, основана на чётких правилах или требует 100% точности, ИИ-агенты — не лучший выбор.

Теперь перейдём непосредственно к созданию.

2. Пошаговое руководство по созданию ИИ-агента с использованием Copilotkit и LangGraph

CopilotKit — это фреймворк для интеграции ИИ-копилотов в продукты. Он предлагает React-компоненты для ИИ-чата, генеративный UI и автодополнения, а также среду выполнения, которая улучшает ИИ-агентов за счёт контекста, инструментов и навыков, основанных на поведении пользователя. Недавно они анонсировали CoAgents (находится на стадии бета-тестирования).

С помощью LangGraph SDK + CoAgents (Copilotkit) разработчики могут быстро создавать приложения такого типа для любой сферы. Необходимо создать LangGraph-агента, адаптированного под ваш рабочий процесс, а затем использовать CoAgents для интеграции пользовательских действий и генеративного UI.

Кроме того, всё это работает в рамках чёткой структуры для управления агентами внутри вашего приложения (благодаря LangGraph). Вы получаете всё необходимое, включая:

  • Общее состояние данных (Агент ↔ Приложение)

  • Агентно-генеративный интерфейс

  • «Человек в процессе» (Human-in-the-Loop)

  • Действия в реальном времени на фронтенде

  • Управление агентом (чекпоинты LangGraph)

Вы можете узнать больше на странице copilotkit.ai/coagents, где также есть наглядные диаграммы, которые помогут вам лучше понять процесс.

coagents with langgraph

Для быстрого ознакомления с темой посмотрите это 2-минутное видео от Atai (сооснователя Copilotkit)

Если хотите изучить всё самостоятельно, следуйте официальному руководству. Но если не хотите, я подробно объясню все шаги.

Если у вас уже есть LangGraph-агент, вы можете сразу перейти к шагу 3. Здесь мы начнём с клонирования стартового репозитория, чтобы быстро приступить к работе.

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

concepts

Шаг 1: Клонируем стартовый репозиторий

Так как у нас пока нет агента, начнём с клонирования стартового репозитория coagents из GitHub CopilotKit.

git clone https://github.com/CopilotKit/CopilotKit
cd CopilotKit/examples/coagents-starter/agent-py
copilotkit repo clone

Я создал новую чистую директорию, чтобы было проще разобраться. Вы можете следовать тем же шагам с клонированным репозиторием.

Вот как будет выглядеть наша структура папок проекта: директория agent будет содержать LangGraph-агента, а директория ui будет содержать фронтенд-приложение.

directory structure

Если у вас нет фронтенда, вы можете создать новое Next.js-приложение с TypeScript, а затем установить пакет Copilotkit для React. В клонированном репозитории это уже есть, поэтому вам нужно только установить зависимости с помощью команды pnpm i в директории ui.

installing dependencies
installing dependencies
// Создаём Next.js-приложение с TypeScript

npx create-next-app@latest ui --typescript

// Устанавливаем пакеты Copilotkit

npm install @copilotkit/react-ui @copilotkit/react-core

Пакеты CopilotKit позволяют агенту взаимодействовать со значениями состояния React и принимать решения внутри приложения.

Запустите фронтенд с помощью команды pnpm run dev

Если вы хотите использовать LangGraph JS, используйте директорию agent-js. В рамках этого руководства я буду использовать Python-версию (agent-py).

structure within agent directory

Внутри директории agent-py установите зависимости проекта с помощью Poetry.

cd agent/agent-py
poetry install
poetry install
установка poetry

После установки зависимостей запустите демо с помощью команды: poetry run demo

poetry run demo
poetry run demo

Шаг 2: Добавьте необходимые API-ключи

Создайте файл .env в директории agent-py. Затем добавьте OpenAI API-ключ и LangSmith API-ключ в файл .env. Я приложил ссылки на документацию, чтобы было проще следовать инструкциям.

Формат файла будет следующим:

OPENAI_API_KEY=your_openai_api_key
LANGSMITH_API_KEY=your_langsmith_api_key
langsmith api key
LangSmith API-ключ
openai api key
OpenAI API-ключ

Шаг 3: Запуск LangGraph-агента

Есть несколько способов запуска агента, например, Self-hosted (FastAPI) — поддерживается только для Python-агентов, или развёртывание на LangGraph Platform — следуйте официальному руководству для продакшена.

В рамках этой статьи мы будем использовать локальную разработку, где мы используем LangGraph CLI для запуска сервера разработки и сессии LangGraph Studio.

Для этого метода понадобится аккаунт LangSmith. Убедитесь, что Docker установлен в системе, а затем установите CLI с помощью команды: pip install langgraph-cli

langgraph version

Перед запуском основной команды убедитесь, что установлен CopilotKit. Это можно проверить с помощью команды:

python -m pip show copilotkit
check if copilotkit is installed

Если он не установлен, выполните:

python -m pip install copilotkit

Затем просто запустите следующую команду для локального запуска:

Эта команда запускает сервер разработки LangGraph и использует файл langgraph.json для загрузки настроек, таких как маршруты, узлы и поведение агента.

local deployment

Если всё работает успешно, вы получите локальную LangGraph Studio. Она помогает визуализировать шаги: например, как узел steps_node выполняет поиск результатов, суммирует их и извлекает ключевые моменты.

Вы можете запускать и тестировать различные потоки в интерактивном режиме, а также отлаживать проблемы с пошаговым выполнением.

local LangGraph studio
Локальная LangGraph Studio
api docs
API-документация

Шаг 4: Подключение LangGraph-агента к CopilotKit

Теперь вам нужно подключить LangGraph-агент к CopilotKit, используя либо локально размещаемую облачную среду выполнения, либо Copilot Cloud (рекомендуется), который мы будем использовать здесь.

С Copilot Cloud нужно подключить удалённый эндпоинт к LangGraph-агенту. Если вас интересует самостоятельный хостинг (FastAPI) или платформа LangGraph, читайте документацию.

Мы настроим это локально с использованием LangGraph Studio. При локальном запуске LangGraph-агента вам нужно открыть туннель, чтобы Copilot Cloud мог к нему подключиться. Используйте следующую команду:

npx copilotkit@latest dev --port 8000

Вам будет предложено установить пакет copilotkit, а также пройти аутентификацию в Copilot Cloud, если вы ещё этого не сделали.

copilotkit cloud
Copilot Cloud

Как видите, локальный туннель активен и подключён к Copilot Cloud.

local tunnel
local tunnel

Вы также получите подтверждение на CopilotKit Cloud Dashboard.

copilotkit cloud dashboard
copilotkit cloud dashboard

Шаг 5: Настройка провайдера CopilotKit

Компонент <CopilotKit> должен охватывать те части вашего приложения, которые взаимодействуют с Copilot. В большинстве случаев лучше всего разместить его вокруг всего приложения, например, в файле layout.tsx.

Вы можете найти его в ui/app/layout.tsx. API-ключ вы получите в CopilotKit Cloud, доступном по адресу cloud.copilotkit.ai.

import type { Metadata } from "next";

import { CopilotKit } from "@copilotkit/react-core";

import "@copilotkit/react-ui/styles.css";
import "./globals.css";

export const metadata: Metadata = {
  title: "CoAgents Starter",
  description: "CoAgents Starter",
};

export default function RootLayout({ children }: { children: any }) {
  return (
    <html lang="en">
      <body>
        {/* Используйте публичный API-ключ, который вы получили от Copilot Cloud  */}
        <CopilotKit
          agent="sample_agent" // зафиксируйте агента как sample_agent, так как у нас есть только один агент
          //  runtimeUrl="/api/copilotkit"
          showDevConsole={false}
          publicApiKey="<your-copilot-cloud-public-api-key>"
        >
          {children}
        </CopilotKit>
      </body>
    </html>
  );
}

Поскольку мы используем Copilot Cloud, нам не нужно указывать свойство runtimeUrl в компоненте CopilotKit и указать действительный API-ключ.

В этом примере мы используем только одного агента, но если вы хотите запустить несколько LangGraph-агентов, ознакомьтесь с официальным руководством по Multi-Agent.

Шаг 6: Настройка Copilot UI

Последний шаг — использование UI-компонентов CopilotKit для отображения чата с вашим агентом. В большинстве случаев это делается рядом с основными компонентами страницы, например, в файле page.tsx.

import "@copilotkit/react-ui/styles.css";
import { CopilotPopup } from "@copilotkit/react-ui";

export function YourApp() {
  return (
    <main>
      <h1>Your main content</h1>

      <CopilotPopup
        labels={{
            title: "Popup Assistant",
            initial: "Hi! I'm connected to an agent. How can I help?",
        }}
      />
    </main>
  );
}

В клонированном репозитории используется CopilotSidebar с предустановленными стилями. Любой из вариантов подходит, я использовал этот, чтобы было проще понять.

Если вам нужны другие интерфейсные компоненты для чата (например, CopilotPopup, CopilotChat), ознакомьтесь с руководством по Agentic Chat UI.

Всё готово. Поздравляем! 

Вы успешно интегрировали LangGraph-агента в приложение. Для начала попробуйте задать агенту несколько вопросов.

В следующем разделе мы рассмотрим несколько примеров приложений, которые можно создать с помощью LangGraph и CopilotKit.

3. Реальные примеры с исходным кодом

Вы можете создать множество интересных ИИ-агентов, так что давайте рассмотрим несколько примеров. Все они включают исходный код (репозитории на GitHub).

  1. ИИ-агент для планирования путешествий

ai travel app demo

Это руководство поможет создать приложение для планирования путешествий с использованием CopilotKit, LangGraph и Google Maps API. Агента можно попросить: «Запланируй поездку в Англию», и он предоставит все необходимые детали.

gitHub-репозиторий ··· документация ··· демо-версия

2. Исследовательский холст (Research Canvas)

research canvas
research canvas

Вы можете создать виртуального помощника для исследований, который имеет общее состояние с пользовательским интерфейсом. Он использует LangGraph и CoAgents (CopilotKit).

gitHub-репозиторий ··· демо-версия

3. Аналог Perplexity

perplexity clone
perplexity clone

Ознакомьтесь с этим обучающим руководством, чтобы создать приложение в стиле Perplexity с использованием LangGraph, Tavily и CopilotKit.

gitHub-репозиторий ··· демо-версия

Другие примеры ищите в официальном репозитории CopilotKit.

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


В завершение напоминаем об открытых уроках, которые бесплатно пройдут в рамках онлайн-курсов Otus в ближайшее время:

  • 27 февраля. «Знакомство с веб-разработкой на FastAPI». Подробнее

  • 3 марта. «Основы A/B тестирования для выбора ML модели». Подробнее

Список всех уроков по разработке, тестированию и искусственному интеллекту смотрите в календаре.

Теги:
Хабы:
+18
Комментарии1

Публикации

Информация

Сайт
otus.ru
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия
Представитель
OTUS