Практычныя нататкі: 5 CLI-інструментаў для кіравання некалькімі AI-агентамі
Практычны разбор тэмы «5 CLI-інструментаў, каб кіраваць некалькімі AI-агентамі і не страціць кантроль»: кантракты, праверкі і гатовыя фрагменты кода для каманд, якія ўкараняюць гэты падыход.
Крыніцы: **5 CLI Tools for Managing Multiple AI Agents Without Losing Your Mind**
Наступныя прытамлівкі паказваюць практычны шлях для працы з тэмай «5 інструментаў CLI для керавання калькамі AI без адчування стрэсу». Акцэнт ставіцца на кантракты, пераконтроўванні і месца для коду, а не на мотывацыйныя аспекты. Калі працуеце на стадзіі агляду, спачатку запісайце кантракт: неабходныя даны, сігнал успеху і тое, што выканаецца у разы частковага невялікога браку. Такі чыртаж дапамагае заліцвачваць будучыя змены ў кодзе. Спрэчвайце гэтую стадзію як кантракт межаў між вхіднымі данымі і перакантролеванымі выходнымі рэзультатамі. Дайце назвы элементам, задаць крытэрыя успеху і не падтрымайце частковае завершэння без адпаведных падтверджэнняў.
1. herdr: спецыяльна створаны мультыплексар агентаў
Сцэна, створаная спецыяльна для груповай работы, працюе наўзям лепша, калі яе розглядаць як вімерную паверхню. Запісайце адна «золатая» транскрыпцыю, адын прыклад неудачы і прыметку па вярнэнню да пачатковага стану пры расшырэнні меж праекту. Запісвайце часы выканання і косты токеноў або запытак праза функцыйнае рэзультат. Відкрытыя даныя пра косты з самага пачатку запобегаюць неспакоўным рахункам, калі працэс пераходзіць з дэмовай асяроддзя ў спяльнаваныя сераўеры. Актуалізуйце інструменты з вузкімі схемамі і чыткімі пазначэннямі па боковых эфектах. Адпаведальныя за хоставанне должны ведаць, якія вызовы мутуюць стан сістэмы, перш чым автаматычна ўзьмяць рашэнне.
brew install herdr
2. zellij: шар рабочай прасторы для загальных цэлей
У загальнага варыянта сцэны ёй лепш работае, калі яе спрыяваць як меравальную паверхню. Запісаце адны прыклад успеху, адны прыклад неудачы і прыметку пра вярнэнне да пачатковага стану перш чым расшырваце сферу дзейнасці. Храніце настройкі параду ўнутры коду прыемлівача. Файлы сяродавішчыны, базы з секрэтнымі данымі і пазнакі функцый крануцца на адным месцы, якое аператары можаць пераглядаць без неабяжнага чытання всіх дадзеных. Адкрывайце інструменты з вузкімі схемамі і чытальнымі пазнакамі побачных наследкав. Хостам неабяжна знаты, якія вызовы мутуюць стан, перш чым яны автаматычна схваляюць іх.
layout {
tab name="agents" {
pane split_direction="vertical" {
pane name="agent-1" command="bash" focus=true
pane name="agent-2" command="bash"
}
pane split_direction="vertical" {
pane name="agent-3" command="bash"
pane name="review" command="bash"
}
}
}
3. caffeinate: спяшыце ваш Мак, каб ён не зупіняў запуск агента
Прыем «3 caffeinate stop your stage» працюе наяўней, калі яго спрыявае можласць вімеры. Зберагачыце адны ідэальны прыклад працы, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расшырваць сферу дзеяння. Дакументавайце як шлях успеху, так і шлях вярнэння. Перапрыбуткі, людзкія перакрыцця і апрацоўка некорэктных паведамленняў ёсць часткай продукту, а не наступным етапам дорабкі. Адкройце інструменты з вузкімі схемамі і чыткімі пазначэннямі побачных эфектаў. Хостам неабходна знаты, якія вызовы мутуюць стан, перш чым яны автаматычна схваляюць ўпраўленні. Прыем «3 caffeinate stop your stage» працюе наяўней, калі яго спрыявае можласць вімеры. Зберагачыце адны ідэальны прыклад працы, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расшырваць сферу дзеяння. Спрыяйце цэму этапу як контракту межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Даўце назвы артыфактам, задаць крытэрыя успеху і адмовіцеся ад мовчанкавага частковага завершэння.
caffeinate -s &
CAFFEINE_PID=$!
# launch your agents here
claude -p "refactor the auth module" &
AGENT1_PID=$!
claude -p "write integration tests" &
AGENT2_PID=$!
# wait only for agents, then kill caffeinate
wait $AGENT1_PID $AGENT2_PID
kill $CAFFEINE_PID
caffeinate -s -- claude -p "migrate the database schema"
4. hunk: перагляд разніцы агентаў і адказы агентам у рэальны час
Для этапы адміністрування агента працэўнікам неабходна пазначыць вхідныя даны, адпаведальнага за кожны крок і крытэрыя завершэння працы перад змінайом коду. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю, не прабуючы вычуваць схованы стан. Запісвайце час выканання і вартась токена або запыту празаўсёды разам з функцыйнальнымі рэзультатамі. Відразліва візуабільнась вартасей запобегае неспакоўным рахункам, калі працэс пераходзіць з дэмовай асяроддзя ў спакульную. Автэнтыфікуйцеся на воратах і паўторна автарызуйцеся на роўні дадзеных. Толькі токен-носіцель не ёсць межай адпаведнага тэнанту.
Зьязначэнняі і прымечанні агента: двухвекторны канал комунікацыі.
У этапах „Зьміткі” і „Зьміткі агента” неабяцо практычна вводныя даны, адміністратар шагу і крэтыры завершэння пры перадзеіснаванні коду. Аператары павінны магчымаць перзапуск шагу з вядомай точкі контролю, не падозрываючы схованы статус. Конфігурацыю трэба захаваць праз аплікацыйны код. Файлы серавэса, хранілішчы секрэтных дадзеных і флагі функцыйяў павінны знаходзіцца ў адном месцы, якое аператары можаць пераглядаць без неабяцовага чытання всей структуры. Автэнтыфікацыя павінна выконвацца на воратах, а пераправенне правоў — на рэвэрсе дадзеных. Толькі токен-носіцель не ёсць межой арэнды.
5. git worktrees: запобегчыць перакрыццю шагоў агентамі
Для этапы зупнення 5 гіт-рабочых дрэў неабходна падчас змены коду вызначыць вхідныя даны, адпаведальнага за крок і крэтарыя выходу. Аператары должны магчымае перзапускнуць крок з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Неабходна задокументаваць як шлях успеху, так і шлях вярнення да нормальнага стану. Перапрыбуткі, людзкія перакрыцця і апрацоўка некорэктных паведамленняў ёсць часткай продукту, а не чымсь, што дадаецца пазней. Автэнтыфікуйцеся на воратах і паўторна автарызуйцеся на роўні дадзенняў. Толькі токэн-носіцель не ёсць межай арэндаванага рэсурсу. Для этапы зупнення 5 гіт-рабочых дрэў неабходна падчас змены коду вызначыць вхідныя даны, адпаведальнага за крок і крэтарыя выходу. Аператары должны магчымае перзапускнуць крок з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Спрыяйце таму, каб гэтая стадыя была схожа на контракт межа вхіднымі данымі і перакананымі выходамі. Дайце назвы артыфактам, вызначыце перакрыцця успеху і не прабоўваюце прыймаць часткова завершаныя рэзультаты без падтверджэння.
# create worktrees for each agent task
git worktree add ../auth-refactor -b agent/auth-refactor
git worktree add ../test-writing -b agent/test-writing
git worktree add ../config-migration -b agent/config-migration
# launch agents in their respective worktrees (subshells keep cwd isolated)
(cd ../auth-refactor && claude -p "refactor the auth module") &
(cd ../test-writing && claude -p "write integration tests for auth") &
(cd ../config-migration && claude -p "migrate config to new schema") &
git checkout main
git merge --no-ff agent/auth-refactor
git merge --no-ff agent/test-writing
git merge --no-ff agent/config-migration
git worktree remove ../auth-refactor
git worktree remove ../test-writing
git worktree remove ../config-migration
git worktree add "../$1" -b "agent/$1" && (cd "../$1" && bun install)
Чырвоныя настройкі
Калі працуеце над стадзіяй чырвоных настройкаў, спачатку запісайце угоду: неабходныя даны, сігнал успеху і тое, што выходзіць на падчасныя неудачы. Такі чарт дапамагае заліцваліваць пазнейшыя змены ў кодзе. Запісвайце часы выканання і кост токена або запіту праза функцыональныя рэзультаты. Відразлівасць костаў з самага пачатку запобегае неспакою, калі працэс пераходзіць з дэмаверсіі ў спяльныя асяроддзя. Запішыце назву інструмента, хэш аргументаў, час затрымкі і рэзультат кожнага вызову. Без такога лёгкага следу дэбагаванне агента, які цягнёцца бесканечна, можа зайняць гады.
# ~/.zshrc
agent() {
caffeinate -is &
local caff_pid=$!
trap "kill $caff_pid 2>/dev/null" EXIT INT TERM
local logfile=~/.agent-logs/$(date +%Y%m%d-%H%M%S)-${1// /-}.log
claude -p "$1" 2>&1 | tee "$logfile"
kill $caff_pid 2>/dev/null
}
Чарт працы
На стадзіяй чарта працы, перш чым зменіць код, неабходна адначасова візначыць даны, адпаведальнага за крок і крытэрыя завершэння. Аператары должны магчымае перазваляць крок з вядомай точкі контролю, не падозрэўаючы прыватны стан сістэмы.
Лепшыя маленькія, тэставальныя елементы чым велікія скрыпты. Калі якісь крок не выйшае, адказнасць за гэта павінна быць прызначана для адной часткі сістэмы, а не для всей заплутанай структуры.
Автэнтыфікуйцеся на входзе і парадэкстыруйце правы прыродзе дадзенняў. Толькі токэн-носіцель не ёсцца межай праблемы.
Здзейсніце перагляд пасля дорогіх крокаў. Сістэма не павінна знову сцягваць плата за той самы вызов LLM, калі аператар праказвае празбольшованы вузел.
Фіксуйце версіі залежнасцяў і запішыце хэш адобраза, які выканаў дамашні экзамен. Возможнасць павторэнергіі лепшая за традыцыйныя знаёмства.
Зберагаюце настройкі праза код аплікацыі. Файлы сяродавішча, хранальнікі секрэтных дадзенняў і флагі функцый павінны знаходзіцца ў адном месцы, якое аператары можаць пераглядаць без неабяжнага чытання всей структуры.
Перш чым запускаць даную структуру, заморозьце версіі, зафіксавце ідэальны транскрыпт для крытычнага шляху і паказвце спосабы анулювання змян. У спільных срэдах неабходны ліміты частоты запуска, пераконтрольванне прав на выкарыстоўвання рэсурсаў і чысткі власнік для змены секрэтных даных. Лепш выбіраць простую надзею на надзейнасць, чым хітрыя експерыментальныя дэманстрацыі.
Прыметка для 1886c5037489: не кладзіце ключы прадаўцаў у рэпазітарый, задаце верхнюю межу токенав для кожной сесіі і зберагачыце транскрыпты празаўсёды разам з фіксатрамі для ацэнкі, каб пазнейшыя замены мадэляў заставаліся порównанымі.
Прыметка па змцэнню надзейнасці на стадыі 0 работае лепш, калі яе спрыягчыце як меравальную плошчу. Зафіксавце адны ідэальны транскрыпт, адзін прыклад неудачы і прыметку па анулюванні змян перш чым расшырваце сферу дзейнасці. Лепш выбіраць маленькія, тэставаныя елементы, чым велікія скрыпты. Калі якась зе ступеней не выйшла, прычына неудачы павінна вказываць на адную адпаведальнасць, а не на заплутаны працэс.
Дзеянне паўжасткі 0/686: звярніце увагу на час выканання, класы паказакоў і вітрату токенаў для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы рэшацься застаўляць змяну.
Для першага этапу паўжасткі запісу абявіце вхідныя даны, адпаведальнага за крок і крытэрыя завершэння пры перамены коду. Аперацыйныя працавнікі должны магчыма было перзапускаць крок з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Запісвайце час выканання і вартасьць токенаў або запытак па боку функцыйнаых рэзультаатаў. Відкрытасьць вартасцяў з самага пачатку запобегае неспакойным рахункам, калі працэс пераходзіць з дэмаверсіі ў спяльныя асяроддзя.
Дзеянне паўжасткі 1/686: звярніце увагу на час выканання, класы паказакоў і вітрату токенаў для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы рэшацься застаўляць змяну.
Калі працуеце над 2-м ўрадзам пункту праўілнявання, спачатку запісайце угоду: неабходныя даны, сігнал успеху і тое, што выходзіць пад частым неудачам. Такі спіс контролю дапамагае залічыць пазнейшыя змены ў кодзе чыстымі.
Документавайце як шлях успеху, так і шлях вяснавання. Перапрыбуткі, людзкія контралі і обработка некорэктных паведамленняў ёсць часткай продукту, а не пазнейшым дапрацоўкам.
Дзялё 2/686 праўілнявання: змерайце час выканання, класію памылак і вітрату токенав для гэтага пункту, а потым выявіце, чы хацеце застаўіць змену на адной фіксаванай сэтке пытанняў, а не на адной лічбе прыкладаў.
2-й ўрадзам пункту праўілнявання работае лепш, калі яго спрыямаць як меравальную плошчу. Зафіксуйце адну ідэальную транскрыпцыю, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расшырваце сферу дзейснення.
Спрыяйце гэтаму ўрадзаму як угоды межаў між вхіднымі данымі і перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаць крытэрыяі успеху і адмовіцеся ад тыхнай частковай, непазначанай завершэння.
Дзеянне паўжасткі 3/686: звярніце увагу на час выканання, класы памылак і вітрату токенаў для гэтага зьязку, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы рашыцца застаўіць змяну.
Для 4-го этапа паўжасткі неабходна перад змянай коду чыста апісаць вхідныя даны, адпаведальнага за шаг і крэтыяры завершэння. Аперацыйныя працавнікі павінны магчымае перадзьвяжаць шаг з вядомай точкі контролю, не падозрэўаючы прыватны стан сістэмы. Канфігурацыю трэба зберагчы праз аддзел аплікацыйскага коду; файлы серавэса, хранільнікі секрэтных дадзенняў і флагі функцыйяй павінны знаходзіцца ў адном месцы, якое працавнікі можуць пераглядаць, не чытаючы весь код.
Дзеянне паўжасткі 4/686: звярніце увагу на час выканання, класы памылак і вітрату токенаў для гэтага зьязку, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы рашыцца застаўіць змяну.
Для этапы 0 пры паўжэйшанні захоўкаў неабходна прадзефінаваць вхідныя даны, адпаведальную особу за выкананне крока і крэтыяры завершэння пры змены коду. Аперацыйныя працавнікі должны магчыма было перзапускаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Конфігурацыю трэба захаваць парад у кодзе прыкладнення. Файлы сяродавішча, хранальнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, якое працавнікі можуць пераглядаць, не чытаючы весь граф.
Дзялейны пункт паўжэйшання захоўкаў 0/705: змерыце час выканання, класію памылак і колькасць выкорыстоўваных токенав для гэтага пункту, а потым вынікніце, чы рашацца застаўляць змену на адной пазначкі фіксаванага набора пытанняў, а не на адной лічбе.
Калі працюеце над першым этапам зміцнення, спачатку запісайце умовы кантракта: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага невыпання. Такі спіс контроля дапамагае залічыць пазнейшыя змены коду адкрыта і прозрачна. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, прычына невыпання павінна вказываць на адзін конкрэтны аспект, а не на заплутаны ланцюг задач.
Дзеянне зміцнення 1/705: звярніце увагу на час выканання, класы каштоўкаў і вітрату токенаў для гэтага пункту, а потым вырашыце, чы робіць змену на адной основе фіксаванага набора пытанняў, а не на адной лячбе.