Любая работа в AITM начинается с Task. На этой странице описаны все поля диалога New Task и способы формулировать промпты так, чтобы получить хороший результат с первой попытки.

Создание Task

Диалог New Task

Нужно выбрать проект и нажать + New Task (или + Task на карточке проекта). В диалоге три вкладки — Task (сама форма), AI Models и Translate — и кнопка Save. После сохранения Task появляется в очереди в виде карточки со статусом pending и запускается автоматически, как только освобождается слот. Сохранить Task можно и сочетанием Ctrl+Enter.

Диалог New Task, вкладка Task
Диалог New Task — вкладка Task с заголовком, промптом, режимом выполнения, приоритетом, intent и переключателями.

Вкладка Task

  • Title — короткое название Task. Обязательно. Именно оно отображается в списках и уведомлениях, поэтому оно должно быть конкретным.
  • Prompt — что должен сделать AI. Обязательно. Нужно описать цель, ограничения и критерии того, что считается «готово». Над полем находятся кнопка Optimize и селектор языка написания (по умолчанию Auto) со значком используемого языка.
  • Solution и Project — вкладка (solution) и проект, к которым относится изменение. Оба поля обязательны для нового Task.
  • Execution Mode — Pipeline (полный пошаговый Pipeline) или Agent (один автономный Agent). В режиме Agent появляется Agent Test Gate с двумя флажками: Run unit tests и Run E2E tests.
  • Skill — рядом с переключателем режима находятся две небольшие кнопки автоматического или ручного использования Skill; в автоматическом режиме Skills подбираются по тексту промпта. Список Skill (optional) позволяет выбрать один Skill, который всегда включается.
  • Priority — Low, Medium (по умолчанию) или High. Task с более высоким приоритетом берутся из очереди первыми.
  • Intent — Bug, Feature, Enhancement или Other. Обязательно; без него Save отклоняет форму.
  • Use Worktree, Use Pipeline, Auto-merge → dev — эти параметры стоит оставлять включёнными, если нет чёткой причины иначе. Worktree изолирует Task от другой работы в процессе; Auto-merge автоматически вливает готовую ветку в dev.
  • Lite mode — пропускает шаг планирования Architect, если модель для кода достаточно сильна, чтобы планировать самостоятельно; для более слабых моделей всё равно используется полный Pipeline.
  • Pipeline Steps — переключатели для отдельного Task: Architect, Review + Fix, Unit Tests и E2E Tests. Docs всегда включён и не может быть пропущен.
  • Dependencies — другие Task, которые должны завершиться до начала этого.

Вкладка AI Models

Здесь для данного Task можно переопределить провайдера и модель для каждого AI-шага (architect, code, compliance-check, review, fix, test, e2e, docs), а также лимиты по числу ходов и времени выполнения. Compliance-check пропускает более простые Task. Всё, что оставлено пустым, наследуется из настроек проекта или глобальных настроек. Кнопка Apply provider to all steps заполняет сразу весь столбец.

Диалог New Task, вкладка AI Models
Вкладка AI Models — провайдер, модель и лимиты для каждого шага в рамках одного Task.

Вкладка Translate

Показывает перевод промпта, который можно редактировать.

Optimize — улучшение промпта

Optimize поручает AI переписать черновой промпт в точный. После этого можно переключаться между Original prompt и Optimized prompt, открыть Changes, чтобы увидеть, что изменено, а исходный текст остаётся виден под формой как Original prompt (before optimization). Позже окно деталей Task показывает обе версии: исходную над оптимизированной.

Детали Task с исходным и оптимизированным промптом
Детали Task: исходный промпт над оптимизированным.

Редактирование Task

Значок Edit (карандаш) на карточке Task — доступный, пока Task не выполняется — открывает тот же диалог под названием Edit Task, заполненный текущими значениями Task. Нужно изменить требуемое и нажать Save.

Редактирование существующего Task
Диалог Edit Task, заполненный значениями существующего Task.

Цепочки зависимых Task

Если работа одного Task должна быть выполнена до начала другого (например, «добавить столбец в базу данных» перед «использовать столбец в API»), первый Task указывается в поле Dependencies. Зависимый Task ждёт, пока его предшественник не будет влит в dev, и только потом начинается, поэтому он всегда стартует с кодовой базы, уже содержащей предыдущее изменение.

Сочетания при вводе (IntelliSense)

Поле промпта (а также поля сообщений Chat и Brainstorm) предлагает автодополнение при вводе одного из этих символов:

ВводЧто вставляется
@keywordключевое слово
@@keywordключевое слово с его полным содержимым
#taskссылка на другой Task
##bugссылка на ошибку (bug)
$skillSkill
_variableкод переменной — точное имя части приложения
~hintзапись из Hint Dictionary

Стоит начать вводить символ-триггер, и появится выпадающий список подходящих вариантов — выбранный вариант вставляется в промпт.

Выпадающий список IntelliSense
Выпадающий список IntelliSense предлагает совпадения при вводе символа-триггера.
Полностраничный вид IntelliSense
Полностраничный вид подсказок IntelliSense, открытых в редакторе промпта.
Кнопка вставки переменной в диалоге New Task
Кнопка Var в диалоге New Task для вставки ссылки на переменную без ручного ввода.

Советы

  • Ссылки _variable лучше описаний расположения кода обычными словами — это быстрее и однозначно для AI.
  • Если изменение естественным образом делится на упорядоченные шаги, его лучше разбить на зависимые Task, а не писать один гигантский промпт.
  • Не стоит забывать про Intent — без него Task не сохранится.
  • Task со статусом failed сохраняет весь вывод консоли и причину сбоя; нужно прочитать их, скорректировать промпт и попробовать снова.