Ruslan Agent — Полное руководство_

Полное руководство по Ruslan Agent: установка, настройка, навыки, память, cron, делегирование, архитектура.


Оглавление

  1. [Что такое Ruslan Agent](#1-что-такое-ruslan-agent)
  2. [Основные возможности](#2-основные-возможности)
  3. [Экосистема и развитие](#3-экосистема-и-развитие)
  4. [Перспективы технологии](#4-перспективы-технологии)
  5. [Почему LLM — это важно](#5-почему-llm--это-важно)
  6. [Архитектура: как это работает внутри](#6-архитектура-как-это-работает-внутри)
  7. [10 шагов для старта ](#7-10-шагов-для-старта-по-нашему-опыту)
  8. [Глоссарий](#8-глоссарий)
  9. [Работа с проектами: принцип «слоёного пирога»](#9-работа-с-проектами-принцип-слоёного-пирога)
  10. [Память: как Ruslan помнит всё](#10-память-как-ruslan-помнит-всё)
  11. [Мультиагентная архитектура (наша схема «пароход»)](#11-мультиагентная-архитектура)
  12. [Инсайды из видео 12. [Мультимодельная архитектура](#12-мультимодельная-архитектура-разные-модели-для-разных-задач)
  13. [Git-память: файловая структура проекта](#13-git-память-файловая-структура-проекта)

1. Что такое Ruslan Agent

Ruslan Agent — это открытая (open-source) платформа AI-агента, созданная компанией Nous Research. Это не просто чат-бот. Это автономный агент, который:

Ключевая фраза с их сайта: «Единственный агент со встроенным циклом обучения — он создаёт навыки из опыта, улучшает их в процессе использования, ищет свои прошлые разговоры и строит углублённую модель того, кто ты есть».

Философия Nous Research

Nous Research — это команда, которая строит открытый AI. Их фокус: архитектура моделей, синтез данных, тонкая настройка (fine-tuning) и рассуждение (reasoning). Они верят, что будущее AI — не в закрытых корпоративных системах, а в открытых инструментах, которые любой может запустить, изучить и улучшить.

Ruslan Agent — их флагманский продукт, но они также разрабатывают:


2. Основные возможности

2.1. Самый богатый набор инструментов (40+)

Ruslan имеет больше встроенных инструментов, чем любой другой AI-агент:

КатегорияИнструменты
🌐 **Веб**Поиск в интернете, извлечение контента, просмотр страниц
🖥 **Терминал**Запуск команд, управление процессами, SSH, Docker
📁 **Файлы**Чтение, запись, поиск, редактирование
🧪 **Код**Выполнение Python, под-агенты с изолированным окружением
👁 **Зрение**Анализ изображений и видео
🎨 **Генерация**Создание изображений, видео, голоса
🧠 **Память**Межсессионная память, поиск прошлых разговоров
⏰ **Кроны**Запланированные задачи с доставкой куда угодно
🤖 **Делегирование**Запуск под-агентов для параллельной работы
🔌 **MCP**Подключение любых внешних серверов инструментов

2.2. Мультиплатформенность

Один агент — на всех платформах сразу:

Терминал (CLI)   — полноценный TUI-интерфейс
Telegram         — твой канал @канал
Discord          — серверы и сообщества
Slack            — корпоративные каналы
WhatsApp         — мессенджер
Signal           — защищённые сообщения
Email            — почта (IMAP/SMTP)
Matrix           — децентрализованный чат
Home Assistant   — умный дом
И ещё 10+ платформ

Всё это работает через Gateway — единый шлюз, который соединяет все платформы с одним агентом.

2.3. Система навыков (Skills)

Главное, что отличает Ruslan от других. Навык — это markdown-файл с инструкциями для агента:

---
name: ai-agent
description: "Посты для канала «AI-агент»"
---

# Процесс публикации

1. Написать пост
2. Получить обложку
3. Опубликовать через sendPhoto

Навыки накапливаются. Агент сам создаёт их после сложных задач, сам улучшает при использовании. Это делает агента умнее с каждым днём.

2.4. Память между сессиями

Ruslan помнит тебя не как новый разговор каждый раз:

2.5. Кроны (запланированные задачи)

Встроенный планировщик, который может запускать агента по расписанию:

06:00 МСК → написать 3 поста и прислать на утверждение
08:00 МСК → проверить погоду и прислать отчёт
Каждый час → проверить сервер

Результаты доставляются в Telegram, на почту, в Discord — куда настроишь.

2.6. Делегирование и параллельная работа

Ruslan может запускать под-агентов — изолированные сессии, которые работают параллельно. Пока один ищет новости про климат, второй анализирует код, третий пишет пост. Результаты собираются воедино.

2.7. Provider-agnostic (независимость от модели)

Можно переключать модель на лету без остановки работы:

ruslan model           ← интерактивный выбор
/model claude-sonnet-4 ← смена модели в сессии

Поддерживаются все крупные провайдеры: OpenRouter (200+ моделей), Anthropic, OpenAI, DeepSeek, Google Gemini, xAI (Grok), Hugging Face, локальные модели.


3. Экосистема и развитие

3.1. Ключевые метрики (GitHub)

Еженедельно выходят обновления. Проект активно развивается.

3.2. Интеграции

3.3. Сообщество

3.4. Облачная инфраструктура


4. Перспективы технологии

4.1. От чат-бота к автономному агенту

Ruslan представляет собой сдвиг парадигмы:

Чат-бот (2022-2023):   Ты спрашиваешь → AI отвечает
AI-ассистент (2024):   Ты даёшь задачу → AI делает
AI-агент (2025-2026):  AI сам решает, что делать → отчитывается

Ruslan уже на третьем этапе. Он сам проверяет сервер, пишет посты, находит новости, предлагает улучшения.

4.2. Самообучающиеся системы

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

4.3. Мультиагентные системы

Один агент — хорошо. Сеть агентов — лучше. Ruslan растёт в направлении:

4.4. Открытая экосистема вместо вендор-лока

В отличие от закрытых систем (ChatGPT, Claude), Ruslan не привязывает тебя к одному провайдеру. Сегодня DeepSeek дёшев, завтра Anthropic качественнее, послезавтра локальная модель на VPS. Агент один — модель любая.


5. Почему LLM — это важно

5.1. Языковые модели — это новый процессор

Точно так же, как в 1980-х персональные компьютеры стали доступны каждому, а в 2010-х смартфоны дали интернет в карман, LLM (большие языковые модели) становятся универсальным процессором для текста, кода, логики и творчества.

Они не идеальны. Они ошибаются. Но скорость улучшения — экспоненциальная.

5.2. Почему открытые модели важны

5.3. LLM + инструменты = суперсила

Модель без инструментов — это просто генератор текста. Модель с инструментами (как Ruslan) — это:

5.4. Реальность: LLM глупы в важных вещах и умны в скучных

LLM не умеют по-настоящему «думать» (пока). Но они идеально справляются с рутиной:

Ты владелец бизнеса (капитан). LLM — это твой матрос, который не спит, не ест и делает то, что сказано. Ruslan — это старпом, который организует матросов.


6. Архитектура: как это работает внутри

6.1. Упрощённая схема

┌─────────────────────────────────────────────────┐
│                   RUSLAN AGENT                   │
│                                                   │
│  ┌─────────┐  ┌─────────┐  ┌──────────────────┐ │
│  │   CLI   │  │ Gateway │  │  Cron Scheduler   │ │
│  │(терминал)│  │(Telegram,│  │(запланированные  │ │
│  │         │  │ Discord, │  │     задачи)      │ │
│  │         │  │  Email…) │  │                  │ │
│  └────┬────┘  └────┬────┘  └────────┬─────────┘ │
│       │            │                │           │
│       └────────────┴────────────────┘           │
│                        │                         │
│              ┌─────────▼──────────┐              │
│              │   Conversation     │              │
│              │   Loop (цикл)      │              │
│              │                    │              │
│              │  1. Вызвать LLM    │              │
│              │  2. Получить ответ │              │
│              │  3. Если tool_call │              │
│              │     → выполнить    │              │
│              │  4. Повторить      │              │
│              └─────────┬──────────┘              │
│                        │                         │
│  ┌─────────────────────┼─────────────────────┐   │
│  │       Инструменты    │                     │   │
│  │    (40+ tools)       │                     │   │
│  │  ┌────┐ ┌────┐ ┌───▼───┐                 │   │
│  │  │Веб │ │Файлы│ │Терминал│ ...            │   │
│  │  └────┘ └────┘ └───────┘                 │   │
│  └──────────────────────────────────────────-┘   │
│                                                   │
│  ┌──────────┐  ┌───────────┐  ┌───────────────┐ │
│  │  Память  │  │  Навыки    │  │  Хранилище    │ │
│  │(SQLite)  │  │ (Skills)   │  │  сессий (FTS5)│ │
│  └──────────┘  └───────────┘  └───────────────┘ │
└───────────────────────────────────────────────────┘

6.2. Жизненный цикл одного запроса

  1. Ты пишешь: «Напиши пост про землетрясение на Филиппинах»
  2. Агент получает промпт + всю историю сессии + навыки + память
  3. LLM решает, какие инструменты вызвать (например: поиск новостей → чтение статьи → сохранение текста → публикация)
  4. Каждый вызов инструмента возвращает результат → LLM анализирует → решает следующий шаг
  5. Цикл продолжается, пока задача не решена

6.3. Ключевые технические детали


7. 10 шагов для старта

Мы уже прошли этот путь. Вот что реально работает — шаг за шагом.

Шаг 1: Установка

curl -fsSL https://ruslan-agent.nousresearch.com/install.sh | bash
source ~/.bashrc

Что делает установщик:

Пример: Работает на VPS (Ubuntu), на MacBook, на Android через Termux.

Шаг 2: Выбор модели и провайдера

ruslan model

Интерактивный выбор:

Пример: У нас opencode-go + deepseek-v4-flash. Это дёшево и быстро. Для сложных задач можно переключиться на Claude или GPT.

Шаг 3: Подключение Telegram (Gateway)

ruslan gateway setup

Что настраиваешь:

Пример: Бот @бот управляет каналом @канал. Через gateway можно публиковать посты, отвечать на сообщения, запускать задачи.

Шаг 4: Настройка профилей

ruslan profile create homer     # контент-менеджер
ruslan profile create hes       # root-админ
ruslan profile create lokki     # Mac-агент

Профили — это полностью независимые экземпляры Ruslan: своя конфигурация, свои навыки, своя память.

Пример:

Шаг 5: Создание первых навыков (skills)

Навыки — то, что делает Ruslan незаменимым. Они накапливаются как твоя личная база знаний.

# Создать навык через инструмент skill_manage
skill_manage(action="create", name="ai-agent", content="...")

Пример: Мы создали навыки:

Шаг 6: Настройка cron-задач

Запланированные задачи работают без тебя:

cronjob(action="create",
        schedule="0 3 * * *",  # 06:00 МСК
        prompt="Напиши три поста для канала...",
        deliver="origin",
        name="Утренние посты")

Пример:

Шаг 7: Освоение навыков и памяти

# Сохранить факты о пользователе
memory(action="add", target="user",
       content="Пользователь — капитан, Atlantic Sail")

# Сохранить факты об окружении
memory(action="add", target="memory",
       content="Канал @канал, ID: --")

Память автоматически подгружается в каждую сессию. Не надо повторять одно и то же.

Шаг 8: Настройка делегирования

# Параллельный поиск новостей
delegate_task(tasks=[
    {"goal": "Найди новости AI..."},
    {"goal": "Найди новости климата..."}
])

Под-агенты работают изолированно, что экономит контекст основного агента.

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

Шаг 9: Мониторинг и обслуживание

ruslan doctor         # Проверка здоровья
ruslan status         # Статус компонентов
ruslan sessions list  # Список сессий
ruslan cron list      # Список кронов
ruslan gateway status # Статус шлюза

Регулярно проверяй:

  1. ruslan doctor --fix — исправляет типовые проблемы
  2. Логи: ~/.ruslan/logs/gateway.log
  3. ruslan update — обновления (выходят часто)

Шаг 10: Расширение и развитие

# MCP-серверы (подключение внешних инструментов)
ruslan mcp install fetch    # загрузка веб-страниц
ruslan mcp install memory   # расширенная память

# Плагины
ruslan plugins list         # доступные плагины

# Skills Hub
ruslan skills browse        # готовые навыки сообщества
ruslan skills install name  # установить навык

┌─────────────────────────────────────────────────────┐
│   VPS (root-доступ)                                  │
│  ┌────────────────┐                                 │
│  │  Агент (root)    │  ← системные задачи             │
│  │  ~/.ruslan/    │                                 │
│  └───────┬────────┘                                 │
│          │ профиль                                   │
│  ┌───────▼────────┐                                 │
│  │  Агент (мы)    │  ← контент для канала           │
│  │  ~/.ruslan/    │                                 │
│  └────────────────┘                                 │
├─────────────────────────────────────────────────────┤
│   MacBook / Docker                                   │
│  ┌────────────────┐                                 │
│  │  Агент         │  ← локальная работа             │
│  │  разработка    │                                 │
│  └────────────────┘                                 │
├─────────────────────────────────────────────────────┤
│   Telegram                                            │
│  @бот ↔ @канал                           │
│  Публикация, управление, общение                     │
└─────────────────────────────────────────────────────┘

8. Глоссарий

ТерминЧто означает
**LLM**Большая языковая модель (Large Language Model) — «мозг» агента. Примеры: DeepSeek, Claude, GPT
**Agent**Самостоятельная программа, которая использует LLM + инструменты для решения задач
**Tool/Toolset**Инструмент (например, «поиск в интернете») или их набор
**Skill**Навык — markdown-инструкция, которой агент следует. Накапливается как опыт
**Gateway**Шлюз для подключения к Telegram, Discord и другим платформам
**Cron**Планировщик задач по расписанию
**Delegation**Запуск под-агентов для параллельной работы
**MCP**Model Context Protocol — протокол для подключения внешних инструментов
**ACP**Agent Communication Protocol — протокол для общения между агентами
**Provider**Поставщик LLM (OpenRouter, Anthropic, DeepSeek, локальные модели)
**Profile**Изолированный профиль Ruslan со своей конфигурацией и памятью
**FTS5**Full-Text Search — механизм полнотекстового поиска в SQLite
**Checkpoint**Снепшот файлов для отката (как точка сохранения в игре)
**Context**Контекст разговора — история сообщений, которые «видит» LLM
**Token**Единица текста для LLM (~1 слово). Чем больше контекст, тем больше токенов
**Home channel**Канал в Telegram (или другой платформе), куда агент отправляет результаты по умолчанию

9. Работа с проектами: принцип «слоёного пирога»

Одна из самых сильных сторон Ruslan — умение работать с проектами, не теряя контекст между сессиями. В отличие от обычного чата, где каждый раз приходится объяснять всё заново, Ruslan строит многослойную память проекта.

9.1. Слои памяти проекта (снизу вверх)

┌─────────────────────────────────────────────────────┐
│  СЛОЙ 5: Сессии (state.db)                          │
│  Каждый разговор — отдельная сессия с историей.     │
│  Можно искать по всем сессиям через session_search. │
├─────────────────────────────────────────────────────┤
│  СЛОЙ 4: Контекстные файлы в корне проекта          │
│  AGENTS.md — правила работы с проектом              │
│  CLAUDE.md — проектные конвенции                    │
│  CONVENTIONS.md / SKILL.md — для повторяющихся задач│
├─────────────────────────────────────────────────────┤
│  СЛОЙ 3: Навыки (skills)                            │
│  Процедуры, workflow, рецепты — многократного       │
│  использования. Сохраняются в ~/.ruslan/skills/     │
├─────────────────────────────────────────────────────┤
│  СЛОЙ 2: Память (memory)                            │
│  USER.md — профиль пользователя (кто ты)            │
│  MEMORY.md — памятка агента (факты об окружении)    │
├─────────────────────────────────────────────────────┤
│  СЛОЙ 1: Базовая конфигурация                       │
│  config.yaml — настройки провайдера, модели         │
│  .env — API-ключи и секреты                         │
│  profiles/ — изолированные профили                  │
└─────────────────────────────────────────────────────┘

9.2. Контекстные файлы в корне проекта

Это ключевая фишка Ruslan, которую многие недооценивают. Ты кладёшь файлы в корень проекта — и агент автоматически их читает при старте сессии в этой директории.

ФайлНазначениеПример содержимого
**AGENTS.md**Полное описание проекта: архитектура, технологии, процессы, расписание, правила«Канал. Расписание: 10:00 ИИ, 14:00 климат, 18:00 аналитика. Правила: не публиковать без указания Кэпа»
**CLAUDE.md** (или RUSLAN.md)Короткие конвенции для этого проекта«Код-стайл: snake_case. Тесты: pytest. CI: GitHub Actions.»
**CONVENTIONS.md**Дополнительные соглашения«Префиксы веток: feat/fix/docs. Commit: conventional commits.»

Как это работает:

  1. Заходишь в директорию проекта
  2. Запускаешь ruslan --worktree (или ruslan с AGENTS.md в корне)
  3. Ruslan сам находит AGENTS.md и встраивает его содержимое в системный промпт
  4. Агент уже знает весь контекст проекта — без твоих объяснений

9.3. Жизненный цикл проекта в Ruslan

ФАЗА 0: Создание проекта
  └→ mkdir my-project && cd my-project
  └→ Написать AGENTS.md (правила, стек, цели)
  └→ Написать CLAUDE.md (конвенции)
  └→ Запустить: ruslan -s нужный-скил

ФАЗА 1: Работа (много сессий)
  └→ Сессия 1: «Создай структуру, настрой CI»
  └→ Сессия 2: «Добавь аутентификацию, напиши тесты»
  └→ Сессия 3: «Пофикси баг в парсере»
  └→ Между сессиями: память хранит контекст
  └→ Между сессиями: session_search ищет решения

ФАЗА 2: Накопление навыков
  └→ После сложной задачи: «Сохрани этот подход как навык»
  └→ Навык автоматически подгружается в будущем
  └→ Проект становится быстрее с каждым разом

ФАЗА 3: Передача контекста
  └→ Пришёл новый разработчик → запустил ruslan
  └→ Ruslan читает AGENTS.md
  └→ Ruslan подгружает навыки проекта
  └→ session_search показывает историю решений
  └→ Новичок сразу в контексте

9.4. Наша реальная структура проекта (пример)

Вот как выглядит наш проект «AI-агент» с точки зрения Ruslan:

/home/user/project/                              ← корень проекта
│
├── AGENTS.md                           ← правила работы (заблокирован из-за
│                                         prompt injection — требует аудита)
│
├── image_cache/                        ← кэш загруженных картинок
│   ├── img_829d18d18871.jpg            ← AR-очки (обложка утреннего поста)
│   ├── img_fcd8b469eb4e.jpg            ← инфографика землетрясения
│   └── img_a2febf3ced81.jpg            ← скриншот LastQuake
│
├── skills/                             ← навыки агента
│   ├── ai-agent/                  ← SKILL.md: процесс публикации
│   │   ├── references/                 ← справочные материалы
│   │   │   ├── enso-climate-factcheck.md
│   │   │   ├── project-ai-agent.md
│   │   │   └── sailor-bar-publishing.md
│   │   ├── scripts/
│   │   │   └── publish.sh              ← скрипт публикации в Telegram
│   │   └── templates/                  ← шаблоны постов
│   │
│   ├── ai-agent-visual/           ← SKILL.md: визуальный стиль
│   ├── content-factory/                ← SKILL.md: конвейер контента
│   └── autonomous-ai-agents/
│       └── ruslan-agent/               ← SKILL.md: CLI-справочник Ruslan
│
├── project-ai-agent.md            ← описание проекта
│
├── ruslan-agent-full-guide-ru.md       ← этот гайд
│
├── kie.py                              ← генератор изображений (KIE.AI)
│
└── cron/                               ← результаты cron-задач
    └── output/                         ← файловые артефакты

Важный урок: Если AGENTS.md содержит динамический контент (промпты, примеры кода), есть риск prompt injection. Мы это испытали на себе — файл пришлось заблокировать. Правило: AGENTS.md должен содержать только правила и границы — не исполняемый контент.


10. Память: как Ruslan помнит всё

Память — это то, что превращает Ruslan из просто умного чата в личного ассистента, который знает тебя.

10.1. Три уровня памяти

┌────────────────────────────────────────────────────┐
│              ПАМЯТЬ RUSLAN                          │
│                                                     │
│  УРОВЕНЬ 1: Контекст сессии                         │
│  ┌──────────────────────────────────────────────┐  │
│  │ Длится в пределах одного разговора            │  │
│  │ Сбрасывается при /new или /reset              │  │
│  │ Содержит: история сообщений, результаты tools │  │
│  └──────────────────────────────────────────────┘  │
│                                                     │
│  УРОВЕНЬ 2: Долговременная память                   │
│  ┌──────────────────────────────────────────────┐  │
│  │ MEMORY.md — памятка агента (факты)            │  │
│  │ USER.md — профиль пользователя (предпочтения)  │  │
│  │ Загружается в начале каждой сессии            │  │
│  │ Редактируется через tool `memory`             │  │
│  └──────────────────────────────────────────────┘  │
│                                                     │
│  УРОВЕНЬ 3: Поиск по сессиям                        │
│  ┌──────────────────────────────────────────────┐  │
│  │ state.db — SQLite с FTS5-поиском              │  │
│  │ session_search — запрос на естественном языке │  │
│  │ Находит сессии по ключевым словам             │  │
│  │ Показывает контекст вокруг найденного         │  │
│  └──────────────────────────────────────────────┘  │
└────────────────────────────────────────────────────┘

10.2. Что сохранять в память

Правило: сохраняй то, что пригодится в следующих сессиях.

Примеры из нашей практики:

# Сохранить факт о пользователе
memory(action="add", target="user",
       content="Пользователь — капитан Atlantic Sail, ведёт канал «AI-агент»")

# Сохранить факт об окружении
memory(action="add", target="memory",
       content="Канал @канал, ID: --")
memory(action="add", target="memory",
       content="Бот @бот — админ канала")

# Сохранить предпочтение
memory(action="add", target="user",
       content="Ценит: экономичность, конкретику, прямой разговор. Без хайпа.")

# Сохранить техническую деталь
memory(action="add", target="memory",
       content="Публикация: sendPhoto API (фото + caption одним запросом)")

Чего НЕ надо сохранять:

10.3. Поиск по прошлым сессиям (session_search)

Это как Google по твоим разговорам с агентом:

# Найти, как делали конкретную задачу
session_search(query="публикация sendPhoto caption")

# Найти, где обсуждали конкретную тему
session_search(query="землетрясение филиппины 2026")

# Полистать результаты работы над фичей
session_search(query="настройка cron утренние посты")

FTS5 ищет даже по частичным совпадениям. Показывает:

10.4. Навыки как процедурная память

Навыки — это память о том, как делать, в отличие от памяти о том, что есть.

Декларативная память (MEMORY.md): Канал имеет ID --
Процедурная память (SKILL.md):     Чтобы опубликовать пост, нужно:
                                   1. Получить токен из /proc/145/environ
                                   2. Вызвать curl sendPhoto
                                   3. Передать photo=@file + caption

Навыки создаются автоматически (Ruslan предлагает сохранить) или вручную через skill_manage.

10.5. Настройка памяти

# Включить/выключить
ruslan config set memory.memory_enabled true
ruslan config set memory.user_profile_enabled true

# Выбрать провайдера (built-in = SQLite, honcho = внешняя)
ruslan config set memory.provider built-in

# Проверить статус
ruslan memory status

12. Инсайды из видео

12.1. Ключевые понятия

Из свежего выпуска (43 мин, 40K просмотров, июнь 2026) выделены главные концепции:

🧠 Artifacts as a Second Brain (артефакты как второй мозг)

Alex Finn называет артефакты — файлы, навыки, документы, которые Ruslan создаёт и поддерживает — «вторым мозгом». Это не просто результаты работы, а живые документы, которые:

*«Твой AGENTS.md — это не инструкция. Это твой след в проекте. Новый агент читает его и понимает, что ты хотел построить, ещё до того, как написал первую строку кода.»*

🔄 Reverse Prompting (обратный промптинг)

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

*«Я говорю: „Вот моя идея. Задай мне 10 вопросов, которые я должен себе回答, прежде чем начинать.“ И агент вытягивает из меня то, о чём я бы сам не подумал.»*

Или ещё сильнее: Brain Dump (выгрузка мозга) — дать агенту ссылку на свой Twitter, блог, заметки, и попросить построить USER.md на основе всей этой информации. Агент анализирует твой стиль, интересы, паттерны и создаёт профиль, который потом использует во всех сессиях.

🎭 Model-Based vs Role-Based Profiles

Два подхода к профилям:

Finn утверждает: Role-Based важнее. Модель можно сменить одной командой (/model), а вот контекст роли и её навыки — это то, что делает профиль незаменимым.

12.2. Sub-Agents vs Profiles: что когда использовать

Ключевой вопрос, который разбирают в видео:

Sub-agents (delegate_task)Profiles
**Длительность**Минуты (внутри одной сессии)Постоянно
**Изоляция**Полная (новый контекст, новые инструменты)Полная (свой config, свои навыки)
**Когда**Нужно быстро распараллелить задачуНужен постоянно работающий специалист
**Пример**Собрать новости по 3 темам одновременноАгент круглосуточно ведёт канал

Правило Finn: «Sub-agent — для ширины (параллельные задачи). Profile — для глубины (специализация). Если тебе нужен кто-то, кто делает одно и то же каждый день — делай профиль. Если тебе нужно сделать 5 вещей прямо сейчас — делегируй.»

12.3. Экономия на модели (Reframing Cost as Investment)

Главный тезис: Не думать о затратах на токены как о расходах. Думать как об инвестициях в скорость.

Конкретные приёмы экономии:

  1. DeepSeek для рутины, Claude/Sonnet для сложного — у нас так и настроено
  2. Session compression/compress сокращает контекст, экономя токены
  3. Context window management — не держать в контексте то, что уже сделано
  4. sub-agent'ы экономят контекст — параллельные задачи не засоряют основной контекст
  5. Локальные модели — для простых задач может хватить локальной модели на Mac Studio или DGX Spark (Nvidia)
*«Один запуск агента стоит $0.03–0.10. Сколько стоит твой час? Если агент экономит тебе час в день — он окупает себя в 50–100 раз.»*

12.4. Как зарабатывать с Ruslan (Real Way to Make Money)

Финн делится конкретными кейсами:

📋 Daily Business Opportunity Scan

Каждое утро агент сканирует интернет по твоим критериям и выдаёт 3-5 бизнес-возможностей. Например:

🏗 Быстрый прототип стартапа

«Я могу сесть в пятницу вечером с Ruslan, и к воскресенью у меня есть работающий MVP. Без Ruslan — 2 недели.»

🧪 Агент как «технический сооснователь»

Для нетехнического предпринимателя Ruslan становится CTO:

📊 Контент-фабрика

Наш собственный кейс: Ruslan управляет контент-каналом — пишет посты, подбирает новости, публикует по расписанию.

12.5. Почему Alex Finn перешёл с OpenClaw на Ruslan

Аргументы Finn (которые подтверждает и наш опыт):

  1. Память — OpenClaw не помнит тебя между сессиями, Ruslan запоминает
  2. Инструменты — 40+ vs 10-15 у OpenClaw
  3. Gateway — OpenClaw только терминал, Ruslan ещё Telegram, Discord и т.д.
  4. Skills — OpenClaw не умеет создавать и улучшать навыки
  5. Сообщество — 187K звёзд на GitHub, активный Discord, Skills Hub
  6. Развитие — новый релиз каждую неделю, 11K+ коммитов
*Alex Finn: «Сейчас это лучший способ использовать AI-агентов на своём компьютере»*

12.6. Что посмотреть ещё по теме (другие видео)

Из сайдбара того же видео всплыли ещё полезные ресурсы:

ВидеоАвторДлинаПросмотры
**Ruslan Agent: Full Course & Setup Guide For Complete Beginners**(туториал)59 мин
**Warum ich von OpenClaw auf Ruslan umgestiegen bin****Du musst JETZT Ruslan nutzen!!****Ruslan Agent — Neue Super-App und DeepSeek v4**Riley Brown24 мин30.5K
**Die größte Lüge über den Ruslan-Agenten**Craig Hewitt14 мин26.9K

Все они доступны на YouTube — показывают рост экосистемы Ruslan.


12. Мультимодельная архитектура: разные модели для разных задач

13.1. Концепция

Один агент не обязан пользоваться одной моделью. Ruslan позволяет гибко назначать разные модели на разные типы задач через единый API-провайдер. Это даёт и экономию, и качество там где нужно.

Наша текущая схема:

┌─────────────────────────────────────────────┐
│              Ruslan Agent                    │
│                                              │
│  Текст/код  → DeepSeek V4 Flash (основная)   │
│  Зрение     → GPT-4o-mini (через OpenRouter) │
│  Аудио      → Whisper (локально или Groq)   │
│  Сложное    → Qwen 2.5 / Gemini 2.5 Flash   │
│  Музыка     → Suno (через KIE.ai)           │
│  Видео      → Hailuo AI (через KIE.ai)      │
└─────────────────────────────────────────────┘

13.2. Как настроить

Главная модель (текст/код):

# config.yaml
provider: opencode-go
model: '{"default": "deepseek-ai/deepseek-v4-flash",
         "provider": "opencode-go",
         "context_length": 131072,
         "api_mode": "chat_completions"}'

providers:
  opencode-go:
    api_key: env:OPENCODE_GO_API_KEY
    base_url: https://opencode.ai/zen/go/v1

Vision (анализ изображений) — через OpenRouter:

Если основная модель не поддерживает vision (DeepSeek не видит картинки), Ruslan использует auxiliary fallback:

# config.yaml
auxiliary:
  vision:
    provider: openrouter
    model: google/gemini-2.5-flash-preview-04-17

Или задаёшь переменную окружения:

export API_KEY=...

Аудио (STT — голос → текст):

# config.yaml
stt:
  enabled: true
  provider: groq          # local (faster-whisper) или groq

Музыка и видео:

# Suno через KIE.ai
kie.py gen "промпт для музыки" --mode music

# Hailuo через KIE.ai
kie.py gen "промпт для видео" --mode video

13.3. Принцип

Один агент, один интерфейс (Telegram/CLI), один набор навыков — но разные модели-специалисты под капотом для разных типов контента.

Это как капитан на мостике: он не чинит двигатель сам, а вызывает механика. Ruslan так же — текст на DeepSeek, картинки на Gemini, музыку на Suno.


13. Git-память: файловая структура проекта

14.1. Концепция

Помимо встроенной памяти Ruslan (MEMORY.md, USER.md, state.db), существует файловая память — структура папок и файлов в корне проекта, которую поддерживает агент. Это как проектная документация, которая живёт рядом с кодом и контентом.

14.2. Структура

/home/user/project/
├── AGENTS.md / AGENT.md     ← мастер-документ: правила, проекты, приоритеты
│
├── memories/                 ← файловая память проектов
│   ├── projects/
│   │   ├── ai-agent/
│   │   │   ├── PROJECT.md   ← описание, архитектура, связи
│   │   │   ├── STATUS.md    ← текущий статус
│   │   │   ├── CONTEXT.md   ← хронология изменений
│   │   │   ├── DECISIONS.md ← логи решений
│   │   │   └── TODO.md      ← задачи
│   │   └── ...
│   ├── archived/            ← закрытые проекты
│   └── agents/              ← AGENT.md файлы
│
├── skills/                  ← навыки (наш слой)
├── image_cache/             ← кэш картинок
└── cron/                    ← результаты cron-задач

14.3. Как это работает

Перед задачей — агент читает PROJECT.md + CONTEXT.md проекта, чтобы войти в курс дела.

После задачи — обновляет CONTEXT.md с описанием, что сделано.

Всё в Git — история изменений доступна, можно откатиться.

Закрытые проекты — перемещаются в archived/.

14.4. Пример PROJECT.md

# AI-агент

**Тип:** Telegram-канал
**Статус:** 🟢 Активный
**Ответственный:** Агент (контент-агент)

## Архитектура
- Telegram @канал через @бот
- Публикация: sendPhoto API (фото + caption)
- Расписание: 10:00 / 14:00 / 18:00 МСК

## Связи
- Зависит от: KIE.AI (генерация обложек)
- Владелец: Пользователь (капитан)

14.5. Чем отличается от встроенной памяти

Встроенная память RuslanФайловая память (Git)
**Где живёт**~/.ruslan/state.db + MEMORY.mdВ корне проекта
**Что хранит**Факты о пользователе и окруженииДокументацию проекта
**Доступна кому**Только этому агентуВсем агентам и людям
**Версионирование**НетGit (полная история)
**Когда использовать**Для предпочтений, технических деталейДля проектной документации

Вывод: встроенная память — для агента. Файловая память — для проекта. Они дополняют друг друга.


Заключение

Ruslan Agent — это не просто программа. Это новый способ работать с информацией.

Вместо того чтобы самому искать новости, писать тексты, помнить детали, проверять сервера — ты объясняешь агенту, что делать. Один раз. А он запоминает и делает это каждый день.

Ты — капитан. Агент — твоя команда.

«Чем лучше работает такой ассистент, тем менее он заметен.
Идеальный агент — тот, чьё присутствие ты ощущаешь
только по внезапно освободившемуся времени.»

Ресурсы:

📘 Другие уроки →