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

Конфигурация агента

Эта справка перечисляет все поля сущности агента, а также используемые ею перечисления и флаги. Пошаговое руководство по созданию и редактированию агента в приложении — в разделе Создать и настроить агента.

Поле Тип Обязательно Описание
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.

Роль Метка Описание
ceo CEO Координация и делегирование
coder Coder Реализация кода
reviewer Reviewer Ревью и анализ PR
qa QA Тестирование и обеспечение качества
designer Designer Реализация UI/UX
security Security Проверка и аудит безопасности
devops DevOps Инфраструктура и развёртывание
pm PM Управление продуктом
general General Гибкий, многоцелевой
Значение Описание
workspace Значение по умолчанию; неизвестные и null-значения приводятся к нему
private Приватно для создавшего пользователя
Значение Описание
active Значение по умолчанию. isDispatchable истинно только для него
paused Устанавливается жёсткой остановкой бюджета. Показывается в списке присутствия; запуск всё равно принимает работу
archived Выведен из обращения и скрыт из активных списков

У агента нет флагов разрешений. Push, открытие и публикация pull request, запись во внешний трекер и исходящий сетевой трафик — это классы действий (gitPush, prCreate, prPublish, vendorSyncWrite, networkEgress), которые ограничения разрешают на уровне рабочего пространства, агента или пространства. Токен GitHub запуска всегда имеет область только для чтения; push проходит через шлюз запусков агентов, который перед передачей спрашивает правило gitPush.

Неизменяемый набор идентификаторов навыков без учёта регистра. При запуске эти slug синхронизируются как ссылки на навыки в оверлее агента; затем встроенный раннер автоматически загружает frontmatter связанных навыков в промпт.

{'flutter', 'dart', 'rest-api'}

Не хранится. Семь значений. Порядок объявления — это порядок приоритета (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.