Конфигурация агента
Эта справка перечисляет все поля сущности агента, а также используемые ею перечисления и флаги. Пошаговое руководство по созданию и редактированию агента в приложении — в разделе Создать и настроить агента.
Поля сущности агента
Заголовок раздела «Поля сущности агента»| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
String |
Да | Уникальный идентификатор агента |
name |
String |
Да | Короткий идентификатор для @-упоминаний |
title |
String |
Да | Понятное человеку название роли |
agentMdPath |
String |
Да | Абсолютный путь к файлу определения .md агента |
workspaceId |
String |
Да | Владеющее рабочее пространство (не null) |
reportsTo |
String? |
Нет | Идентификатор родительского агента |
skills |
AgentSkills |
Да | Набор идентификаторов навыков |
persona |
String? |
Нет | Поведенческие инструкции в свободной форме |
systemPrompt |
String? |
Нет | Переопределение системного промпта по умолчанию |
adapterId |
String? |
Нет | Идентификатор адаптера вывода |
modelId |
String? |
Нет | Идентификатор модели внутри адаптера |
strictMode |
bool |
Нет | По умолчанию false. Записывается в строку и в AGENTS.md агента |
effort |
String? |
Нет | Идентификатор уровня рассуждений (например, 'low', 'xhigh'), берётся из thinkingLevels выбранной модели |
contextSize |
int? |
Нет | Максимальный размер контекстного окна |
role |
AgentRole? |
Нет | Роль агента |
monthlyBudgetCents |
int |
Нет | Месячный лимит расходов в центах (по умолчанию 0 — без ограничений) |
silenceTimeoutMinutes |
int? |
Нет | Переопределение таймаута тишины в минутах; должно быть null или в диапазоне 1–240 (проверяется в конструкторе) |
maxConcurrentTasks |
int |
Нет | По умолчанию 1. Показатель ёмкости, о котором сообщает модель присутствия (с ним сравниваются число выполняющихся и стоящих в очереди запусков) |
visibility |
AgentVisibility |
Нет | По умолчанию workspace |
lifecycleStatus |
AgentLifecycleStatus |
Нет | Статус управления (по умолчанию active). Записывается жёсткой остановкой бюджета и отображается на оргструктуре и в списке присутствия. Запуск всё равно принимает работу от агента в состоянии paused |
budgetPolicyId |
String? |
Нет | Идентификатор общей политики бюджета; если null, напрямую применяется monthlyBudgetCents |
runtimeProfileId |
String? |
Нет | Идентификатор пользовательского профиля среды выполнения |
createdAt |
DateTime |
Да | Отметка времени создания |
name и title должны быть непустыми (проверяется в конструкторе). Значение
monthlyBudgetCents по умолчанию — 0 — означает отсутствие ограничений. Записать потолок можно через agents.upsert.
Перечисление AgentRole
Заголовок раздела «Перечисление AgentRole»| Роль | Метка | Описание |
|---|---|---|
ceo |
CEO | Координация и делегирование |
coder |
Coder | Реализация кода |
reviewer |
Reviewer | Ревью и анализ PR |
qa |
QA | Тестирование и обеспечение качества |
designer |
Designer | Реализация UI/UX |
security |
Security | Проверка и аудит безопасности |
devops |
DevOps | Инфраструктура и развёртывание |
pm |
PM | Управление продуктом |
general |
General | Гибкий, многоцелевой |
Перечисление AgentVisibility
Заголовок раздела «Перечисление AgentVisibility»| Значение | Описание |
|---|---|
workspace |
Значение по умолчанию; неизвестные и null-значения приводятся к нему |
private |
Приватно для создавшего пользователя |
Перечисление AgentLifecycleStatus
Заголовок раздела «Перечисление AgentLifecycleStatus»| Значение | Описание |
|---|---|
active |
Значение по умолчанию. isDispatchable истинно только для него |
paused |
Устанавливается жёсткой остановкой бюджета. Показывается в списке присутствия; запуск всё равно принимает работу |
archived |
Выведен из обращения и скрыт из активных списков |
Разрешения
Заголовок раздела «Разрешения»У агента нет флагов разрешений. Push, открытие и публикация pull request, запись во внешний трекер и исходящий сетевой трафик — это классы действий (gitPush, prCreate, prPublish, vendorSyncWrite, networkEgress), которые ограничения разрешают на уровне рабочего пространства, агента или пространства. Токен GitHub запуска всегда имеет область только для чтения; push проходит через шлюз запусков агентов, который перед передачей спрашивает правило gitPush.
AgentSkills
Заголовок раздела «AgentSkills»Неизменяемый набор идентификаторов навыков без учёта регистра. При запуске эти slug синхронизируются как ссылки на навыки в оверлее агента; затем встроенный раннер автоматически загружает frontmatter связанных навыков в промпт.
{'flutter', 'dart', 'rest-api'}AgentLiveState (производное)
Заголовок раздела «AgentLiveState (производное)»Не хранится. Семь значений. Порядок объявления — это порядок приоритета (sortPriority, закреплён тестом), и именно по нему сортируется список:
| Состояние | sortPriority |
Условие |
|---|---|---|
running |
0 | Хотя бы один журнал запуска имеет статус running |
blocked |
1 | liveness последнего запуска равен blocked, stalled или looping |
failed |
2 | Статус последнего запуска — error, либо его liveness — failed или dead |
queued |
3 | Запуск отправлен, но не выполняется — припаркован за другим запуском того же агента или записан, но ещё не начат |
succeeded |
4 | Запуск успешно завершился |
idle |
5 | Агент уже запускался, и у него ничего не выполняется |
neverRun |
6 | Журналов запуска не существует |
queued и succeeded существуют только для отдельного запуска. deriveAgentLiveState, вычисляющий состояние агента в списке, никогда не выдаёт ни то, ни другое — он возвращает neverRun, running, failed, blocked или idle.