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

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

Elftia поддерживает два способа создания пользовательских Agent: через UI приложения или путём написания конфигурационных файлов .claude/agents/*.md напрямую. Оба подхода в итоге создают файл конфигурации Agent в формате Markdown.

Создание через UI

Шаги

  1. Откройте панель Agent (иконка Agent в боковой панели)
  2. Перейдите на вкладку «Мои Agents»
  3. Нажмите кнопку «Создать Agent»
  4. Заполните следующие поля конфигурации:
ПолеОписаниеПример
ИмяОтображаемое имя AgentFrontend Code Reviewer
ОписаниеКраткое описание возможностей Agent в одном предложенииReview React/TypeScript code quality
Системный промптОсновные инструкции для Agent (формат Markdown)См. примеры ниже
МодельИспользуемая модель LLM или псевдонимmain, background
Список инструментовРазрешённые инструменты (оставьте пустым = наследовать все)Read, Grep, Glob
НавыкиНавыки для автоматической загрузкиcode-standards
Серверы MCPСвязанные серверы MCPgithub-mcp
Режим разрешенийУровень безопасности выполнения инструментовdefault
  1. Нажмите «Сохранить» для завершения

Выбор места хранения

При создании вы можете выбрать место сохранения:

  • Уровень проекта — сохраняется в директорию .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.

Полный справочник полей

ПолеТипПо умолчаниюОписание
namestringимя файлаОтображаемое имя Agent
descriptionstringпустоОписание Agent
modelstringmainВыбор модели (поддерживает псевдонимы)
permissionModestringdefaultРежим разрешений
toolsstring[]наследовать всеСписок разрешённых инструментов
skillsstring[]нетНавыки для автоматической загрузки

Примеры конфигурации

Пример 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-opusclaude-3-sonnet)
opusЗаменить название семейства родительской модели на opus
haikuЗаменить название семейства родительской модели на haiku

Фоновая модель подходит для:

  • Суммаризации содержимого, полученного через WebFetch
  • Простых вспомогательных задач для дочерних Agent
  • Обработки данных, не требующей высоких рассуждательных способностей

Связывание навыков

Перечислите названия навыков в поле skills; их содержимое автоматически внедряется в системный промпт при запуске Agent:

skills:
- code-standards # Project coding standards
- architecture-index # Project architecture index

Порядок поиска навыков:

  1. Директория проекта .claude/skills/<name>/SKILL.md
  2. Личная директория ~/.claude/skills/<name>/SKILL.md
  3. Директория плагинов ~/.elftia/plugins/skills/<name>/SKILL.md
  4. Встроенные навыки

Тестирование и отладка

После создания Agent рекомендуется выполнить следующие тесты:

  1. Базовый разговор — убедитесь, что Agent понимает свою роль и возможности
  2. Вызовы инструментов — проверьте правильность конфигурации списка разрешённых инструментов
  3. Подтверждение разрешений — убедитесь, что режим разрешений работает ожидаемым образом
  4. Загрузка навыков — проверьте, что навыки правильно внедрены в системный промпт
  5. Граничное тестирование — попробуйте заставить Agent использовать несанкционированный инструмент и убедитесь, что в этом правильно отказано

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

ПроблемаПричинаРешение
Agent не использует указанные инструментыСистемный промпт не направляет к их использованиюЯвно укажите в системном промпте, когда использовать какой инструмент
Agent игнорирует системный промптПользовательские сообщения переопределяют инструкцииИспользуйте более настойчивый системный промпт; добавьте ключевые слова типа «необходимо»
Навыки не работаютИмя навыка написано с опечаткойИспользуйте инструмент list_skills для подтверждения доступных имён навыков
Файл сохранён не в то местоПуть неверныйУбедитесь, что файл находится в .claude/agents/ или ~/.claude/agents/
Ошибка разбора YAML frontmatterОшибка форматированияУбедитесь, что используются разделители --- и синтаксис YAML корректен

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