Обзор Agent
Agent — одна из ключевых возможностей Elftia. Она выводит AI за рамки пассивного ответа на вопросы, наделяя его способностью проактивно выполнять задачи — читать и записывать файлы, запускать команды, искать в интернете, вызывать внешние инструменты и даже координировать параллельную работу нескольких подчинённых Agent-ов.
Что такое Agent
В традиционном чате AI может только генерировать текст. В режиме Agent AI может:
- Анализировать задачу — понять запрос и составить план выполнения
- Вызывать инструменты — читать файлы, редактировать код, запускать команды
- Итерировать — проверять результаты, исправлять ошибки, продолжать выполнение
- Возвращать результат — дать финальный ответ после завершения задачи
Этот цикл «думать → действовать → наблюдать → думать снова» называется Agent Loop (циклом Agent-а).
Сообщение пользователя → Диспетчер движка → LLM думает → Вызов инструмента → Наблюдение результата → Продолжить цикл или вернуть ответ
↑ ↓
└───────────────────────────────────────────────────────────┘
Многодвижковая архитектура
Elftia поддерживает несколько движков Agent, каждый из которых подходит для разных сценариев:
| Тип движка | ID | Описание | Лучше всего для |
|---|---|---|---|
| TinyElf | tinyelf | Встроенный лёгкий движок Agent в Elftia | Повседневное программирование, файловые операции, задачи автоматизации |
| Claude SDK | claude-sdk | На основе официального Anthropic Agent SDK | Сценарии, требующие нативного инструментария Claude |
| CLI Runner | cli | Внешние инструменты командной строки (Claude Code, Codex) | Использование внешних CLI Agent-ов |
| Chat | chat | Чистый чат-движок (без вызовов инструментов) | Простые вопросы и ответы, перевод, написание текстов |
| STChat | st-chat | Движок однооборотной беседы | Быстрые однооборотные задачи |
| API | api | Лёгкие вызовы API | Нечатовые сценарии, например генерация медиа |
Движок TinyElf
TinyElf — это движок Agent по умолчанию в Elftia, обладающий следующими характеристиками:
- Выполнение внутри процесса — не нужно запускать подпроцессы или прокси-серверы; запускается быстро
- Поддержка нескольких LLM — адаптируется к любому LLM-провайдеру через TinyElfLLMAdapter
- Встроенный инструментарий — чтение/запись файлов, Shell-команды, веб-поиск, MCP-инструменты
- Совместная работа подчинённых Agent-ов — поддерживает параллельное выполнение переднего и фонового подчинённых Agent-ов
- Система навыков — может загружать повторно используемые инструкции SKILL.md
- Управление безопасностью — трёхуровневая защита (брандмауэр + сторожевой Agent + подтверждение разрешений)
Движок Claude SDK
На основе @anthropic-ai/claude-agent-sdk, подходит для сценариев, требующих нативных возможностей Claude:
- Использует официальные системные подсказки и инструменты от Claude
- Поддерживает провайдеров, не являющихся Anthropic (через встроенный прокси-сервер для преобразования форматов)
- Балансировка нагрузки по нескольким API-ключам
Движок CLI Runner
Управляет процессами внешних CLI-инструментов через ProcessSupervisor:
- Поддерживает Claude Code CLI и Codex CLI
- Режим PTY-терминала и режим стандартного подпроцесса
- Автоматическая обработка таймаутов и разбор вывода
Основные возможности
Вызовы инструментов
Agent-ы могут использовать различные инструменты для выполнения задач:
| Категория инструментов | Инструменты | Описание |
|---|---|---|
| Файловая система | Read, Write, Edit, ListDir, Glob, Grep | Чтение, запись и поиск файлов проекта |
| Shell | Bash | Выполнение команд терминала |
| Веб | WebSearch, WebFetch | Поиск и получение веб-контента |
| Подчинённый Agent | spawn_agent | Запуск подчинённых Agent-ов для обработки подзадач |
| Управление сессиями | SessionsSpawn, SessionsList, SessionsSend | Совместная работа между сессиями |
| Навыки | list_skills, read_skill | Просмотр и чтение содержимого навыков |
| MCP | mcp__* (динамически загружаемые) | Инструменты внешних MCP-серверов |
| Управление | Notify, SessionsYield | Уведомления и управление потоком |
Совместная работа подчинённых Agent-ов
Agent-ы могут запускать подчинённых Agent-ов для параллельной обработки подзадач:
- Передний подчинённый Agent — блокирует и ожидает результата, возвращает его непосредственно родительскому Agent-у
- Фоновый подчинённый Agent — выполняется асинхронно в фоне; результаты передаются в родительский цикл по завершении
- Наследование конфигурации Agent-а — подчинённые Agent-ы могут наследовать MCP-инструменты и навыки родительского Agent-а
- Наследование безопасности — подчинённые Agent-ы наследуют настройки безопасности и режим разрешений родительского Agent-а
Система навыков
Навыки (Skills) — это повторно используемые наборы инструкций, существующие в виде файлов SKILL.md:
- Навыки проекта — размещаются в
.claude/skills/, доступны в рамках проекта - Личные навыки — размещаются в
~/.claude/skills/, доступны глобально - Навыки сообщества — поиск и установка через SkillHub
Галерея Agent-ов
Elftia поставляется с разнообразными предварительно настроенными Agent-ами для различных сценариев:
- Помощник по программированию, проверка кода, написание тестов
- Написание документации, перевод и корректура
- Исследовательский анализ, обработка данных
- Автоматизация задач, оркестрация рабочих процессов
Страница Agents: плоская однослойная модель
В версии 0.1.7 выполнено двухэтапное слияние — больше нет «трёхуровневой структуры Persona / Avatar / Agent». Все агенты управляются в одной сетке на странице Agents (
/agents).
Один agent = одна независимая цель разговора
Компоновка страницы:
- Левая панель категорий: 13 категорий (Featured, My, Work, Coding, Creative, Research, Writing, Life, Education, Entertainment, Social, Automation, Tools)
- Поиск сверху: поиск по имени agent-а / описанию / тегам
- Правая сетка: карточки всех встроенных и созданных пользователем agent-ов
Встроенные agent-ы
- Clawia — универсальный Agent, основная точка входа для разговора
- Cocoia — специализирован для плановых задач
- Canvas — визуальное прототипирование
- ClaudeCode — разработка кода
- Design Studio — рабочее место дизайнера
- Artia — творческий помощник
- Динамически загружаемые пакеты класса datia: Deep Research, Visual Layout, Novel Writer и др.
Базовые agent-ы генерации медиа (Chat / Image / Video / Music) остаются в системе и вызываются через выделенные панели входа; они не представлены индивидуально на странице Agents.
Примечания по миграции данных
Базовая миграция данных выполняется автоматически при обновлении:
- v82 (0.1.7, шаг первый): возврат к плоской модели agent-ов; Canvas / ClaudeCode, ранее входившие в Codia, разделены на независимые топ-уровневые agent-ы
- v87 (0.1.7, шаг второй): объединение базовых таблиц Persona и Agent в единую таблицу agent-ов, упрощение модели данных
Исторические сессии полностью сохраняются: сессии, которые ранее относились к Codia, теперь перечислены независимо под agent-ом, который использовался; никакие исторические сообщения не теряются. При необходимости отката команда поддержки может восстановить данные с помощью файлов снимков в <userData>/migrations/.
Быстрый старт
Использование встроенного Agent-а
- Откройте панель Agent (значок Agent на боковой панели)
- Просмотрите галерею Agent-ов и выберите подходящий
- Начните разговор — Agent автоматически вызовет необходимые инструменты
Создание пользовательского Agent-а
- Нажмите «Создать Agent» на панели Agent
- Задайте имя, описание и системную подсказку
- Выберите доступные инструменты и режим разрешений
- Сохраните и начните использовать
Подробные шаги см. в Создание пользовательских Agent-ов.
Часто задаваемые вопросы
| Проблема | Причина | Решение |
|---|---|---|
| Agent не может выполнять инструменты | Тип движка — chat (нет поддержки инструментов) | Переключитесь на движок tinyelf или claude-sdk |
| Выполнение инструментов требует частых подтверждений | Режим разрешений — default | Установите acceptEdits или bypassPermissions |
| Цикл Agent-а останавливается слишком быстро | maxIterations установлено слишком малым | Увеличьте максимальное количество итераций (по умолчанию: 40) |
| MCP-инструменты не отображаются | Нет связанного MCP-сервера | Добавьте MCP-сервер в конфигурацию Agent-а |
| Выполнение подчинённого Agent-а завершается с ошибкой | Файл конфигурации подчинённого Agent-а недействителен | Проверьте формат .claude/agents/*.md |
Связанные ссылки
- Встроенные Agent-ы — Просмотр и использование предустановленных Agent-ов
- Создание пользовательских Agent-ов — Написание собственной конфигурации Agent-а
- Разрешения инструментов и безопасность — Режимы разрешений и настройки безопасности
- Система навыков — Использование и создание навыков