Создание пользовательских агентов
Elftia поддерживает два способа создания пользовательских Agent: через UI приложения или путём написания конфигурационных файлов .claude/agents/*.md напрямую. Оба подхода в итоге создают файл конфигурации Agent в формате Markdown.
Создание через UI
Шаги
- Откройте панель Agent (иконка Agent в боковой панели)
- Перейдите на вкладку «Мои Agents»
- Нажмите кнопку «Создать Agent»
- Заполните следующие поля конфигурации:
| Поле | Описание | Пример |
|---|---|---|
| Имя | Отображаемое имя Agent | Frontend Code Reviewer |
| Описание | Краткое описание возможностей Agent в одном предложении | Review React/TypeScript code quality |
| Системный промпт | Основные инструкции для Agent (формат Markdown) | См. примеры ниже |
| Модель | Используемая модель LLM или псевдоним | main, background |
| Список инструментов | Разрешённые инструменты (оставьте пустым = наследовать все) | Read, Grep, Glob |
| Навыки | Навыки для автоматической загрузки | code-standards |
| Серверы MCP | Связанные серверы MCP | github-mcp |
| Режим разрешений | Уровень безопасности выполнения инструментов | default |
- Нажмите «Сохранить» для завершения
Выбор места хранения
При создании вы можете выбрать место сохранения:
- Уровень проекта — сохраняется в директорию
.claude/agents/текущего проекта; доступно только в этом проекте - Личный уровень — сохраняется в
~/.claude/agents/; доступно во всех проектах
Создание через файл
Просто создайте файл Markdown в директории .claude/agents/. Имя файла становится идентификатором Agent.
Формат файла
---
name: Agent Name
description: Agent description
model: main
permissionMode: default
tools:
- Read
- Write
- Edit
- Bash
- Glob
- Grep
- ListDir
- WebSearch
- WebFetch
skills:
- code-standards
---
This is the body of the system prompt (Markdown format).
The Agent will follow these instructions when executing tasks.
Полный справочник полей
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
name | string | имя файла | Отображаемое имя Agent |
description | string | пусто | Описание Agent |
model | string | main | Выбор модели (поддерживает псевдонимы) |
permissionMode | string | default | Режим разрешений |
tools | string[] | наследовать все | Список разрешённых инструментов |
skills | string[] | нет | Навыки для автоматической загрузки |
Примеры конфигурации
Пример 1: Ассистент по программированию
Сфокусирован на задачах кодирования с полным доступом к файловой системе и оболочке.
---
name: Full-Stack Programming Assistant
description: Full-stack development assistant, proficient in TypeScript/React/Node.js
model: main
permissionMode: acceptEdits
tools:
- Read
- Write
- Edit
- Bash
- Glob
- Grep
- ListDir
- WebSearch
- WebFetch
- spawn_agent
skills:
- code-standards
- architecture-index
---
You are a full-stack development assistant, proficient in TypeScript, React, and Node.js.
## Workflow
1. Understand the requirements first; ask clarifying questions if needed
2. Use Glob/Grep to find relevant code
3. Use Read to review key files
4. Formulate an implementation plan
5. Use Write/Edit to write code
6. Use Bash to run tests
## Coding Standards
- Follow the project's ESLint and Prettier configuration
- New files should not exceed 400 lines
- Use TypeScript strict mode
- Add JSDoc comments for public APIs
Пример 2: Исследовательский аналитический агент
Режим только для чтения, сфокусирован на сборе и анализе информации.
---
name: Research Analyst
description: Gather information from the codebase and the web for in-depth analysis
model: main
permissionMode: plan
tools:
- Read
- Glob
- Grep
- ListDir
- WebSearch
- WebFetch
- list_skills
- read_skill
---
You are a research analyst skilled at gathering information from codebases and the web.
## Working Method
1. Carefully understand the research topic
2. Use Grep/Glob to search the codebase for relevant information
3. Use WebSearch to find external references
4. Use WebFetch to retrieve detailed web content
5. Synthesize all information into a structured analysis report
## Output Format
Use Markdown format for the report, including:
- Summary
- Key findings
- Detailed analysis
- Recommendations and conclusions
Пример 3: Агент автоматизации задач
Использует фоновые дочерние Agent для параллельной обработки нескольких подзадач.
---
name: Task Orchestrator
description: Break down complex tasks into subtasks and execute them in parallel
model: main
permissionMode: acceptEdits
tools:
- Read
- Write
- Edit
- Bash
- Glob
- Grep
- ListDir
- spawn_agent
- Notify
---
You are a task orchestrator skilled at breaking complex tasks into parallelizable subtasks.
## Workflow
1. Analyze the task and identify subtasks that can run in parallel
2. Use spawn_agent to launch sub-Agents for each subtask
3. Collect the results from sub-Agents
4. Integrate the results and verify consistency
5. Use Notify to signal task completion
## Sub-Agent Principles
- Each sub-Agent is responsible for one well-defined subtask
- Prefer background mode (background: true) for parallel execution
- Equip sub-Agents with the minimum necessary tool set
- Set a reasonable maxIterations to avoid infinite loops
Конфигурация списка разрешённых инструментов
Поле tools управляет тем, какие инструменты Agent может использовать.
Доступные названия инструментов
| Инструмент | Описание | Чувствительность |
|---|---|---|
Read | Чтение содержимого файла | Безопасный |
Write | Запись файлов | Чувствительный |
Edit | Редактирование файлов (поиск и замена) | Чувствительный |
ListDir | Список содержимого директории | Безопасный |
Glob | Сопоставление с образцом имён файлов | Безопасный |
Grep | Поиск по содержимому | Безопасный |
Bash | Выполнение команд оболочки | Чувствительный |
WebSearch | Поиск в интернете | Безопасный |
WebFetch | Получение веб-содержимого | Безопасный |
spawn_agent | Запуск дочернего Agent | Чувствительный |
list_skills | Список доступных навыков | Безопасный |
read_skill | Чтение содержимого навыка | Безопасный |
Notify | Отправка уведомлений на рабочий стол | Безопасный |
SessionsYield | Завершение цикла Agent | Безопасный |
:::tip Оставьте пустым для наследования всех инструментов
Если поле tools не задано, Agent наследует все доступные инструменты (включая инструменты MCP). Задавайте список разрешённых только тогда, когда нужно ограничить область инструментов.
:::
Подробности о псевдонимах моделей
| Псевдоним | Поведение |
|---|---|
main / inherit | Использовать основную модель текущего сеанса |
background | Использовать фоновую модель, настроенную пользователем в настройках (как правило, облегчённая модель, например Haiku) |
sonnet | Заменить название семейства родительской модели на sonnet (например, claude-3-opus → claude-3-sonnet) |
opus | Заменить название семейства родительской модели на opus |
haiku | Заменить название семейства родительской модели на haiku |
Фоновая модель подходит для:
- Суммаризации содержимого, полученного через WebFetch
- Простых вспомогательных задач для дочерних Agent
- Обработки данных, не требующей высоких рассуждательных способностей
Связывание навыков
Перечислите названия навыков в поле skills; их содержимое автоматически внедряется в системный промпт при запуске Agent:
skills:
- code-standards # Project coding standards
- architecture-index # Project architecture index
Порядок поиска навыков:
- Директория проекта
.claude/skills/<name>/SKILL.md - Личная директория
~/.claude/skills/<name>/SKILL.md - Директория плагинов
~/.elftia/plugins/skills/<name>/SKILL.md - Встроенные навыки
Тестирование и отладка
После создания Agent рекомендуется выполнить следующие тесты:
- Базовый разговор — убедитесь, что Agent понимает свою роль и возможности
- Вызовы инструментов — проверьте правильность конфигурации списка разрешённых инструментов
- Подтверждение разрешений — убедитесь, что режим разрешений работает ожидаемым образом
- Загрузка навыков — проверьте, что навыки правильно внедрены в системный промпт
- Граничное тестирование — попробуйте заставить Agent использовать несанкционированный инструмент и убедитесь, что в этом правильно отказано
Часто задаваемые вопросы
| Проблема | Причина | Решение |
|---|---|---|
| Agent не использует указанные инструменты | Системный промпт не направляет к их использованию | Явно укажите в системном промпте, когда использовать какой инструмент |
| Agent игнорирует системный промпт | Пользовательские сообщения переопределяют инструкции | Используйте более настойчивый системный промпт; добавьте ключевые слова типа «необходимо» |
| Навыки не работают | Имя навыка написано с опечаткой | Используйте инструмент list_skills для подтверждения доступных имён навыков |
| Файл сохранён не в то место | Путь неверный | Убедитесь, что файл находится в .claude/agents/ или ~/.claude/agents/ |
| Ошибка разбора YAML frontmatter | Ошибка форматирования | Убедитесь, что используются разделители --- и синтаксис YAML корректен |
Связанные ссылки
- Встроенные Agents — Справочник конфигурации предустановленных Agents
- Разрешения инструментов и безопасность — Подробное объяснение режимов разрешений
- Система навыков — Создание и управление навыками