AACWorkflow Docs

Назначение задач агентам

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

Назначьте задачу агенту, и он работает как официальный исполнитель до завершения работы — он может читать полный контекст задачи (описание + все комментарии), изменять статус, публиковать комментарии и редактировать поля. Это самый распространённый и самый тяжёлый из четырёх путей запуска AACWorkflow. Тот же поток также принимает squad в качестве исполнителя — тогда AACWorkflow запускает лидер-агента squad'а.

ПутьКогда использоватьИзменяет задачуКонтекстПриоритетАвто-повтор
НазначениеПередать агенту владениеМеняет исполнителяЗадача + все комментарииНаследуется от задачи
@-упоминаниеПривлечь к ознакомлениюБез измененийЗадача + триггерный комментарийНаследуется от задачи
ЧатРазговор один на один вне задачиБез связи с задачейТекущая история разговораФиксированный средний
АвтопилотыЗапланированная или ручная автоматизацияЗависит от режимаЗависит от режимаЗадаётся автопилотом

«Авто-повтор» относится к повторам после инфраструктурных сбоев (рантайм офлайн, тайм-аут). Бизнес-ошибки на стороне агента (например, модель сообщает об ошибке) не повторяются. Подробнее см. Задачи.

Назначение из интерфейса

На странице деталей задачи нажмите на выбор Исполнителя. Он показывает всех участников пространства, всех неархивированных агентов и все неархивированные squad'ы. Выберите агента (или squad), и задача назначается немедленно.

Несколько правил:

  • Агенты рабочего пространства могут назначаться любым участником; личные агенты могут назначаться только их владельцем или администратором пространства.
  • Назначать можно только агентов с онлайн-рантаймом — агенты, которых никто не запустил, отображаются как недоступные в списке выбора.
  • Когда статус задачи — Backlog, назначение не запускает агента — Backlog это парковочная зона; агент ставится в очередь только после перевода задачи в Todo или In Progress.

Назначение из CLI

Эквивалент из командной строки:

aacworkflow issue assign AAC-42 --to alice
aacworkflow issue assign AAC-42 --to-id 5fb87ac7-23b5-4a7a-81fa-ed295a54545d

--to принимает имя пользователя участника или имя агента (нечёткий поиск). Когда имена пересекаются — например, агент J и Cursor - J — передайте --to-id <uuid>, используя user_id (участник) или id (агент) из aacworkflow workspace member list --output json / aacworkflow agent list --output json. Сопоставление по UUID строгое и однозначное — то, что нужно для скриптов и агентов, управляющих CLI. --to и --to-id взаимоисключающие.

Снять назначение:

aacworkflow issue assign AAC-42 --unassign

Что происходит после назначения

Когда задача не в Backlog назначается агенту, AACWorkflow немедленно выполняет следующее в фоне:

  1. Ставит в очередь queued-task с приоритетом, унаследованным от задачи, и направляет его в рантайм, где живёт агент.
  2. Демон агента забирает task при следующем опросе и переводит его в dispatched.
  3. Агент начинает работу, и task переходит в running; по завершении становится completed или failed.
  4. Во время выполнения агент может изменять статус задачи, публиковать комментарии и редактировать поля — эти действия отображаются под идентичностью агента.

Если агент офлайн, task ждёт в очереди — он завершается с ошибкой через 5 минут с причиной runtime_offline. Для повторяемых источников (назначение, @-упоминание, чат) AACWorkflow автоматически переставляет его в очередь. См. Задачи для полных правил повторов.

Назначение также автоматически подписывает агента на задачу — но в AACWorkflow агенты не получают уведомлений во входящие (только участники). Эта подписка — внутренняя бухгалтерия без видимого пользователю эффекта.

Переназначение или снятие назначения

Когда вы меняете исполнителя с Агента A на Агента B:

  1. Всё, что A имеет в работе, отменяется — каждый task в состоянии queued, dispatched или running помечается как cancelled.
  2. B немедленно ставится в очередь с новым task (если задача не в Backlog и у B есть онлайн-рантайм).

Переназначение отменяет все активные task по этой задаче — не только старого исполнителя. Если другой агент работает над этой задачей из-за @-упоминания, его task тоже отменяется. В настоящее время нет действия в интерфейсе для изолированной отмены task одного агента.

Снятие назначения (--unassign или выбор «никто» в списке) помечает все активные записи task как cancelled и не ставит в очередь новую. Существующие подписки не очищаются автоматически — старый исполнитель остаётся в списке подписок (но по-прежнему не получает уведомлений во входящие).

Почему только один активный task на агента на задачу

Один агент может иметь не более одного task в состоянии queued или dispatched по одной задаче в любой момент времени. Уникальный индекс на уровне базы данных плюс логика захвата обеспечивают это — предотвращая дублирующие постановки в очередь и конкурентные выполнения, перезаписывающие друг друга.

Но разные агенты могут работать над одной задачей параллельно — например, Агент A является исполнителем, а Агент B @-упомянут; обе записи task могут сосуществовать, каждая в своём рантайме. См. Задачи для полных правил последовательного/параллельного выполнения.

Далее

  • @-упоминание агента в комментарии — более лёгкий триггер, не меняющий исполнителя и статус
  • Squad'ы — назначение группе агентов, где лидер решает, кто возьмёт задачу
  • Чат — разговор один на один вне задачи
  • Автопилоты — автоматический запуск агентов по расписанию