Агенты паралельнага кодавання з Git Worktrees, Conductor і Antigravity 2.0
Агенты паралельнага кодавання з git worktrees, Conductor і Antigravity 2.0: коардынатор, адзін worktree на кожнага агента, і дзесятак функцыяй SRE за апошнія пяць гадзін.
Крыніцы: Orchestrating with Antigravity: A Crescendo of Agents (Part 2)
Адзін ад керавання тэрміналамі да візуальнага інструментарыя
Калі 2025 год быў годамі AI-агента, то 2026 год, судзіцься, будзе годамі, калі багато агентаў будуць працаваць разам, і аднаго з інжынераў Google ранае прыпускалася, што гэты год стане годамі оркестрацыі агентаў. Проблемы быстра выяўляюцца для тых, хто постоянна працуе з тэрміналамі. Прабаўка коордынацыі команды паралельных сабагентаў, якія ствараюць маленьку гру з гадзінкамі, з вікнамі tmux, завантажэннямымі з рэпазітарыяў і стыкерамі на манітары, каб памятаць, калькі рунт выпаловае што, ператварылася на справжню канцэптуальную хаос.
На фота паказаны калькі рабочых столаў macOS, заполненых тэрміналамі agy з стыкерамі, што ўсё адносна чыста паказвае, як выглядае кераванне паралельнымі працоўнымі прасторамі агентаў без належных інструментаў.
Ідэя стварэння даплікаў з апаратаментам мнагах агентаў паходзіць з пасты з чэрвеня 2026 года, якая паказала, як адна запроска стварыла чатыры паралельныя агенты-распрацоўшчыкі і прыготавіла рабочы даплік за менш чым две хвіліны. Адмініструемыя кліентскія інструменты чудовы для задач з аднай вяселкай, але кальколькі адночасных потокаў агентаў, кожны з якіх мае свой галузевы структура, механізмы перагляду і зворотнай свярзкі коордынатора, не пасвячаюцца ў просты буфер для відновлення дадзеных. Самэ таму наступным крокам была пераходка да дэсктопнага дапліка Antigravity 2.0.
Эты прыглык аб’еднвае ўсё па праектах, фактычна як папкі, і паказвае тэтыкі пад кожным з іх, пачынаючы з найсвежэйшых. У персональным праекце можа быць тэтыка для дадзення сіньяя кнопкі выхаду з абмованым паролем і іншая для дадзення маршрута /checkout/ у бэкэндзе, тады як у рабочым праекце ёсць тэтыкі для напісання doc/PRD.md і дадзення тэстаў на безпеку. Тэтыкі можна архіваваць, таму яны застаюцца пасля перзапуску, і больш нікому не трэбаюць фізычныя стыкеры.
Калі візуальны інструмент працюе, наступны вопыт — масштабаванне. Одна песочніца і ігра-іграшка — гэта проста. Гэта рашытка дазволяе ператворыць дэсктопны прыглык у сімуляцыю SRE з 12 трактамі, якая выкарыстоўвае Git worktrees, оркестратор на адной з базаў Rails пад назвай Conductor++ і агента-консьержа пад назвай Agostina.
На іллюстрацыі паказана разработчыца, якая намагаецца контролаваць купу падагентаў worktree, трэмучы панеттон у руках.
Запрос, які спачатку ўсё пачаў
Інспірацыяяй стаў канпактны запрос на стварэнне дапынгу для броніравання гастроў у гатэлі з невялікай групай агентаў.
Let's build a hotel room booking app [..].
First, launch the Engineering Manager agent to ... into an artifact called 'architecture.md'.
Once the design is ready, launch three agents in parallel:
1. Test Manager: Write <SPECS> to 'architecture.md'.
2. Backend Engineer: Build an API based on <SPECS> .
3. Frontend Engineer: Build a web UI based on <SPECS> to interact with the API <details>.
[..] How to sync the 3 sub-agents [..]
Finally, spin up both components and a browser so I can test the live app.
Якшае прачытанне паказвае, што ў ём:
- опіс жаданага продукту, у даным случае — дапрыямоўчыка для броніравання гатэлів
- команда з трох сабеагентаў
- парадак і час іх взаімадзеяння
- што адбываецца напрыканце, калі сістэма запускаецца для чалавека, які не ўтрымліваецца ў жорсткай вярсі ланцуга для перагляду
- гэта самае важлівая рэч — стан спяльнага файла: спяльны файл
architecture.md
Дыяграма паказвае, як агенты взаінодзейнуюць у гэтым прыкладзе. Гэта метапрограмаванне у чыстай форме. Запрос не опісвае код, ён опісвае команду, якая будзе пісаць код. А агенты разважаюцца адзін з другім праз файл у фармаце Markdown, што значыць, што самыя спецыфікацыі ёсць каналам кантакту.
Спісак пажаданняў для паралельнай наладкі быў шырэйшы: рэалізацыя запускаецца за дапамогою GitHub Issues (GHI), тады кожны падагент атрымлеў рэальны тыкет.
Складовыя рабочага працэсу
Наладку складае калькі элементаў.
- Інтэграцыя тыкетаў. Кожны падагент павінен працаваць над тыкетам, калі такі існуе.
- Rails для AI. Пашырэнне Conductor дае працы агента певныя „рэлі“, тыя бачыць чыткія межы. Адзін тыкет не завжды ўсталявае достатню інфармацыю, каб агент могаў дзеяць, і інодзе людзі, якія участвуюць у працэсе (HITL), павінны адпаведзаць на складныя запытанні, чыяму спакойна не стануць рэалізацыі недбалымі, напрыклад, калі кажуць: „Звычайна, я мел на увазе толькі аўтэнтыфікованых корыстувачоў.“
git worktree. Worktrees не дазваюць двум або большаму коллекцыям агентаў зіпсаваць аднойчы той самы рэпазітарый. Калі N агентаў ствараюць запросы прыўязкі да удалённых галоў, таксама мае сэнс існаванне „гіт-кансьержа“, які перакладае код у галоўную галоўку. Гэтае абавесце павінна быць аберэжным. Калі агент X праграўшы выдаты функцыю X, кансьерж застаецца непараджаным — ён являецца апошней лініёй захоплення для адпаведнасці, адколі код можа быць правільным, але выданым без адбыцья тэстаў чы апдэйта логу змян, і свежая вікна кантэксту добра бачыць гэта.Ёжы перадаць усю гэтую структуру між разнымі кодбазамі, правілы і аўтаматызацыя былі запакаваныя ў адкрыты прыклад агента conductor-worktree-hitl, які мае прозвішча condutree. Яго основныя складовыя ўключаюць:
git worktreeдля асінхроннай рэалізацыі, з аднім падагентам на кожны worktree і аднай трасай Conductor
using-git-worktrees для автаматызацыі ізоляціі робочых дрэваўЕсць тры прычыны, чаму гэта складваецца як зусібна навык, а не проста вставка команд git у прампт коордынатора. Першая — усе настройкі робочага прастора нізкага рэвэля, стварэнне сімвалічных звязоў і выключэнне пакетаў у git адбываецца ў аднам скрыпце, якая лёгкая для адтрымкі. Другая — прампт коордынатора застаецца кораккім і сфокусаваным на перадачы задач ад главнага агента да падагентаў і рашэнні пытанняў, таму агенту не трэба борацца з сінтаксам git. Трэцяя — іншыя распрацоўшчыкі можаць перанесці гэты навык у свае рэпазітарыі і інструменты, ўтрымваючы паралельныя запускі без суперсечанняў, не перапісываючы скрыпты інтэграцыі.
Агент, які мае гэты навык, выучае чатырнацца рэчаў:
- як стварыць незалежныя робочыя дрэвы для паралельных задач
- правілы адтуры git, а самэй — стварэнне сімвалічных звязоў з спільнымі папкамі метаданых Conductor і ўключэнне іх у выключэнні на местным рэвэле, каб
git statusзастаўся чыстым
Версія 1.0 ўтварае моцную базу, а версія 2.0 плануецца з автаматычным сымвалінкуванням налашчэнняў і болей багатымі дапаможнымі скрыптамі.
Гэта ілюстрацыя, створаная за дапамою AI, падкрэсляе ідэю „занадта многіх кухароў на кухні“: калекцыя падагентаў-програмістаў пачынае хаос у аднай галузі, калі няма ізоляціі рабочага дрэва.
Тэст на напругу: сімулятар інцыдэтаў SRE
Ёнколі трэба было пераканаць, насколькі можна розвіць паралельную екзэкуцыю, модэль была застосавана ў рэалістычным сімуляторы автаматызацыі SRE і керавання інцыдэтамі. Мэтай не быў ігровыя прыклады — гэта была мнагаагентная сістэма, якая аўдытуе хмарныя асяроддзя і адночасна коордынуе рашэнне інцыдэтаў у кальколькі ізольаваных рабочых прасторах. Ёнколі ёна не запускалася без проблем, трэба было рашыць кальколькі пытанняў, зв’язаных з правіламі кэйтавання і называнням файлаў.
- Забрудненне сімвольнымі зв’язкамі. У налаштаваннях Conductor++ кожны паралельны агент атрымлеў свой сабственны рабочы дрэв, напрыклад
.worktrees/telegram_incident_creation/. Паколькі падагенты адправляюць метаданы назад да коордынатора, корневы каталогconductor/сімвольна з’яўляецца ў кожным рабочым дрэве за дапамогою командыln -s ../../conductor conductor. Усё, кроме гэтага каталога, разлічаецца ў кожным рабочым дрэве, і паколькі кожны тракт знаходзіцца у сваёй сабственной падпапцы conductor, проблемы з з’еднаннем ўтвараюцца вельмі рэдка. - Коардынатор. Главным агентам здэсь служыць Агостына — спакойная, арганізаваная італкянка, якая працуе пад дэйналі эспрэса. Яна падтрымляе сінхроннае працаванне іншых агентоў, такіх як Марыо і Луіджы, не дазволяючы ім пераскакваць адзін другаму. Яна навмысна італкянка, а ўсё ў імені нагадвае слова «Антыгравітас».
- Скрыба. Адданы агент пад назвай Амануэнсе, названы ў часці латынскага слова, якое значыць скрыба, фіксуе стварэнне дырэктарыяў, змяны ў кодзе і взаімадзею агентоў з точнымі часовымі пазначкамі ў аднам цэнтральным файле для аўдыту. Так можна бачыць, хто і што зрабіў, калі і ў якай робочай структуры. Ён быў створаны, каб пераканацца, насколькі добра працуе сінхронізацыя агентоў, і каб запастыць фактычныя часовыя пазначкі і логі для аналізу.
Работа кальколькіх агентоў ШЫ ў аднам рэпазітарыі вымагае строгай ізоляціі плюс спосабу камунікацыі без конкурэнціі.
Хутчэй Агостына супрацоўвае з адналічэннем змесаў ад Марыя і Луіджы, тады калі трэці, жоўты падагент продаўжае працаваць у сваёй сабскорыстнай структуры.
Правілы, якія падтрымліваюць парадак у рэпазітарыі
Некалькі дызайнавых рашэнняяў мелі вялікі вуплыв.
- Няма прымытых адправленняў з даўней локалізацыі. Калі многі падагенты адразу запускаюць
git push, гэта вызывае калізіі з блокаваннямі на даўніх рэфах і можа прывесты да таго, што непрабаваны код патрапіць у працоўны сервіс. Падагенты фіксуюць змяны толькі на локальных галузяхfeature/і пішуць кінуцыя прыміткі Git. Толькі коордынатор можа адправляць змяны, браць галузь для верыфікацыі і адналічаць функцыйныя галузі. - Двойны протакол запытанняў. Адзіны глобальны файл
questions.jsonмогаў бы ствараць суперборы за збірку даных, калі падагенты запытваюць адночасна. У замен падагент запісвае свае запытанне у свой прыватны папакаць для летаў (conductor/tracks/), дзе абсалютна немае супербораў. Ён таксама публікуе запытанне як каментары да прыбліжэння на GitHub з унікальным паспортам для назірання. Скрыпт апытанняў Агостыны спачатку пераканальваецца, чыя-небудзь локальная папака мае статусawaiting_human. Калі такой папакі няма, вызов API GitHub працягваецца абсалютна, што дазволяе захаваць больш чым 95 процэтаў квоты. Калі на GitHub з’яўляецца адпаведны адпаведзень, локальныя метаданыі зменяюцца наanswered, што прычыняе працягванне падагента. - Сяродзісная памяц у стылі wiki. Уместо таго, каб кожны падагент запамятаваў усю історыю праекта, сяродзісны катэкарыс
conductor/выступае як стойкая памяць — структураваны локальны катэкарыс, які агенты чытаюць і запішваюць як сторанку wiki. Гэта адпавядае вядомай думке Андрэя Карпаты пра памяц LLM, а таксама відпавядае загальнай трывозе, што паслабна кантроль памяці агентаў ператварае асістэнтов у золатых рыбакоў. - Каскадныя рашэнні канфліктав. Калі завершаныя фіч-рангі з’еднаюцца адна за адной, можа выйсці каскад. Ранг Марыо чыстаўа з’еднаецца з рангам па верыфікацыі, але у Луўіджы ёсць канфлікты. Калі чалавек вырашыць канфлікт Луўіджы на рангу па верыфікацыі, яго первісны фіч-ранг у рамках рабочага дрэва застаецца з канфліктамі і застарэлым. Чырагаць гэтыя проблемы, Агостына выбірае неабходныя часткі або з’еднае рашэнні канфлікта назад у ранг Луўіджы, такім чынам падтрымляючы супараднасць ізольаванага рабочага дрэва з верыфікаваным кодам.
- Выконваюцца запросы прыцягвання заместо выкладкі на галоўную ветку. Выкладка з’еднанай веткі паўнай верыфікацыі безпасна на
mainпрыведзе да айхання контрольных пунктав, таму інтэграцыя адбываецца праз PR. Падрабочыя аддзейнаваюць локальна, Агостына прыцягвае, верыфікуе і з’еднвае локальна, а калі тэсты інтэграцыі працуюць, яна выкладзе з’еднаную ветку і запускаеgh pr create --title "feat: ..." --body "...". Потым чалавек-рэвізор можа пераглядаць разніцы і рэзультаты тэстаў CI у сабе інтэрфейсе GitHub. Агостына фіксуе URL PR уmetadata.jsonрэестру і паказвае актуальны статус за дапамоюgh pr listіgh pr status. - Заканчэнне дзеяння з-за канцэптуальных суперасункоў. Два тракты можу быць логічна несумісныя, напрыклад, калі адны выкананыяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя
- Чытанне статусу. Агастына пераглядае актыўныя проблемы у GitHub і статусы трактавання у Conductor.
- Складанне умов. Яна стварае ізольаваныя дрэвы работ і запускае паралельных падагентаў-распрацоўшчыкаў.
- Наглядач HITL. Запыткі, якія блакуецца падагентамі, направляюцца да чалавека, а адпаведныя адказы вяртаюцца назад, чым падтрымліваецца безпечны і асінхронны цыкл зворотнай свярзанасці.
- Чыстка. Калі падагенты завершаюць свою работу і адкрываюць свае PR-запыткі, Агастына адмаўляе тымчасовыя каталогі дрэва работ.
- З’еднанне з галоўным рэпазітарыем. Яна інтэгруець змяны і адкрывае або з’еднаеўшы фінальны PR, праўячыся знову да пункту чысткі для выканання ўсіх застаўшыхся задач. Гэта можа ператворыцца на справжню бійню, але агенты лепшая справляюцца з з’еднанням файлаў у git, чым людзі.
Адміністрацыя запытанняў яшчэ застаецца высока эксперыментальной, і было прыменена трое падходаў. Адным з іх ёсць мост Telegram sidecar, які працюе як фонавы дэмон, адправляе запытанні або затверджэнні змян у базе дадзэння на тэлефон распрацоўшчыка праз бота Telegram і чакае на адпаведзі.
У дыяграме паказаны асінхронны прайсупутнік Telegram. Яго прыямнікі — адпаведзі і затверджэнні, якія спачатку прадаюцца на мобільныя прыстроі, паралелізм без конкурэнціі, таму што запытанні знаходзяцца ў каталогах па кожнай дорожцы, што запобегае конфліктам у блакароўцы файлаў, а таксама летак аўдыту, адколі кожна рашэнне зберагаецца ў рэпазітарыі у фармаце JSON. Найпростышы падход, калі спілкуецца з галоўным агентам праз questions.json, быў адмовлены, таму што ён ніколі не розблакаваўся аўтаматычна і трэба было ўручну яго актывацыяваць, хоць хукі або будучыя версіі моглі бы гэта выправіць.
Доследжэнне прыкладу: дванаццаць дорожак SRE за пяць гадзін
Тэставая асяроддзе была веб-зявленнем, створаным на адаптаванні SRE. Большая частка яго функцыянаў могла выконвацца паралельна: экраны інтэрфейса, канцэнтры бэкенду, чат-асыстэнт, падтрымваны LLM, бот у Telegram, інструменты OpenTelemetry і аднаходжэнне рэсурсаў GCP.
Для выканання было выкарыстоўвана дванаццаць складных можлівасцей SRE, якія былі раздзелены на больш чым дваццаць конкрэтных пытанняў у GitHub. Потым машына была запусцана. За апошнія пяць гадзін, пераважна без нагляду, пайплайн Conductor++ стварыў, працаваў і з’еднаў усе іх у галоўную гілку. Сфера выканання прымыкала ад налаштавання трэйсінгу OpenTelemetry у Cloud Run да стварэння інтэрактыўных візардоў для адміністрацыі інцыдэтаў у Telegram і рэжыстраў для затверджэння чакаючых змян.
Інтэграцыя і рэзультаты з’еднання
Пад кераваннем паралельнага рабочага дрэва кожны функцыянальны трак быў розроблены, працаваны і інтэгруваны ў main.
Зявіце на таблыцы паказвае заканчыцковы статус аўдыту для галоўных трактаваў. Таксама было інтэгравана ўсьмо што оператыўных трактаваў, якія пакрываюць таксанамію статусу інцыдэтаў, выдаленне і архіваўванне інцыдэтаў, пераадрасаванне між праектамі wiki, калектыўнае кераванне станам у розных срэдах, перанесенне стану ў хмару, інтэрфейс wiki, які адпаведае умовам, праграмы на з’ўязак з GCP у рэальны час і паўзлівыя змяны.
Чырэўці дзён пасля запуску можна пераканацца ў статусе Conductor за дапамогою адной команды task-runner, якая запускае інспектара над рэпазітарыем і выдруквае статыстыку рабочай прасторы.
$ just conductor-status
python3 conductor/bin/conductor-inspector . --open --short
🔍 Inspecting Conductor Workspace: /usr/local/google/home/ricc/git/adk-sre-benjamin
📦 Product: Initial Concept
STATUS | PROGRESS | RATIO | GHI | AGENT | CHANGED | TRACK ID | 🌳
==============================================================================================================================
NEW | ░░░░░░░░░░ | 0/25 | #23 | | 💻 15days | managed_agents_sandbox_20260616 |
NOT_READY | ░░░░░░░░░░ | 0/17 | #22 | | 💻 15days | mcp_streamline_abilities_20260616 |
NOT_READY | ░░░░░░░░░░ | 0/11 | #15 | | 💻 15days | migrate_tf_cb_logic_20260616 |
NOT_READY | ░░░░░░░░░░ | 0/9 | #21 | | 💻 15days | ai_engineering_practices_20260616 |
NOT_READY | ░░░░░░░░░░ | 0/9 | #19 | | 💻 15days | workspace_agent_installation_20260616 |
NEW | ░░░░░░░░░░ | 0/15 | #31 | antigravity| 🐙 16days | disable_mock_fallback_dev_20260616 |
==============================================================================================================================
TOTAL | | 0/86 | | | | 0 completed, 6 open (6 total) | 0 🌳
Часовая шкала рабочага працэсу
Паспрабавка крок за крокам паказвае, як коардынатор, секрэтар і паралельныя падагенты узбеглі пераскаквання адзін на аднаго.
Крок 1: ініцыяцыя трактов і рабочых дрэва
На гаспадарскай машыне главны коардынатор падготавіў прасторы для работы. Потым інструмент Conductor inspector CLI вывелі спіс актыўных трактов і перадалі іх падагентам з адпаведнымі іменамі: аднам з іх было паставлена задача караць кімнаты для чату ў Discord, а іншаму — караць незавершаныя мутацыі. Флаг, які аб’яднвае ўсе тракты, дазволяе аднаму і таму ж інструменту паказваць галузі і статусы падагентаў для кожнага паралельнага прастору для работы.
./scripts/conductor-inspector /Users/ricc/git/adk-sre-benjamin --all
У следзе паказаны выходныя даны тэрміналу, зафіксаваныя пад ініцыялізацыёй.
================================================================================
CONDUCTOR++ ACTIVE WORKTREES & TRACKS INSPECTION
================================================================================
[Track: telegram_incident_creation_20260603]
Worktree: .worktrees/issue-29-telegram-wizard
Branch: feature/issue-29
Agent: pinocchio
Status: AWAITING_HUMAN (Question: "Verify Telegram Token config?")
GHI URL: https://github.com/palladius/adk-sre-benjamin/issues/29
[Track: unified_incident_lifecycle_observability_20260607]
Worktree: .worktrees/issue-18-discord-warrooms
Branch: feature/issue-18
Agent: grazia
Status: RUNNING
GHI URL: https://github.com/palladius/adk-sre-benjamin/issues/18
================================================================================
У тым спіску падзеякі сабагента, які керуе незаканчанымі мутацыямі, заблокаваны і чакаюць адказу з HITL.
Прыродны вопыт — чы рошчыны GitHub і тракты Conductor — гэта адно. Гэта два сховішчы, якія можуць адхіляцься. Агента папрасілі выявіць такую адхіляцыю між німі.
Скрыншот паказвае агледак інспектара актыўных работавых дрэваў, галоўак і падзеяк сабагентаў. Спаводліванне гэтых двух элементаў адбываецца за дапамогою адной прыказы ў будзь-кім напрамку. У аднам варыянты прасіцца Conductor стварыць новы тракт для кожнай рошчыны, задаючы всі неабходныя запытанні по аднам тракту. У іншам варыянты пераканваліваецца, што для кожнага тракту Conductor існуе свая рошчына.
Дэталізаваны відказ паказвае незаканчаны запыт HITL, які чакае на інфармацыю з GitHub Issues.
Шаг 2: ізоляцыя паралельных работавых дрэваў
Кожны агент працаваў на сваёй галоўцы, а сэкрэтар фіксаваў точныя змены файлаў і падзеі рабочага прастору без жадных канфліктамі.
Эты снімак паказвае манітар файлу worktree пад адночаснай разработцы.
Інструмент для назірання за задачамі Antigravity паказвае задачы, якія выпало выконваць; такі відворотны картынкі моглі бы запаўніць вялікі інтэрэс у першай дэмаверсіі, якая працавала за адну просьбу з чатырамі падагентамі.
Шаг 3: запытвання і кераванне з боку чалавека
Калі падагентам была патрэбна дапамога, яны публікавалі запытанні, якія аналізав скрыпт poll_ghi_questions.py. Ёнколі кераванне з боку чалавека мяў бы быць прыемным для мобайльных прыстроёў, запытанні перадаваліся праз мост Telegram sidecar. Аператару не трэба было сядзець за камп’ютарам і перзапускаць сайт GitHub, адтаколькі мост перадаваў кожнае запытанне на тэлефон, што давала можлівасць быстрая апрацоўка запытанняў у дарозе.
На снімку экрана паказвана цікл апрацоўкі затверджэнняў і дыягностычных даных.
Шаг 4: фінальны стан «зелёны»
Пасля таго, як кожны функцыянальны гілкі працэздалаў перакананне і быў па спецыяльнай сэрыі з’едынаны, Агостына створыла запрошэнне да з’едынэння, а заканчычная перапрацавка падтвердзіла, што всыя дванаццаць трактаваń SRE былі з’едынаны ў гілку для працы. Чы былі яны всыя абсалютна працэзданы, укладаючы таксама ў сябе аналіз іх взаімадзеяння? Не абсалютна, і гэта ўзгляд для падальшай працы. Інструмент візуалізацыі пад назвай Conductor At Scale таксама ператварае звычайную історыю git у анімацыю у стылі аркадных гэмоў, пры чым трактавання Conductor выбухаюць на экране за дапамогою JavaScript.
Урокі з гэтага эксперымента
Першы урок — калі толькі можна, падтрымваць кантакт толькі з аднім агентам і даваць падагентам толькі простыя, загадзя вяліканыя задачы, якія не выклікаюць неабходнасці взаімадзеяння. Две практыкі спрыяюць гэтаму.
- Мінімізавайце час чакання між агентам і людзьмі. Команда
/roastme— гарны спосаб прыказаць важкіх запытанняў з самага пачатку, каб агент могаў працаваць без перашкаджэння, а Conductor добра справляецца з сборам запытанняў па зв’язку без інтэрнэту. Уместа таго, каб кожныя пяць хвілін ставіць запытанне на 30 секунд, вы можаце адпаведзець на ўсе запытанні за одны 30-хвілінны перыод, пайсці на веласіпед і вернуцца да завершанага прыладу.
На тым скрыншоце паказана праца /roastme унутры Conductor, уключаючы памылкі напісання.
- Залічвайце стосункі між агентам і падагентам простымі. У індустрыі прадкладаюць складныя іерархіі з калькольным лікам агентаў, але ў 2026 году безпечнейшы выбар — гэта простыя, повтаруваныя задачы, якія выкалікаюць больш адпрацоўкі, але маюць мінімум неяснасцяў, што дазволяе ухіліцца ад непатрэбнага навантажэння на оркестрацыю.
Ешчэ існуее падатак за аранжаванне. Напісанне коду — гэта дэшава, важлівыя ўмовы — спецыфікацыя, а тэставанне і адзначэнне рэзультатаў сталі новым бутылочным горлам. Іншыя прафесіяналы ў гэтай сферы, здаецца, сагаджаюцца з гэтым. Команды можаць абгавіць гэтыя труднасці або ж стаць жэртвамі іх.
Для тых, хто хочаць спробаваць гэты падход, выхідны пункт — дэсктопны прыстаўк Antigravity 2.0, які з самага пачатку адказвае за візуальнае мнагапаўздовыя аранжаванне.