← НАЗАД К КУРСУ Этап 4 · Урок 4 из 5

Урок 4.4 — Платформы и OpenClaw

Ты уже умеешь собрать AI-бота с нуля: API, инструменты, память, база данных, сервер. Но в реальном мире никто не начинает с чистого листа каждый раз. Существуют готовые платформы и фреймворки, которые решают типовые задачи за тебя. В этом уроке — какие они бывают, когда их использовать и как устроен OpenClaw — open-source AI-ассистент, который мы упоминали с первого урока.


Зачем нужны фреймворки

Вспомни, что ты строила в этом курсе:

Урок 2.3 — вызов Claude API (один запрос → один ответ)
Урок 3.1 — агентный цикл (while True: подумай → сделай → проверь)
Урок 3.2 — инструменты (tools) для агента
Урок 3.3 — память (краткосрочная, долгосрочная, суммаризация)
Урок 4.1 — Telegram-бот (интерфейс пользователя)
Урок 4.2 — база данных (постоянное хранение)
Урок 4.3 — деплой на сервер (24/7)

Каждый раз ты решала одни и те же проблемы: как вызвать модель, как передать результат инструмента обратно, как хранить историю, как обрабатывать ошибки.

Фреймворк — это библиотека, которая решает эти типовые задачи за тебя. Ты не пишешь цикл while True вручную — фреймворк делает это внутри. Ты не придумываешь формат памяти — фреймворк предоставляет готовый.

Аналогия: можно построить дом из кирпичей по одному. А можно купить готовые стеновые панели и собрать за неделю. Фреймворк — это панели: стандартные блоки, которые покрывают 80% задач.


Карта фреймворков

Вот основные инструменты, которые существуют сейчас:

