Спілкуватися з агентом
Цей посібник показує, як працювати з агентом у просторі.
Створіть простір
Розділ із назвою «Створіть простір»- Перейдіть до Простори на бічній панелі
- Натисніть кнопку + поряд із заголовком «Простори»
- Введіть назву — це обов’язково. Порожню назву відхилено; діалог залишається відкритим
- За бажанням додайте агентів із робочого простору
- Якщо в робочому просторі є хоч один репозиторій, з’являється вибір репозиторіїв. Спочатку вибрано всі репозиторії; звузьте вибір (зокрема знявши позначку з окремого репозиторію) до тих, для яких цей простір має готувати worktree
- Підтвердьте
Control Center відкриває простір і у фоновому режимі починає готувати по одному worktree з copy-on-write для кожного вибраного репозиторію.
Надішліть перше повідомлення
Розділ із назвою «Надішліть перше повідомлення»Введіть повідомлення в редакторі повідомлень і натисніть Enter. Агента запущено, і він починає потоково передавати свою відповідь.
Якщо простір ще готується, ваше повідомлення не втрачається, а притримується — редактор повідомлень тримає його й надсилає автоматично, щойно завершиться підготовка worktree.
Поки агент працює, ви бачите, як надходить потік його ходу: сегменти міркувань, виклики інструментів (читання й запис файлів, команди оболонки) і текст відповіді — усе в межах одного повідомлення ходу агента.
Коригуйте агента, який працює
Розділ із назвою «Коригуйте агента, який працює»Поки агент працює, звичайний розмовний текст не ставить новий хід у чергу. Він стає карткою коригування в черзі на смузі над редактором повідомлень і вставляється в активний запуск на наступній межі ходу. Жодного спливного повідомлення немає — сама картка і є зворотним зв’язком.
Три речі змінюють цю поведінку:
- Повідомлення з @-згадкою завжди надсилається як повідомлення, ніколи як коригування
- Повідомлення, що починається зі slash-команди, завжди обробляється як ця команда
- Повідомлення з вкладенням завжди надсилається як повідомлення — черга коригування приймає лише текст
- Якщо всі активні запуски вже завершилися, текст проходить далі й надсилається як звичайне повідомлення
Схваліть заблоковану дію
Розділ із назвою «Схваліть заблоковану дію»Коли агент натрапляє на дію, яку пропускають через обмеження — руйнівну команду,
привілейований інструмент — сервер блокує запуск і публікує запит на
схвалення всім під’єднаним клієнтам. Якщо в цей момент у вас відкрито цю
розмову, запит з’являється у чаті, над редактором повідомлень, у вигляді
тієї самої картки з пронумерованими варіантами, що й для ask_user (відхилити,
схвалити і, за бажанням, схвалити на 8 годин). Пропустити не можна: заблокований
агент чекає на рішення.
Якщо ви перебуваєте в іншому місці застосунку, панель, що завжди зверху, в оболонці все одно показує, що саме чекає, тож ви можете розблокувати агента, не шукаючи потрібний простір. Ця накладна панель ховає запит тієї ж миті, коли розмова цього простору з’являється на екрані, тож ви ніколи не відповідаєте на той самий запит двічі.
Тут немає тайм-ауту: заблокований агент чекає, доки хтось ухвалить рішення. Той самий запит також з’являється на смузі уваги у «Вхідних» і в мобільному клієнті.
Дайте відповідь на запитання агента
Розділ із назвою «Дайте відповідь на запитання агента»Агент, якому потрібна ваша перевага, якого бракує вимоги або який стоїть перед
справжнім роздоріжжям, мусить викликати ask_user. Якщо написати запитання
як повідомлення в чаті, хід завершиться, і вам доведеться звертатися до агента
ще раз. Інструмент показує в розмові картку з пронумерованими варіантами —
варіанти, необов’язкове поле вільного тексту або й те, і те — а запуск чекає на
вашу відповідь.
Торкніться одного варіанта, щоб надіслати його (кінцева цифра перетворюється на
стрілку під час наведення). Для вибору кількох варіантів і введених відповідей
використовуйте Продовжити (⌘↵ / Ctrl↵). Пропустити каже агенту
вибрати розумний типовий варіант і більше не питати.
Це окремий механізм від картки схвалення вище: схвалення — це «чи можна мені це зробити?», а запитання — «що саме з цього ви мали на увазі?». Запитувати можна на вбудованому harness у будь-якому режимі, зокрема в режимах лише для читання (він нічого не змінює), і його навмисно не загорнуто в запит на схвалення — діалог перед діалогом закрився б із відмовою, якби не було під’єднаного того, хто схвалює. Запуск, який не має розмови, куди це відобразити, просто не отримує цього інструмента.
Зупиніть агента
Розділ із назвою «Зупиніть агента»Поки запуски тривають, кнопка надсилання в редакторі повідомлень стає кнопкою Зупинити. Очистьте редактор і натисніть її — це зупиняє всіх агентів, які працюють у цій розмові.
У заголовку простору немає елемента керування зупинкою, як і гарячої клавіші для неї. Щоб зупинити лише один запуск, коли їх триває кілька, відкрийте вкладку активності цього запуску — у її заголовку є призупинення/відновлення й зупинка в межах запуску (зупинка просить підтвердження). Спостережуваність → Наживо перелічує кожного агента, який працює в робочому просторі, з тим самим елементом керування.
Зупинений запуск позначено як зупинений. Надішліть нове повідомлення, щоб запустити знову.
Використовуйте slash-команди
Розділ із назвою «Використовуйте slash-команди»Введіть / у редакторі повідомлень, щоб побачити список команд. Ось ті, які
змінюють поведінку розмови:
| Команда | Що вона робить |
|---|---|
/plan |
Перемикає простір у режим плану. Сам /plan лише вмикає режим; /plan <request> вмикає його й надсилає решту як ваше повідомлення |
/goal <text> |
Записує робочу ціль розмови |
/loop <text> |
Ітерує завдання, доки його не завершено |
/compact |
Згортає старішу історію в закріплений підсумок і продовжує на стисненому контексті |
/todo … |
Переглядає та редагує збережений список завдань цієї розмови |
Навички з’являються в тому самому списку у власному просторі назв skill:, тож
вони ніколи не збігаються з командами вище — навичка з назвою plan чи compact
залишається доступною:
| Команда | Що виконується |
|---|---|
/skill:<name> |
Навичка, встановлена в робочому просторі або прикріплена до агента |
/skill:<repo>:<name> |
Навичка, яку постачає один із репозиторіїв, вивантажених у цьому просторі |
Навички репозиторію позначено значком того репозиторію, з якого вони походять, бо
сама назва не каже, чиї домовленості вона відображає, а два репозиторії можуть
кожен постачати навичку testing. Щоб знайти таку навичку, не потрібно вводити
префікс: введення самої назви навички також збігається із записами з простором
назв.
Агент завжди несе лише навички того репозиторію, у якому він працює зараз — див. Навички в межах репозиторію. Редактор повідомлень так не обмежений: ви можете викликати навичку будь-якого репозиторію, назвавши її.
/compact і /todo перехоплює клієнт, і вони ніколи не зберігаються як
повідомлення — рядок /compact у транскрипті відсунув би межу наступної
компакції на один хід назад. /plan перемикає збережений режим простору, а не
подорожує як текст. Тож жодна з цих трьох не є «повідомленням, яке ви надсилаєте
агенту»; не сподівайтеся побачити їх в історії.
Спершу попросіть план
Розділ із назвою «Спершу попросіть план»Перед складною зміною перемкніть простір у режим плану за допомогою /plan,
випадаючого списку режимів на панелі інструментів редактора повідомлень або
Shift+Tab. Тоді агент досліджує в режимі лише для читання й видає типізований
план, який ви схвалюєте, перш ніж почнеться будь-яка робота. Див.
Використовувати режим плану.
Дістаньтеся агента без окремого простору
Розділ із назвою «Дістаньтеся агента без окремого простору»Вам не потрібен окремий простір для кожного агента. У будь-якому просторі:
@alice can you look at the failing tests in src/auth_test.dart?Згаданого агента додають до простору й запускають із контекстом цього простору. Про те, як зіставляються імена, див. @-згадувати агентів.
Пов’язані практичні посібники
Розділ із назвою «Пов’язані практичні посібники»- Використовувати простори
- @-згадувати агентів
- Використовувати режим плану
- Налаштувати інтеграцію Slack, щоб робити те саме зі Slack