Back to "Практика StyloAgent: Як я будую та управляю великими ( і HUGE) системами, використовуючи код LLMs"

This is a viewer only at the moment see the article on how this works.

To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk

This is a preview from the server running through my markdig pipeline

Agents AI Architecture LLM Patterns StyloAgent

Практика StyloAgent: Як я будую та управляю великими ( і HUGE) системами, використовуючи код LLMs

Saturday, 18 July 2026

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

Частина, яка не працює - це пам 'ять.

"модель може написати кодM SK1 Це МSK2робиш те, що пише код, запам 'ятовуючи, чому система така, як вона є

Кожна нова сеанса починає нічого не знати про систему, яку вона збирається змінити. Вона знову відкриває, що Stylo.Bot є двома repositoriaми , що ризикова шкала на панелі відтворюється в часі читання і ніколи не зберігається в кэші, що існує одна модель підключення до бази даних, а SQLite-магазин ніколи не має бути прихованім МSK2 писати поруч з Postgresом M SK3 Ніщо з цього не є у файлі, який редагується . Він живе в архітектуру MSC5 і архітектура живе в моїй голові Mسک6

Йдеться про робочий процес, який я створив для того, щоб припинити платити за це. Я називаю його StyloAgent, , і це флот, що створює та керує Stylo.

Останній випуск


Найважливіша проблема - це архітектурний дрейф

Стіло.BotM SK1 детектор не є простим ASPМSK2NET CRUD app. Він працює на ЕфемеральномуМСК4 сигналахМ СК5 та МСК6 архітектурі атомів MСК7 атоми утримують станM СК8 сигнали повідомляютьМSК9 SignalSink за запитом - чорна доска ",", одна ScheduleCoordinator випускає сигнали тик-каденсу замість стопки фонових послуг, класифікація найближчаM SK1 центродіальна з дрейфом, а не правилами, і виведення вердикцій відбувається по-новому, читаючи, аніж в буферіMSC3 Ця форма є цілковитою точкою продукту . Це те, що дозволяє йому навчитися від спостережень, замість того, щоб співпадати з статичним спискомМSK5

Код LLM не хоче побудувати те, що він бачив мільйони разів у своїх тренувальних даних. : простий CRUD . Попросіть нового агента додати функцію і він дістається до МSK3 кожного разу МSK4 для ASP

Різ reflex ASPM SK1NET ( Plain CRUD) МSK4 StyloMSC5BotMスク6s intended pattern МSK7Ephemeral
А BackgroundService за періодичну роботу Один ScheduleCoordinator випромінюючи сигнали тика
А ConcurrentDictionary використаний в магазині Атоми мають стан МSK1 не в МSK2 тривалість пам 'яті
А switch відображає стрічку в категорії Найbliższa - класифікація центроїдів МSK2 дрейфування
Захищати обчислювальну ціну для локальність Зробити її по-новому, читаючи МSK2 обчислюючи \ - в \ МSK4 читаючи
Боса DbContext в середній програмі Статус живе у двигуні
А ILogger щоб перевірити, що трапилося. Сигнали повідомляють.

Кожна клітина ліворуч - це підручник ASP.NET і правильна у звичайному програміM SK1 Кожна клетка лівоту - неправильна для Stylo CLAUDE.md що так говорить, явно M SK1 центроїди не мають правил , жодні західні служби не використовують Схема-координатору МSK3 ніяких в- пам 'яті хранилищів , жодних кэшів, що сприяють свіжості, ніж локальності MSC6 сигналів та атомів, а не ASP M SK7 NET стандартів.

Він не мав. CLAUDE.md завантажується на кожну сеансу, і кожнісіньку сеанс вона конкурує з модельюM SK1 її попередників та втрачає . Модель регресує до середини своїх тренувальних данихМSK3, яка є CRUD.

Це коштувало тижнів переробки. Не було жодного значного випадку, повільної кровотечі M SK1 BackgroundService повернуто до координатора tick, a ConcurrentDictionary що тихо стало паразитичним магазином, видалено switch declara swapped back for a centroid lookup, session after session after Session. The bug was never the pointM SK2 The drift was the point. A per\MSC4\repo instructions file is retrieval, and retrival wasn't enough \ :\ the agent had the rules in front of it\MST7\ did not understand why the Ephemeral shape mattered\M ST8\ and eroded it anyway\M st9\

Не "агент можеM SK1 не кодувати", а "аргент може+' не підтримувати архітектуруMSC5 Немає більшого instruksiвного файлу, який б її виправивМSK6 Даючи архітекцію власникові


Масштаб цієї речі

Шкала не спричинила дрейфу. Вона збільшила йогоM SK1

