Перейти до вмісту

Використовувати режим плану

Цей посібник показує, як отримати від агента структурований план, перш ніж він напише хоч якийсь код.

У режимі плану агент досліджує лише для читання, і його єдиний результат — це типізований план: граф залежностей кроків, який ви затверджуєте, а Control Center тоді компілює його в справжню роботу. Скористайтеся ним, коли хочете побачити обсяг зміни, отримати розбивку на кроки або щоб ризики й залежності були названі до того, як щось буде зачеплено.

Будь-яка з цих дій перемикає режим простору, і зміна зберігається:

  • Виберіть План у випадаючому списку режимів у крайній лівій частині панелі інструментів редактора повідомлень
  • Натисніть Shift+Tab
  • Надішліть /plan. Сам /plan лише вмикає режим; /plan <request> вмикає його й надсилає решту як ваше повідомлення

/plan ніколи не передається як текст — він задає збережений режим, а той є джерелом істини, з якого читають і поверхня інструментів, і пресет охоронця, і промпт. Тож режим діє для цього ходу й кожного наступного, доки ви не перемкнете його назад.

Режим зберігається на просторі, тож той самий агент може бути в режимі плану тут і в режимі агента в іншому місці.

  1. Він досліджує лише для читання — пам’ять, індекс коду, файли
  2. Він викликає submit_plan один раз, із goal і nodes, де кожен вузол несе стабільний key, title, description і ключі вузлів, від яких він dependsOn (саме це дає змогу незалежній роботі виконуватися паралельно)
  3. Він зупиняється

Інструмент перевіряє граф — дубльовані ключі, висячі залежності, цикли — і повертає порушення, щоб агент їх виправив, а не приймає зламаний план.

План з’являється в розмові як компактний рядок, що показує мету, її стан і кількість кроків. Plan Studio — граф залежностей, інспектор окремих вузлів та оцінка витрат — відкривається як вкладка поряд із розмовою: натисніть Відкрити на рядку або просто зачекайте, бо план, який надійде протягом 30 секунд, поки ви дивитеся на розмову, відкриває свою вкладку сам.

Проза тут не є результатом. Запуск, який завершується, не викликавши submit_plan, публікує в розмові видимий рядок «Ended without submitting a plan (no submit_plan call).» і позначає запуск як такий, що не досяг свого результату. Стан запуску навмисно залишається completed — це зберігає машини станів конвеєрів і тікетів недоторканими — тож читайте рядок, а не бейдж стану.

У рядку плану в розмові натисніть Схвалити й запустити. На смузі затвердження в Plan Studio натисніть Затвердити план (або Відхилити поряд; затвердження вимкнено, поки в графі є помилка валідації).

Далі:

  1. Control Center компілює план в оркестрацію й матеріалізує її — тікети та запуск. Жодна модель не бере участі в цьому кроці; він детермінований
  2. План виконується як той агент, що його написав. Вирішувати, чи залучати когось іще, — це вибір того агента під час запуску: він може через delegate_task віддати крок краще придатному колезі, у межах обмеження глибини делегування робочого простору
  3. Мета плану стає метою розмови, і робота виконується у тій самій розмові: кожен крок публікує те, про що агента попросили, і потоково передає свій хід назад, тож ви стежите за ним (і можете зупинити хід) там, де вже перебуваєте
  4. Рядок мети на бічній панелі Загальне в розмові (під «Задачі») несе поступ запуску як settled/total та його кнопку зупинки; Plan Studio показує стан кожного вузла на графі й теж дає скасувати там

Якщо ви волієте залишитися в цій розмові, а не затверджувати план, агент може викликати exit_plan_mode. Це єдиний дозволений вихід: він відкриває тривалий запит на схвалення, прив’язаний до розмови, і повертає pending — простір залишається в режимі плану, і агент не повинен діяти. Щойно запит схвалено, наступний виклик exit_plan_mode від агента перемикає простір із режиму плану в режим агента й розблоковує його інструменти, що змінюють стан. Відхилення дає йому змогу відкрити новий запит щодо переглянутого плану.

Щоб вийти з режиму плану, перемкніть випадаючий список у редакторі повідомлень (або Shift+Tab) чи затвердьте поданий план. exit_plan_mode відкриває тривале схвалення, яке ухвалюють через інструмент MCP decide_approval. Накладка обмежень для заблокованих викликів інструментів — це інша, внутрішньопам’ятова черга, і вона не переносить запити на вихід із режиму плану.

Вузол конвеєра messaging.createSpace читає режим розмови з додаткового поля mode у конфігурації вузла — extras['mode']: 'plan'. Ключ збігається точно: будь-яке інше написання, зокрема conversationMode або dispatchMode, мовчки ігнорується, і кімната повертається до типового значення тіла — режиму Огляд, а не чату. Крок promptAgent приєднується до кімнати, якої не створював, і не перевизначає її дозволи. Селектор Режим диспетчеризації в редакторі конфігурації вузла (allParallel / manager) призначений для вузлів диспетчеризації команди. Задавайте режим розмови через extras['mode'] у шаблоні, який відкриває простір, або в конфігурації того вузла через API.