Перейти к основному содержимому

Обзор Agent

Agent — одна из ключевых возможностей Elftia. Она выводит AI за рамки пассивного ответа на вопросы, наделяя его способностью проактивно выполнять задачи — читать и записывать файлы, запускать команды, искать в интернете, вызывать внешние инструменты и даже координировать параллельную работу нескольких подчинённых Agent-ов.

Что такое Agent

В традиционном чате AI может только генерировать текст. В режиме Agent AI может:

  1. Анализировать задачу — понять запрос и составить план выполнения
  2. Вызывать инструменты — читать файлы, редактировать код, запускать команды
  3. Итерировать — проверять результаты, исправлять ошибки, продолжать выполнение
  4. Возвращать результат — дать финальный ответ после завершения задачи

Этот цикл «думать → действовать → наблюдать → думать снова» называется Agent Loop (циклом Agent-а).

Сообщение пользователя → Диспетчер движка → LLM думает → Вызов инструмента → Наблюдение результата → Продолжить цикл или вернуть ответ
↑ ↓
└───────────────────────────────────────────────────────────┘

Многодвижковая архитектура

Elftia поддерживает несколько движков Agent, каждый из которых подходит для разных сценариев:

Тип движкаIDОписаниеЛучше всего для
TinyElftinyelfВстроенный лёгкий движок Agent в ElftiaПовседневное программирование, файловые операции, задачи автоматизации
Claude SDKclaude-sdkНа основе официального Anthropic Agent SDKСценарии, требующие нативного инструментария Claude
CLI RunnercliВнешние инструменты командной строки (Claude Code, Codex)Использование внешних CLI Agent-ов
ChatchatЧистый чат-движок (без вызовов инструментов)Простые вопросы и ответы, перевод, написание текстов
STChatst-chatДвижок однооборотной беседыБыстрые однооборотные задачи
APIapiЛёгкие вызовы 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Чтение, запись и поиск файлов проекта
ShellBashВыполнение команд терминала
ВебWebSearch, WebFetchПоиск и получение веб-контента
Подчинённый Agentspawn_agentЗапуск подчинённых Agent-ов для обработки подзадач
Управление сессиямиSessionsSpawn, SessionsList, SessionsSendСовместная работа между сессиями
Навыкиlist_skills, read_skillПросмотр и чтение содержимого навыков
MCPmcp__* (динамически загружаемые)Инструменты внешних 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-а

  1. Откройте панель Agent (значок Agent на боковой панели)
  2. Просмотрите галерею Agent-ов и выберите подходящий
  3. Начните разговор — Agent автоматически вызовет необходимые инструменты

Создание пользовательского Agent-а

  1. Нажмите «Создать Agent» на панели Agent
  2. Задайте имя, описание и системную подсказку
  3. Выберите доступные инструменты и режим разрешений
  4. Сохраните и начните использовать

Подробные шаги см. в Создание пользовательских Agent-ов.

Часто задаваемые вопросы

ПроблемаПричинаРешение
Agent не может выполнять инструментыТип движка — chat (нет поддержки инструментов)Переключитесь на движок tinyelf или claude-sdk
Выполнение инструментов требует частых подтвержденийРежим разрешений — defaultУстановите acceptEdits или bypassPermissions
Цикл Agent-а останавливается слишком быстроmaxIterations установлено слишком малымУвеличьте максимальное количество итераций (по умолчанию: 40)
MCP-инструменты не отображаютсяНет связанного MCP-сервераДобавьте MCP-сервер в конфигурацию Agent-а
Выполнение подчинённого Agent-а завершается с ошибкойФайл конфигурации подчинённого Agent-а недействителенПроверьте формат .claude/agents/*.md

Связанные ссылки