Stylo.Bot - це не іграшка . Це роботаM SK2платформа для виявлення : FOSS-детектор, що об 'єднує веб-приложения через YARP-ґейтвею МSK4 плюс коммерческий шар з управлінням флотомМSK5 редактор живої конфігураціїMSC6 Постережність Postgres та pgvectorMST7 комерційні LLM-провайдериM ST8 інформаційний двигун МST9 членство і кожен член М ST10 ліцензування доменів М st11 , і оператор Kubernetes Мst12

Перераховані чесно:

  • Два головні хранилища для Stylo.Bot : двигуна визначення FOSS і коммерченої системиM SK2
  • Близько двадцять - МСК0 - п 'ять проектів лише в рамках комерційного репо - МSK1
  • Мої власні NuGet пакети, які мають спільні продукти : Mostlylucid.Ephemeral (SubstrateM SK1 StyloExtract, StyloFlow, StyloIssues, lucidVIEW.
  • Інфраструктура : Хельмові діаграми МSK1 мікрок МSK2 кластер , секретний магазин
  • Маркетинговий сайт, що запускає контрольну скриньку і вміщує реальну панель приладів

Кожна з них є поверхнею, в яку може прослизнути дрейф, і свіжий агент має тримати ту ж саму efeмерну дисципліну на всіх них. МСК1 – зміна на один сигнал розпізнавання хвиль у воротах. МSK2 – коммерційний плагин. , – проектування панелі масок. ММК4 – розгортання трубки. ММСК5 – написання змін ніколи не було складним завданням. MМСК6 – тримати архітектуру стабільною, роблячи її таким, яким вона є. МПСК7 – всюди, де вона приземляється. МУСК8 – сеанс за сеансом. МНСК9 – був. МАСК10


Міф про єдиному суперагенту

Індустрія продовжує шукати ту ж саму відповідь. : дасть агенту більше контексту . більші вікна МSK2 Мільйон M SK3 про promptи токенів . RAG, щоб завантажити правильні файли MSC5 MCP, щоб дістатися живих систем MST6 Меморіальні шари, що підсумовують минулі сеанси і відтворюють їх наново МST7

Все це покращує пошукові дані.

Перейняття знаходить важливий файл. Розуміння знає, чому файл таким є, як він є , який інваріант він захищає МSK2 і що відрізає два репозитори від нього, якщо ви його зміните M SK3 Більший вікно дозволяє агенту читати більше в один раз . Він не дозволяє агентові запам 'ятати, що він закінчив минулого вівторка

Те, що ре- відтворення - це реальна вартість . Дивіться, як холодний агент запускається на StyloM SK2Bot :

  1. Він підштовхується для розпізнавання трубопроводу.
  2. Він читає оркестратора.
  3. Виявляється, що вирок має три осі і складається з:, не зберігається
  4. Ви бачите, що коммерційний плагин замінює шви FOSS через ін 'єкцію залежності.

Через тридцять хвилин він знає достатньо, щоб зробити одну зміну лінії- МSK1 Потім сеанс закінчується і все випаровуєтьсяМSK2 Наступна сеанс платить ті самі тридцати хвилинM SK3 Поширюється контекстове вікно робить кожен повторений відкритий дешевшимMSC4 Він не робить повторення непотрібним.

Розумніший пошук - це неправильний розв 'язок.


Як люди насправді будують програмне забезпечення

Жоден інженер не розуміє всієї системи компанії. МСК0 Ніхто у реальному компанії не має платежів. МSK1 auth , канал даних, МSK3 і фронтального модуля в голові, у повній роздільності відразу ж.

Команди розкладають систему на домен і дають на кожного експерта МСК0 Osoба, яка займається платежами, володіє платежами МSK1 Вони знають історію , різкі краєвиди, рішення з двох років тому, яке виглядає неправильним, аж поки ви не пам 'ятаєте, яку міграцію він захищав МСК4

Властність - це більше, ніж енциклопедичне знання спеціалісту не потрібно знати все. Їм потрібно добре знати свою сферу діяльностіM SK1 і знати, кого питати про решту.

Що робить зруйнована система послідовною - це зв 'язок. Osoba, яка efectuує платежи, розмовляє з аут-персоною перед тим, як змінити формат אסימוניםM SK1 Запрос про потягу перетинає кордон і власник того кордону важить в. Архітектура залишається послідовною не тому, що одна людина має все це в руках , але тому, щоб люди, які мають його частини, спілкувалися між собою МSK4

Це працює. Це те, як працює кожна справжня команда . Програмісти працюють по-іншому МSK2 так, як жодна інженерна команда ніколи б не працювала


Моя проблема була іншою

Дифференція була б неприємною в одній невеликій програмі. В усіх системах, які я маю, вона є коррозійною , тому що вони не є однією системою МSK2 Вони є окремими продуктами МСК3 у різних reposіtoriaх MСК4 які годують один одного собаками через пакети, які також є моїми М СК5

Субстрат Mostlylucid.Ephemeral, мій власний NuGet пакет : примітивні інтерфейси і потоки даних, детектор збудований на МSK2 Stylo МSK3Bot додасть до нього більше моїх пакетів StyloExtract для макету-порівняння відбитків пальцівM SK1 StyloFlow для сигналів-справляемых операційних потоків та ліцензуванняM SK1 StyloIssues для зворотнього зв 'язку UX на сайті маркетингу Mostlylucid.Avalonia.UITesting генерує свої скриншоти. Я створюю продукти за допомогою інструментаM SK1 і створююсь з інструменту за допомогою продуктів.

Це справжній корм для собак, і саме він робить дрейф небезпечним. BackgroundService або ConcurrentDictionary не зруйнує одну програму. це руйнує пакет кожного з цих продуктів, що стоїть наM SK1 дрейфові кораблі в одному складі і поверхні у продукті два склади на відстані , де агент, який написав це, ніколи не виглядає.

Один дрейфований примітивний. Кожен продукт, збудований на ньому

Програмування ніколи не було важким завданням на цій шкалі. МСК0. Утримка архітектури проти постійної регресії була


Властство, Не контекст

Контекст - неправильна вісь

Проблема не в тому, як дати одному агенту більше контексту

Загрузити знання в вікно і воно зникне разом з вікном. Дати його спеціалісту, і він рухається впередM SK1 Спеціаліст розпізнавання не перезагрузує архітектуру розпізнання на кожній сеансіМSK2 Він вже має його, і він починається з того, що він створив минулого разуMSC4 тому що минулого разу він записав це як сам себе, а не як резюме для когось іншого

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


Модель StyloAgent

StyloAgent перетворює цю структуру на поточні процеси

  • Перегляньмо : архітектор та координаторoverview-). Він зберігає три живі документи (specM SK2 архітектура МSK3 список учасників МSK4 вирішує спори щодо простору ХМSK5 і маршрути входної роботи ГМSK6 Він не займається самою роботою з доменами ГМSK7
  • спеціалісти : власники домен foss- володіє детектором. deploy- володіє будівлею mae- володіє членством та електронною торгівлею. dash- і edit- володіти розкладовою, читати та писати шляхи. prod- володіє мережею безпеки. test- володіє пакетом. Кожен володіє файламиM SK1 не обов 'язками.
  • Автобус із повідомленням : файл git-забезпеченийM SK2 МSK3drop канал з inbox, outbox, archive, і saved-context. Сообщення несуть пріоритет і поверхню в агенті
  • Рехидрація та дехидрування : кожен агент зберігає живий контекстні документ . Він дехидрує, коли зупиняється, і рехидрює, коли прокидається МSK2
  • Рабочі місця : один робочий простір для репо з репо-rekторами FOSS і коммерції . архітектура існує над обома
  • Спілкування : одне жорстке правило . Залишайся в своєму ряду МSK2 Натисніть блокатор у файлі, який не належить вам overview- замість того, щоб зіштовхуватись з власником

Корпус літака StyloAgent , агенти ":", і сигналний автобус вниз ліворуч, МSK1 , приземлювані терминали агентів в центрі , , та шкала тайм-лайн , "МSK3" Dokumentи , / Справа - панель маршрутизаторів, .

Що це насправді

StyloAgent - це робоча кабина, збудована в M SK1NET 10 і Avalonia. Кожен спеціаліст - справжній claude процес, що працює над PTY, з своїм власним терминалом в кабіні пілота, власним гітом робочого дереваM SK2 і власним контекстним документом . кабина пілотує MCP сервером, який викликають агенти, та гаком, який повідомляє про їхній станMSC4 Сам продукт побудований чотирма власникамиМSK5, а архітектура подвоєна як мапа власників Mスク6

flowchart TD
    operator([Human operator])
    subgraph SA["Styloagent cockpit"]
        cockpit[Cockpit Shell<br/>Avalonia + Dock]
        bus[Coordination and Fleet<br/>Channel, Mcp, Diagrams]
        session[Session and Terminal Runtime<br/>Sessions, Hooks, PTY]
        repo[Git and Document Library<br/>worktrees, Lucene search]
    end
    agents[Agent fleet<br/>claude specialists]
    fs[(Filesystem and Git<br/>durable trace + worktrees)]

    operator --> cockpit
    cockpit --> bus
    cockpit --> session
    cockpit --> repo
    bus --> session
    session -->|runs claude over a PTY| agents
    agents -->|MCP verbs| bus
    bus -->|reads and writes channel files| fs
    session -->|writes context doc on dehydrate| fs
    agents -->|commit in own worktree| fs

    style SA fill:none,stroke:#6b7280,stroke-width:1px
    style cockpit fill:none,stroke:#7c3aed,stroke-width:2px
    style bus fill:none,stroke:#d97706,stroke-width:2px
    style session fill:none,stroke:#2563eb,stroke-width:2px
    style repo fill:none,stroke:#16a34a,stroke-width:2px
    style agents fill:none,stroke:#6b7280,stroke-width:2px
    style fs fill:none,stroke:#16a34a,stroke-width:3px
    style operator fill:none,stroke:#6b7280,stroke-width:2px

MCP - це ядро В кабіні є MCP сервер, і все, що робить спеціаліст для координації - це виклик інструменту MCP проти нього, не конвенція чи файл, який він сподівається прочитати інший агентM SK2 Набір дієслів є шаром координації MSC3

  • send_message / check_inbox : роботу по маршруту і тягнуть його МSK1 пріоритет МSK2 розв 'язане .
  • spawn_agent МСК0 , власник поділив на себе нового спеціаліста
  • claim / heartbeat / release : серіалізувати доступ до спільного середовища (host SSH МSK2 мета розгортання МSK3 так, щоб два агенти не зіштовхувалися
  • dehydrate_agent / rehydrate_agent : паркуйте специалиста і відбудовуйте його МSK1
  • wrap_up : тест , об 'єднати МSK2 і очистити закінчену гілку
  • report_issue, architecture_impact, agent_color, list_fleet : заповнювати блокер МSK1 перед тим, як він приземлиться, подивитися на зміни дизайну

Файлі- канал крапки під ними є міцним слідом того, що було сказано , не механізму MSC2 Механізм - це MCP сервер, який передає до живого агента на своєму перехідному кордоні МSK3 Git робочі дерева дають кожному експерту ізольований дерево, щоб його задіяти в ,, але層а MCP - це те, що робить їх флотом, а не набором процесів, які можуть ділитися папкою

Часовий графік активності: МСК0 - найновіший, МСК1 - перший сигнал від кожного агента, МSK2 - операцій на інструментах з файлом, який він торкався, , - життєвий цикл і стан уваги, МСК4 - повідомлення, які вони надсилають через автобус, MСК5

Як автобус доставляє

send_message записує міцний файл відмітки в канал і також додає в-процесM SK1 A ChannelDeliveryCoordinator стежить за новими файлами, зберігає побачений набір таким чином, що кожна інформація надсилається точно один раз , переносить її до живих адресатів , і передає реальний поштовх на службу доставки МSK3

Як сильно повідомлення перерізається - це не безкоштовний DeliveryMode enum, перервний драбиль M SK1

public enum DeliveryMode
{
    Interrupt,       // send ESC to break the current turn, inject immediately
    NextPrompt,      // queue; inject when the agent next reaches idle
    Poll,            // not pushed; the agent checks on its own cadence
    Convenient,      // surfaced in the Bus HUD only
    Informational,   // never actioned or injected; shown as info
}

Доставка є безпосередньою-задіяною і приM SK1нижчійМSK2одного разу МSK3, а визнання - спостережена сторона-випадокMST5 не обіцянкаM ST6 Невідкладне повідомлення розбивається на теперішній поворотM st7 Нормальне чекає на наступний безповоротний проміжок так, що воно не зруйнує агента всерединіMst8думкиMSt9

Як право власності регулюється

Залишатись на своєму шляху - це не система честі. Архітектура має машинуM SK1 читабельну проекцію, ownership.yaml, і OwnershipMap вирішує будь-який репо-реляційний шлях до префикса агента, який його маєM SK1 найбільше -конкретне переможне коло :

// most-specific glob wins, so a session- carve-out inside cockpit-'s
// src/Styloagent.App/** beats the broad glob
public string? OwnerOf(string? path) { /* ... */ }

В 'язка PreToolUse споживає цей розладник і зупиняє агента на написанні файлу, який належить іншому агенту, з розумними винятками : overview- може перетинати кордони, тому що він вирішує.

Жива ланцюжка Docs

overview- не вільний. його системний про prompt поміщає його на релі M SK1 робочий верхні поверхи - вниз в три шари МSK3 і не перескочить вперед.

flowchart LR
    spec["spec.md<br/>what the system is"]
    shape["architecture.md<br/>C4 shape, owner-coloured"]
    fleet["proposed-agents.yaml<br/>who owns each component"]
    spec --> shape --> fleet
    fleet -.->|specialists report on the bus| spec

    style spec fill:none,stroke:#2563eb,stroke-width:2px
    style shape fill:none,stroke:#d97706,stroke-width:2px
    style fleet fill:none,stroke:#16a34a,stroke-width:2px

Установіть спочатку: : що це за система? , домовились з людиною перш ніж будь-що інше. МSK2 Потім сформуйте МSK3 один C \ 4 схему компонентів, в якій кожна компонента офарбована її намірним власником. \ МSK5 Потім флот. | : | один запропонований агент на верхню частину. overview- згортає свої знахідки назад у спеціалізацію, переМSK1 відтворює форму МSK2 і пристосовує флот . Ці три документи залишаються живою проекцією дизайну замість того, щоб зруйнувати його в фантастику M SK4


спеціалісти замість завдань

Більшість агентних інструментів створюють працівників. Описати задачу , працівник повертається догори дриґом МSK2 робить це? МSK3 зникає? . Наступна задача отримує нового працівника, який не пам 'ятає останньої.

StyloAgent створює експертів. foss- не робітник, який колись торкався детектора. МСК0. Це детектор. МSK1 - власник, МСК2 - власник на будь-якій сеансі. ММК3. Ця різниця не є косметичною. М СК4. Саме тому флот потрапив на помилку.

Список флоту: кожен спеціаліст, колірM SK1 кодований префиксом, власник підсистемиMSC3 з запропонованими агентами, які людина може розмножити одним кліком

Знані Botи з 'являлися на панелі приладів, які відnotували дуже високий ризик. foss- не зробила цього, тому що foss- знав, що проекція вже існує і знав де подивитися під нею UpdateClaimVerificationAsync, мав нуль викликачів в produkcji. Написаний і ніколи не підключений до дроту . Кожний відбиток пальців залишався неверіфікованим назавжди МSK2 так що кожен відомій робот вважав, що це дуже високий ризик

Це діагноз походить від сукупної власності foss- вже закартографував оркестратора, композитора вердиктуM SK1 та решётку запитів в попередніх сеансах.バグ був невидимимий для пошуку і очевидний для власника .

StyloAgent доводить це на собі. Набір збудований його власним флотом M SK1 cockpit- володіє снарядом Avalonia, bus- власник координації та доставки, session- володіє ПТИ та станком для розмноження, repo- owns git and the document library. Permanent owners , not one-shot tasksM SK3 важкі уроки, які вони вчаться, записуються у їхню ситуацію, так що вони ніколи їх не заново не вивчають session-' власний контекстний документ :

## HARD-WON DISCIPLINE (enforced this session, confirmed by overview-)
- Commit by explicit pathspec, atomically, in ONE command. The shared tree has ONE git
  index. A bare `git commit` after `git add` lets ANOTHER agent's concurrent commit sweep
  your staged files (it happened: my clipboard work landed mis-attributed in cockpit-'s 5e54207).

Працівник на основі завдання - МСК0 - вдаряється на це зіткнення, а наступний - на нього знову. МСК2 - тому що нічого не веде до уроку. МSK3 session- hit it once , understood why, and encoded the fix as part of who it is


Регідрація замість відновлення

Холодна сеанса починається з ритуалу : пошук кодової бази МSK1 підсумок того, що ви знайдете МSK2 реконструкція архітектури , спроба запам 'ятати, що трапилося минулого разу

Регідрація позбавляє ритуалу

Штат живе в одному файлі на одного спеціаліста. Це справжній зачуваний контекст для foss-, злегка вирізьблена

# foss- saved context

## Repo state
- Branch: main. My fix commit: 9b849629 (NOT pushed) - the known-bots-VeryHigh fix.

## DONE this session
- known-bots-VeryHigh fix (9b849629) - overview APPROVED, shipped:
  ROOT: UpdateClaimVerificationAsync had ZERO prod callers (never wired). Every fp
  stayed 'unverified' -> known bots read VeryHigh. Redeploying #115 could never fix it.

## NEXT (open, in priority order)
1. overview follow-up: add a REAL end-to-end test through the REAL store, not a double.
2. RISK display Face 1 (still OPEN): risk band missing from dashboard LIST rows.

## Guardrails
- ANY prod fingerprint-DB op = staging-first + express human go.
- CF-IP caveat: if the gateway verifies the bot against CF egress not the real client IP,
  the latch never sets -> still VeryHigh.

Свежа foss- читає це і є негайно поточним. Він знає останнє зобов 'язанняМSK1 чому воно існуєM SK2 що ще залишається відкритим, і які завіси обмежують наступний крокMSC4 Жодного повторюваного відкриттяMSL5 тому що фахівець написав це для свого майбутнього я МSK6 Одне правило є жорстким : воно ніколи не містить таємної цінностіMСК8 лише наказує, де живе авторитетна людинаМСК9

Це машина реального стану. МСК0, не метафора. МSK1 Сессія агентів рухається через чотири стани. Unspawned, Live, Dehydrated, Exited.

flowchart LR
    Unspawned[Unspawned] -->|spawn: PTY + launch prompt| Live[Live]
    Live -->|write context doc, stop PTY| Dehydrated[Dehydrated]
    Dehydrated -->|rehydrate: restore from context| Live
    Live -->|wrap up: test, merge, cleanup| Exited[Exited]

    style Unspawned fill:none,stroke:#6b7280,stroke-width:2px
    style Live fill:none,stroke:#16a34a,stroke-width:2px
    style Dehydrated fill:none,stroke:#d97706,stroke-width:2px
    style Exited fill:none,stroke:#6b7280,stroke-width:2px

Дехидрація пише контекстний документ і випускає PTY, так, що запаркований спеціаліст нічого не витрачає, поки він спить . Рехидрування відновлює його і він знову живий МSK2 струм з першого повороту МСК3 Заповнює чистий вихід М СК4 кабина керує проектом M СК5 тести MСК6 об 'єднує робоче дерево на головне М ็ СК7 і видаляє його M ็ SК8 або при негаразді зберігає робоче drzewо та встановлює проблему для сортування М S К9 Нічого з цього не залежить від того, чи контекстне вікно залишиться теплом М М С К 10 Пам' ять живе на дискі M S К 11 і машина штату читає його назад М В С К 12


Усвідомлення існуючих систем

Посадьте флот на систему, яку він ніколи не бачив, і подивіться, що станетьсяM SK1 Ось так StyloAgent розпочав роботу над Stylo.Bot MSC3 двигуномMST4 ядро логіки жили в братському комп 'ютерному репозиториі FOSSMS5 і ніхто з флоту цього ще не розумівMSL6

overview- пішов досліджувати. запускав читанийM SK1 тільки дослідження проходить через ядро FOSS і відслідковував справжній канал : масштабований оркестратор, який володіє воднім каналом для сигналу запитуMSC3 , живить одинтонний детектор, що керує хвилямиМSK5 запорядковує атоми детектора МSK6 виробляє документальний записMST7 тоді підпис та ризикова постановка з трьома осями, отриманими в часі читанняМST8

Тоді він написав, що це розуміння architecture.md : код МSK1 стовбурова діаграма компонентів МSK2, де кожен компонент забарвлений його власником . Диаграма подвоюється як мапа власника Сір означає, що поки що немає власника, і сірий - це сигнал :, який показував, що кілька комерційних послуг не мали експерта МSK2 і що комерційний зворотній зв 'язок був у руках overview- одинокий.

Це частина репо-сумові інструменти не вистачаютьM SK1 Виход не є одним -записом, який застаріває, коли він написаний overview- згортає свої знахідки до опису. МСК0, потім архітектура. МSK1, потім список. М СК2, з 'являється розуміння, МСК3, з' являється власникство. ,, і обидві постійно роблять все точніше замість того, щоб зруйнуватися. МКС5. Карта жива, тому що власники території продовжують її виправляти


Працюючи в багатьох reposіtoriaх

Repo-центричний інструментарій сприймає репозиторію як єдине у світі . StyloAgent сприймає його як деталі застосування Специалісти мають власні домени, а не папки, і домен перетинає репозицію

Два repos-репозитори Stylo.Bot - як один робочий простір foss- має розпізнавання, де б він не жити - МСК0 - і він живе в обох - МSK1 - з 'єднаних швами - : - IFingerprintStore, комерційні шари обмінюються в програмуванні Postgres через DI . Знані МSK2 Bots fix їздили на цю шину \ . Це був FOSS комп 'ютер \ МSK4 але кораблі розпізнавання всередині комерційного зображення входу в порт , так deploy- перебудував ворота, постановка підтвердила те, що робот зараз читає низько , і він залишився правильним у порівнянні з комерційним магазином Postgres, тому що цей магазин сидить за тим самим сплетінням тесту FOSS, проведеного в SQLite МSK2 Одна зміна M SK3 два репозитори , три експерти MSC5 об 'єднані тими, хто володіє сплетенням. Mostlylucid.Ephemeral і ви змінили контракт, кожен продукт залежить від

Ось частина, яка мені найбільше подобається. Я тримаю чотири репозиції в польоті одночасно , кожен з спеціалістом, який має лише свій власний контекст МSK2 Попросіть одного агента тримати чотири репо водночас і він довільно змінює свій контекст M SK3 деталі Auth поглинають розвідувальні аргументи , обмеження використання затьмарують правила тривалості MSC5 і кожна відповідь стає трохи гіршою MSL6 окремі спеціалісти відокремлюють контексти М SK7 так що чотири активні репо - це чотири зосереджених агентів\ , не один заплутаний\ МSK9 Ніякий код LLM, який я використовував, не робить цього самостійно\ M SK10


Архітектура ніколи не спить

Тиша перевага з 'являється, коли ніхто не кодує. У звичайному робочому потокіM SK1 момент закривання сеансу розумієш, що воно зникло : воно живе у контекстному вікні і вікно закрито .

Тут він залишиться на дискі. overview-' живі документи. Ці файли є довготривалою формоюMSC2 і вони виживають на кожному перезапускіM SK3 В пам 'яті немає стану зберігання демона, який крах міг би стирати

Це означає, що архітектура переживає будь-яку людину overview- повертається після compaction event, він читає контрольний пункт, який починається з теперішнього стану та складних уроків останнього сеансуM SK1 і орієнтується на один чтений. Коли foss- повертається, він знає, що 9b849629 і є ще одна сторона питання ризику. Довгий-тривалість пам 'яті - це не функція, яка закріплена на стороніM SK1 Це сутність, тому що акт зупинки роботи - це акт запису того, що робота була


Кожне рішення є надійним

Посиловий автобус робить більше, ніж маршрутні роботи. Оскільки спеціалісти координують його, і кожна інформація приземляється в каналіM SK2 причину кожного рішення зафіксують, як це трапляєтьсяМSK3 Не записуються після цього в doc нікому не оновлюються МSK4 Зафіксовані в моментіМСК5 в словах, які насправді використовували спеціалісті МСК6

Ця розмова - це документація.

Увага-перший Сигналовий АвтобусМSK1 закріплений M SK2 Потрібна увага МSK3 група непорозмовлених ниток , потім Недавній M SK5 потім Арівіум , колір кожного рядка MSC7 кодований участницею зі статусним гліфом

Ось справжня послідовність цієї флотилии: МСК0 , витягнутий прямо з автобусу, ".". Вона починається з overview- направляючи проблему ризику до foss-, позначена як невідкладна

From: overview-   Priority: urgent
# PRIORITY: the RISK display+correctness on the dashboard (human: this is the WORST)
Known bots showing VeryHigh ... known-good bots should latch friendly/Verified.
Report root cause + fix.

foss- і повернувся з причиною. : перевірений МSK1 зав 'язка не підключена overview- підтвердили і додали дві умови, обидві інженерні рішення, варті збереження M SK1

From: overview-   Priority: normal
# APPROVED - ship it (TDD). No DB op = perfect; add a REAL test of the wired flow
1. ADD A REAL TEST that exercises the ACTUAL wired flow end-to-end ... NOT one that
   manually calls UpdateClaimVerificationAsync. That's the exact false-confidence gap
   that hid this.
2. The CF / real-client-IP caveat is real ... if the gateway sees CF egress, the latch
   never fires.

Обидві ноти свідчать про існування. Перше записує, що попередній тест підробив потік і приховував błądM SK1 так що цього разу тест повинен керувати реальним шляхом. Друге записює перекреслений - граничний ризик і передає його deploy-. foss- надсилання 9b849629, потім замінив поверхневий тест на справжній кінець - до МSK2 кінців один в 883a1277, і overview- закрити петлю :

From: overview-   Priority: low
# 883a1277 real E2E test = exactly right; told deploy- to build it.
... drives the actual orchestrator + real store + real projection, no manual call ...
that fully closes the false-confidence gap that hid this.

Через шість місяців, коли хтось запитуватиме, чому ланцюг схвалення підключений туди, де він є, ми зможемо відповісти: МSK1 . Відповідь не втрачена. МSK2 , а на автобусі ",", відповідно до порядку . МSK4 , з прикріпленими SHA комп 'ютерами.


Чому це зменшило мою працю

Це не змусило мене писати код швидше. Моделі були вже швидкимиM SK1 Це скоротило когнітивний навантаження , що було справжнім витратом.

Я перестав бути автобусом інтеграції. До StyloAgent я був єдиним компонентом, який розумів, як з 'єднуються двигун розпізнавання ",", ворота МSK2 , магазин Postgres , труба з розміщанням, МSK3 і deploy pipeline . МSK4 , так що кожен перехрест , МSK5 , відрізаний зміною, проходить через мою голову. МSK6 Я тримав обмеження , . . Я пам' ятав шви .

Тепер реконструкція відбувається один раз і записується :

Перед МSK1 Після МSK2
Знову МSK1 поясни один МSK2 DB шв 'є кожен час Зашифрований як інваріант, який цінують експерти
Контекст МSK1 перемикаємось через чотири домени, щоб зробити одну зміну МSK2 Рухаємось зміною ; кожен спеціаліст має власний контекст
Запам 'ятайте, що було відправлено в минулому сеансі

Все, що залишається - це частина, яку варто зробити. : вирішити, що збудувати МSK1 і дозволити власникам збудовувати його .


Куди це може потрапити

Це ідеї. МСК0 - не обіцянки. МSK1 - робочий процес працює сьогодні для одного інженера і однієї флотилии. . - напрямки, які він показує, більш гіпотетичні.

  • Кросс-спеціанти машинM SK1 Флота могла б об 'єднати машини, з спеціалістом, який керує всюди, де є її доменаM SK1 система керує.
  • Командна співпраця. Декілька інженерів об 'єднують один флот , кожен маршрутізує роботу до одного і того ж стійкого експерта, таким чином архітектурна пам' ять поширюється, а не застрягає в одній людині
  • Віддалена експертиза. спеціаліст, який володіє domeną, до якої можуть дістатися люди, які її не мають
  • Спільні пакети спеціалістів. Спеціальний спеціаліст з розпізнавання або спеціаліст Кубернеті, який передавається іншій команді як starting point, а не збудований з нічого.
  • Організація-всесвітня архітектурна пам 'ятьM SK1 Отримане розуміння, яке мають експерти, які витримують людей, які покидають та приєднуються до них, так що знання не виходять з дверей, коли в них є інженер, який їх має

Це останнє далеко МСК0 , і я не кажу про це ".".


Дивний пристрій для використання, і ніяких вкладів

Мій приклад використання дивний. Я є однією людиною, яка керує технічною групою агентів через конstelацію моїх власних продуктів та пакетів , так що я можу тримати чотири місця в польоті без того, щоб моя голова була вузьким місцем для зануренняM SK2 Більшість людей не мають цієї проблеми . Я не викидаю це як робочий процес, який кожен повинен прийняти MSC4 Це вирішило мою проблему M SK5

З тієї ж причини, Я не приймаю уривокM SK1 Зав 'язую його, Створюйте його на власний, Візьміть десь, куди я б ніколи не подумав.MSC4 Релізи тут, якщо ви хочете почати з конструювання, а не з джерела.

Останній випуск


Завершення

Справа не в кодуванні агента з більшою пам 'яттю. МСК0. Це була зміна в формі. МSK1. З одного агента, який намагається знати все, МSK2. До багатьох спеціалістів, кожен володіє чимось і спілкується між собою. .. Властство постійне. ММК4. Розуміння живе на автобусі. ММСК5. А архітектура більше не живе лише в моїй голові.

Це весь трюк. МСК0 - не розумніша модель, МСК1 - команда, МSK2 - експерти, які зберігають свої домени, МКС3 - архітектор, який зберігає їх послідовність, МСС4 - запис кожного рішення, яке триває довше сеансу, який було зроблено в МСК5 - він зберігає архітектуру, так що я не мушу


Довідник : Практика робочого процесу

Ось відомі "-", Bots risk fix і МSK1 від початку до кінця .

  1. Обзор отримує запит. Я сказав флоту, що найгіршим на панелі керування був дисплей ризику. overview- сформулювати його як одне дослідження з двома обличчями : ризик не показаний , і ризик хибним, коли показаний
  2. Уявлення про маршрути до спеціаліста. Подібне повідомлення до foss-, власник детектора , з гальдом, що будь-яке відбитки пальців для виробництва МSK2 DB ре МSK3 індикатор потребує побудови спочатку і експлуатного людського ходу
  3. Спеціальний експерт досліджує foss- відслідковував його до ланцюга і знайшов реальну причину : UpdateClaimVerificationAsync з нульовим числом викликачів в виробництві. Також він помітив, що теперішній тест підробив дзвінокM SK1 тому прогалина залишилася прихованою.
  4. Розмова відбувається. overview- підтвердили згідно з цим правилом і додали дві умови на автобусі: : додайте реальний кінець МSK1 до МSK2 тест кінця , і підтвердіть справжній CF СМК4kliënт МСК5 індикатор IP з deploy-.
  5. Кодовий агент реалізує. foss- підключили канат до orchestrator seam. 9b849629. Ніяких операцій на заводі не потрібно МSK1 це самотужки МSK2 лікується, як Bots re - краwl
  6. Тести запускаються. Перший тест довів, що магазин називався ".". foss- а потім додали справжній кінець- доM SK1 тест, який керує справжнім оркестратором , справжнім магазином МSK3 і справжнім проектуванням . Заверніть 883a1277.
  7. Обновлення документації. Ніхто окремо. Корінна причинаМSK1 дві умовиM SK2 і SHA-комміт всі на автобусі в порядку.
  8. Специальна дехидрація. foss- пише свій зачуваний контекст : 9b849629 Wysyłка, 883a1277 приземлилася, одна сторона все ще відкритаM SK1 охоронні ланцюги рухалися вперед.
  9. Знання зберігаються. Знову побудували ворота, які власноруч deploy-, перевірено на стежці МSK1 і стало піддатним для охороненого МSK2 розщеплення - згинального розрізу виробництва ХМSK4 Коли наступне питання про стовпування приходить МСК5 він приземляється foss-,, яка вже володіє відповіддю

Весь цикл ,, коли він рухався автобусом :

sequenceDiagram
    participant H as Human
    participant O as overview-
    participant F as foss-
    participant D as deploy-
    H->>O: the risk display is the WORST
    O->>F: PRIORITY (urgent), root-cause the risk verdict
    F->>F: trace projection to the claim latch
    F->>O: root cause, UpdateClaimVerificationAsync never wired
    O->>F: APPROVED, ship it plus a REAL end-to-end test
    F->>F: commit 9b849629, then 883a1277 (real e2e test)
    O->>D: rebuild the gateway from 883a1277
    D->>D: staging, known bot now reads LOW not VeryHigh
    D->>O: verified green on staging, ready for a guarded prod cut

Ніхто не написав цю послідовність після того, як це сталося.


Подібні статті

logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.