Что тебе нужно?
│
├── Простой бот (один запрос → один ответ)
│   → Просто API: anthropic, openai
│   → Фреймворк не нужен. 20 строк кода.
│
├── Агент с инструментами (поиск, файлы, код)
│   → Claude Agent SDK, LangChain
│   → Фреймворк берёт на себя цикл и вызов инструментов
│
├── Сложный workflow с ветвлениями
│   → LangGraph (граф шагов, контрольные точки)
│
├── Несколько агентов работают вместе
│   → CrewAI (команда с ролями)
│   → AutoGen (агенты обсуждают задачу между собой)
│
├── Работа с документами (PDF, таблицы, поиск по базе знаний)
│   → LlamaIndex (специализация на документах)
│
├── Корпоративная среда (C#, Java, безопасность)
│   → Semantic Kernel (Microsoft)
│
└── Личный AI-ассистент во всех мессенджерах
    → OpenClaw (локальный, open-source, 22 платформы)

Обзор основных фреймворков

LangChain — быстрый старт

Что делает: Универсальный фреймворк для построения приложений с LLM. Подключается к любой модели (Claude, GPT, Gemini) через единый интерфейс.

Главная идея: Стандартные блоки для типовых задач. Нужен агент с инструментами? Есть готовый класс. Нужна память? Есть готовый модуль.

# Пример LangChain — агент с инструментами
from langchain_anthropic import ChatAnthropic
from langchain.agents import create_tool_calling_agent

llm = ChatAnthropic(model="claude-sonnet-4-5")
agent = create_tool_calling_agent(llm, tools, prompt)

Когда использовать: Прототипы, стандартные задачи. Быстро получить работающего агента.

Минус: Скрывает, что происходит внутри. Когда что-то ломается — сложно понять, где именно.


LangGraph — контроль и надёжность

Что делает: Описывает работу агента как граф — схему из шагов (узлов) и переходов (рёбер).

Связь с LangChain: Сделан той же командой. LangChain — высокоуровневые ярлыки. LangGraph — полный контроль над каждым шагом. LangChain внутри использует LangGraph.

START → анализ_задачи → [простая? → выполнить] → [сложная? → разбить_на_части] → END

Когда использовать: Продакшн. Сложные ветвления ("если X — делай Y, если Z — делай W"). Нужны контрольные точки и автовосстановление при сбоях.

Ключевое: агент может остановиться, подождать одобрения человека, и продолжить (human-in-the-loop).


CrewAI — команда агентов

Что делает: Организует несколько агентов в команду (crew), где каждый имеет свою роль.

Главная идея: Ты описываешь задачу как работу команды:

Команда для написания статьи:
  👨‍🔬 Исследователь — ищет информацию в интернете
  ✍️  Писатель — пишет текст на основе исследования
  🔍 Редактор — проверяет факты и стиль

Каждый агент — специалист со своими инструментами. Они передают работу друг другу.

Когда использовать: Задачи, где реально помогает разделение труда: исследование + написание, код + тесты + ревью.


AutoGen (Microsoft) — агенты в диалоге

Что делает: Агенты решают задачу через разговор друг с другом. Один предлагает решение, другой критикует, третий улучшает.

Когда использовать: Исследовательские задачи, где качество улучшается через критику и итерации. Сложные рассуждения, где один агент может ошибиться, а второй заметит ошибку.


Semantic Kernel (Microsoft) — корпоративный мир

Что делает: SDK для интеграции AI в существующие корпоративные системы. Работает на C#, Python и Java.

Главная идея: Твой существующий код (функции, API, базы данных) оборачивается в "плагины", которые AI-модель может вызывать.

Когда использовать: Корпорации, где уже есть кодовая база на C# или Java. Нужна безопасность, аудит, совместимость с Microsoft 365.


LlamaIndex — работа с документами

Что делает: Специализируется на документах: читает PDF, таблицы, презентации (90+ форматов). Индексирует содержимое, позволяет AI искать по нему.

Когда использовать: Агент должен работать с большим количеством документов. Поиск по базе знаний (RAG — Retrieval-Augmented Generation). Анализ PDF-отчётов, таблиц.


Claude Agent SDK (Anthropic) — уже знакомый

Из урока 3.4. Главное отличие — это тот же движок, что внутри Claude Code. Не новый фреймворк, а проверенная в продакшне система.

10 встроенных инструментов, система разрешений, субагенты, хуки — всё из коробки.


Сравнительная таблица

Фреймворк Для чего Язык Главная сила
LangChain Быстрые прототипы Python Скорость старта
LangGraph Продакшн, сложные workflow Python Контроль и надёжность
CrewAI Команда агентов с ролями Python Разделение труда
AutoGen Агенты, обсуждающие задачу Python Критика и улучшение
Semantic Kernel Корпоративные системы C#, Python, Java Интеграция с существующим кодом
Claude Agent SDK Агенты на Claude Python, TypeScript Встроенные инструменты
LlamaIndex Документы и RAG Python, TypeScript Работа с PDF, таблицами
OpenClaw Личный AI-ассистент Node.js 22 мессенджера, локальный

OpenClaw: как устроен реальный AI-ассистент

OpenClaw мы упоминали с урока 3.1. Теперь разберём, как он устроен внутри — потому что в нём собраны все концепции, которые ты изучала.

Что такое OpenClaw

OpenClaw — это open-source AI-ассистент, который:

Архитектура: шлюз и агент

┌──────────────┐
│  WhatsApp    │──┐
├──────────────┤  │
│  Telegram    │──┤
├──────────────┤  │      ┌─────────────┐      ┌──────────────┐
│  Slack       │──┼────► │   Gateway    │────► │  AI-агент    │
├──────────────┤  │      │  (шлюз)     │      │              │
│  Discord     │──┤      │             │      │  • tools     │
├──────────────┤  │      │  маршрутиза-│◄──── │  • память    │
│  Signal      │──┘      │  ция,       │      │  • skills    │
└──────────────┘         │  сессии,    │      └──────────────┘
                         │  права      │
  22 платформы           └─────────────┘
                         Работает локально
                         (ws://127.0.0.1:18789)

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

AI-агент — ядро, которое думает. У него есть инструменты (tools), память и навыки (skills). Это тот же агентный цикл из урока 3.1.

Что мы изучали и где это в OpenClaw

Концепция из курса Где в OpenClaw
API-вызовы (урок 2.3) Агент общается с Claude/GPT через API
Агентный цикл (урок 3.1) Ядро агента: получил → подумал → сделал → проверил
Инструменты (урок 3.2) ~49 встроенных skills (навыков)
Память (урок 3.3) Markdown-файлы для долгосрочной памяти
Мессенджер (урок 4.1) 22 платформы через Gateway
База данных (урок 4.2) Хранение сессий и истории
Деплой (урок 4.3) Daemon-процесс, работает 24/7

Всё, что ты изучала — это кирпичи, из которых построен OpenClaw.

Почему "локально" — это важно

Большинство AI-сервисов (ChatGPT, Gemini) работают в облаке. Ты отправляешь сообщение — оно уходит на сервер компании. OpenClaw работает на твоём компьютере:

Это называется local-first подход — приоритет локальных данных.

Безопасность

Это те же принципы, что и permission_mode в Claude Agent SDK (урок 3.4) — контроль над тем, кто может взаимодействовать с агентом.


Когда что использовать: честный ответ

Тебе НЕ нужен фреймворк, если:

# Достаточно: 20 строк с anthropic SDK
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Переведи на английский: привет мир"}]
)

Фреймворк полезен, когда:

Фреймворк обязателен, когда:

Принцип

Начни с простого. Добавляй сложность, когда упрёшься в ограничения.

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


Как это связано с тем, что ты уже знаешь

Этап 1 — Фундамент
  Терминал, Python, Git → базовые инструменты разработки

Этап 2 — Понимание AI
  API, токены, промпты → как общаться с моделями

Этап 3 — AI-агенты
  Цикл, инструменты, память, SDK → как устроены агенты внутри

Этап 4 — Продукты                      ← ты здесь
  Telegram + база + деплой + платформы → как всё собирается в продукт
           └────────────────────────┘
           Это кирпичи, из которых
           построены все фреймворки

Теперь, когда ты понимаешь кирпичи, ты можешь:

  1. Использовать фреймворки осознанно — понимая, что внутри
  2. Выбирать правильный инструмент — не самый модный, а подходящий
  3. Не бояться кода без фреймворка — ты умеешь строить сама
  4. Читать документацию — термины уже знакомы (tools, memory, agent loop, hooks)

Практика

Задание 1: Выбери фреймворк

Для каждой задачи выбери подходящий инструмент (или "без фреймворка"):

  1. Бот, который переводит текст на английский
  2. Агент, который ищет баги в коде, пишет тесты и запускает их
  3. AI-ассистент в корпоративном Slack на C#
  4. Система, где один агент исследует тему, а другой пишет статью
Ответы 1. **Без фреймворка** — один вызов API, фреймворк избыточен 2. **Claude Agent SDK или LangGraph** — нужны инструменты (чтение файлов, bash), многошаговый процесс 3. **Semantic Kernel** — корпоративная среда, C#, интеграция с Microsoft 4. **CrewAI** — два агента с разными ролями работают последовательно

Задание 2: Найди знакомые концепции

Открой документацию любого фреймворка (например, docs.crewai.com или langchain.com) и найди:

Ты увидишь: термины одинаковые. Ты уже знаешь все ключевые концепции.


Задачки на закрепление

Задача 1: Чем фреймворк отличается от SDK?

Ответ SDK (anthropic) — это обёртка над API: один вызов `client.messages.create()` → один ответ. Фреймворк (LangChain, CrewAI) — это целая система: он управляет циклом агента, памятью, инструментами, ошибками. SDK — строительный блок, фреймворк — конструктор из блоков.

Задача 2: Почему OpenClaw работает локально, а не в облаке?

Ответ Приватность. Сообщения из WhatsApp, Telegram и других мессенджеров содержат личные данные. Если обрабатывать их на чужом сервере — данные покидают контроль пользователя. Локальная работа означает: данные остаются на твоём компьютере, никто их не видит.

Задача 3: Когда НЕ стоит использовать фреймворк?

Ответ Когда задача простая: один запрос к API, один-два инструмента, линейная логика. Фреймворк добавляет сложность (новые абстракции, зависимости, скрытое поведение). Если задача решается 30 строками кода — фреймворк не нужен. Используй простейший подходящий инструмент.

Задача 4: Какой фреймворк использовать для агента, который анализирует 500 PDF-документов?

Ответ LlamaIndex — он специализируется на работе с документами. Поддерживает 90+ форматов, умеет индексировать содержимое и делать поиск по базе знаний (RAG). Для 500 PDF — это именно его задача.

Глоссарий

Термин Что значит
Фреймворк Готовая система из блоков для решения типовых задач (больше, чем SDK)
LangChain Популярный фреймворк для быстрого создания AI-агентов
LangGraph Фреймворк на основе графов для сложных агентных workflow
CrewAI Фреймворк для команд из нескольких агентов с ролями
AutoGen Фреймворк Microsoft для агентов, решающих задачи через диалог
Semantic Kernel SDK Microsoft для интеграции AI в корпоративные системы
LlamaIndex Фреймворк для работы с документами и поиска по базе знаний
OpenClaw Open-source AI-ассистент для 22 мессенджеров, работает локально
Gateway (шлюз) Центральный узел OpenClaw: маршрутизирует сообщения между мессенджерами и агентом
Local-first Подход: данные хранятся и обрабатываются на устройстве пользователя
RAG Retrieval-Augmented Generation — AI ищет информацию в документах перед ответом
Human-in-the-loop Человек в цикле — агент останавливается и ждёт одобрения перед действием
Workflow Рабочий процесс — последовательность шагов для выполнения задачи
Граф Структура из узлов (шагов) и связей между ними

Главное

Фреймворк — это готовые блоки для типовых задач:
  • Агентный цикл (не писать while True вручную)
  • Память (не придумывать формат)
  • Инструменты (не писать обвязку)
  • Наблюдаемость (логи, трейсы)

Когда НЕ нужен: простой бот, 1-2 инструмента, учебный проект
Когда полезен: 5+ инструментов, память, продакшн
Когда обязателен: multi-agent, ветвления, human-in-the-loop

Правило выбора:
  Начни с простого → добавляй сложность при необходимости

OpenClaw — пример, где ВСЕ концепции курса собраны вместе:
  API + агентный цикл + инструменты + память + мессенджеры + деплой

Что дальше?

Следующий и последний урок этого этапа — безопасность: как защитить бота от атак, утечек данных и неожиданного поведения AI. Всё, что нужно знать, прежде чем выпустить продукт в реальный мир.

← ПРЕДЫДУЩИЙ СЛЕДУЮЩИЙ →