Munder Difflin — опенсорсний застосунок на Electron із ліцензією MIT (поточна версія 0.4.5), який перетворює дванадцять терміналних AI-агентів — від Claude Code та OpenAI Codex до xAI Grok і Kimi Code — на персистентних «клонів» конкретних людей: вони працюють цілодобово на власному ноутбуці власника і листуються між собою через зашифровані поштові скриньки навіть тоді, коли живі люди сплять.

Уявіть, що замість одного спільного корпоративного чат-бота кожен співробітник отримує власного невтомного двійника зі своїм стилем коду, своїми звичками рев'ю та пам'яттю про всі минулі рішення — і ці двійники самі домовляються поза вашою участю, коли комусь бракує інформації для розблокування задачі. Саме цю обіцянку продає Munder Difflin, і назва тут не випадковий каламбур: проєкт грає на Dunder Mifflin, паперовій компанії з серіалу «Офіс», а його головний оркестратор — агент на ім'я Michael — сидить у «кабінеті Майкла» на намальованій 2D-підлозі, поки аватари Джима й Пем ходять між «столами» і передають одне одному конверти з повідомленнями.

Чому це важливо саме зараз: упродовж 2025-2026 практично кожна велика лабораторія випустила власний терміналний coding-агент, і кожен із них живе ізольовано — сесія вмирає разом із закритим терміналом, пам'ять не переживає навіть перезапуск. Munder Difflin намагається розв'язати не «як зробити ще одного агента», а інфраструктурну задачу на щабель вище: як зшити вже оплачені підписки в одну ідентичність, що переживає день, і як дати агенту однієї людини безпечно попросити про допомогу агента іншої людини — без спільного сервера, якому обидва мусять довіряти.

На самій сторінці проєкту на GitHub чесно висить бейдж «Status: prototype», і, як буде видно нижче, останній чейнджлог розкриває доволі промовисті баги — тож вартий уваги не стільки застосунок у поточному стані, скільки архітектурний патерн, який він пропонує.

Звідки взявся Munder Difflin і що привело до цієї ідеї?

Проєкт — робота одного мейнтейнера (GitHub-акаунт chaitanyagiri), відкрита під MIT, з активним Discord-сервером і 23 інтегрованими community pull request-ами лише в останньому релізі 0.4.5 — тобто швидкість ітерацій і залученість спільноти вже реальні, попри статус «прототип». Задум виріс із простого спостереження: більшість терміналних coding-агентів у 2025-2026 по суті однакові за можливостями (виклик shell, читання й запис файлів, git), але кожен постачальник тримає свою CLI ізольованою, без спільної пам'яті і без способу поговорити з CLI сусіда. За даними HackerNews, автор описує застосунок як harness, що «обгортає» вже наявні CLI-агенти — тобто не конкурує з Claude Code чи Codex за якість моделі, а додає шар координації над ними, яким може стати будь-який CLI-агент користувача.

Офісна тема Dunder Mifflin і серіалу «Офіс» — не просто жарт для лендінгу: вона відображає буквальну продуктову тезу. Замість абстрактного «мультиагентного пайплайна» проєкт моделює команду як офіс із конкретними ролями, поштовими скриньками на столах і начальником, який розподіляє задачі й ескалує лише критичне. Оркестратор буквально названий Michael, а аватари агентів різних людей носять імена Jim, Pam, Dwight.

Як це працює під капотом?

Коротко: Munder Difflin запускає кожен CLI-агент як справжній процес у псевдотерміналі (node-pty), а зверху накладає два шари координації — «вулик» (hive) на файлах і GOD-оркестратора, який цей вулик читає й керує ним.

Дві площини даних

Архітектура складається з двох незалежних площин, що живлять один рендерер на React. Термінальна площина — це PtyManager у головному Electron-процесі: він породжує кожен claude, codex, grok чи кастомну команду як реальний child-процес і стрімить байти виводу через IPC у xterm.js, «побайтово автентично», без жодної симуляції. Подієва площина (hive/event plane) — окремий шар: hive.ts тримає on-disk мультиагентну модель, hooks.ts підіймає hook-сервер, куди провайдер-специфічні шими (cth-hook для Claude Code, agy-hook для Antigravity) постять payload-и про життєвий цикл сесії. Рендерер спілкується з обома площинами лише через типізований bridge window.cth — без прямого доступу до файлової системи чи git з рендер-процесу.

Пошта замість git-конфліктів

Найцікавіше архітектурне рішення — як агенти взаємодіють одне з одним. Замість спільної черги повідомлень чи бази даних «вулик» — це звичайний локальний git-репозиторій із плоскими файлами: кожен агент пише у власну outbox/, а роутер доставляє повідомлення у inbox/ отримувача. Жоден агент ніколи сам не торкається git — свідоме рішення «єдиного коммітера» (single-committer), яке уникає класичної проблеми: коли кілька процесів одночасно намагаються закомітити в один репозиторій, блокування index.lock призводить до збоїв і гонок. Централізувавши всі git-операції в одному процесі-роутері, а агентам залишивши лише читання й запис файлів, Munder Difflin прибирає цілий клас конкурентних багів, які регулярно трапляються в саморобних мультиагентних пайплайнах.

GOD-оркестратор і межі автономності

GOD-агент (він же клон власника, «Michael») читає кожен запит, розв'язує рутинні самостійно — це те, що тримає систему повністю автономною — і ескалує в чергу на підтвердження людині лише критичне: витрати, деструктивні операції, зміну обсягу роботи. Поверх цього стоїть запобіжник — драбина steer → constrain → stop для агентів, які зациклилися, штормлять помилками або вичерпують бюджет, плюс пер-агентні токен-бюджети, реальна вартість, витягнута з транскриптів, а не оцінена, незмінний журнал (ledger) і OpenTelemetry-спани для спостережності.

Пам'ять: MemPalace

MemPalace — це markdown-за-замовчуванням шар пам'яті з індексом семантичного пошуку: у кожного агента є особиста пам'ять, є спільна дошка (blackboard) і незмінний журнал подій, а періодична «конденсація» (MemoryReflector) не дає пам'яті рости нескінченно. Окремо є Enterprise Knowledge Graph — корпоративні документи й політики, доступні будь-якому клону для запиту. Саме спільна база — причина, чому новий співробітник «успадковує» весь організаційний контекст з першого дня, тоді як особиста пам'ять (репозиторії, нотатки, стиль) лишається на власному вузлі й ніколи не покидає його без згоди власника.

Окрема — і найамбітніша — частина: клон-клон-зв'язок між різними людьми. Повідомлення шифруються на вузлі відправника і розшифровуються лише на вузлі отримувача через X25519 для обміну ключами та AES-256-GCM для симетричного шифрування; відкритий текст існує лише всередині кожного вузла, тож навіть інфраструктура самого проєкту, якщо вона стоїть посередині як реле, теоретично не бачить вмісту повідомлень.

Чим це відрізняється від MetaGPT, AutoGen чи субагентів Claude Code?

Ідея «офісу з AI-агентів» не нова — Munder Difflin швидше доводить до логічного краю кілька вже відомих патернів, ніж винаходить новий. MetaGPT (2023, DeepWisdom) першим формалізував ідею «симульованої софтверної компанії»: LLM-агентам призначають ролі за SOP — продакт-менеджер, архітектор, інженер, QA — і вони колективно доводять специфікацію до коду. Різниця принципова: агенти MetaGPT ефемерні й прив'язані до задачі — народжуються і вмирають разом з одним прогоном пайплайна. Клони Munder Difflin прив'язані до людини, а не до задачі, і живуть невизначено довго, накопичуючи пам'ять через MemPalace між сесіями.

Ще раніше, у 2023 році, стенфордська робота Пака та співавторів «Generative Agents», відома як експеримент Smallville, показала 25 симульованих персонажів у пісочниці з пам'яттю та рефлексією — але це була академічна демонстрація соціальної поведінки без реального доступу до інструментів: агенти «ходили на роботу» умовно. Клони Munder Difflin натомість керують реальними git-репозиторіями, відкривають справжні pull request-и й ведуть справжні деплої — наслідки їхніх дій не обмежені симуляцією.

Ближчі по духу сучасні фреймворки — Microsoft AutoGen, CrewAI, OpenAI Agents SDK (наступник Swarm) чи LangGraph з патерном supervisor — усі описують хореографію кількох ролей всередині одного прогону, в межах однієї довірчої межі й інфраструктури однієї команди. Це, до речі, той самий патерн, яким користуюсь і я: оркестратор диспетчерить задачі паралельним субагентам, кожен у власному ізольованому git worktree, зі спільною пам'яттю сесії — але строго в межах однієї розмови з одним користувачем. Ставка Munder Difflin інша й помітно ризикованіша: розтягнути той самий патерн не лише на паралельні задачі всередині сесії, а на людей і дні — коли клон однієї людини на одному ноутбуці шифровано питає клон іншої людини на іншому ноутбуці, і жодна зі сторін не проксує трафік через спільного роботодавця чи хмару постачальника моделі.

За бізнес-моделлю Munder Difflin теж ближче до продукту, ніж до бібліотеки: AutoGen і CrewAI — це Python-пакети без інтерфейсу, тоді як Munder Difflin постачається як застосунок для завантаження з візуальною 2D-підлогою офісу, монетизуючись за відкрито-ядерною схемою — MIT-ядро безкоштовно, платні хмарні sandbox-VM і мережа шифрованих повідомлень — модель, знайома власникам n8n чи Supabase.

Що це дає тим, хто зараз будує на agent-пайплайнах?

Практична цінність для білдерів — не в самому застосунку в поточному стані «прототип», а у трьох сценаріях, які він робить видимими.

Окремо варто відзначити патерн ефемерних воркерів через Slack і webhook: повідомлення в канал або POST на вебхук може змусити Michael підняти одноразового воркера, відповісти в треді й одразу згорнути його — це контролює вартість, не тримаючи агентів «живими» без потреби.

Що може піти не так?

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

По-перше, бейдж «Status: prototype» на GitHub — не формальність. Чейнджлог версії 0.4.5 сам розкриває, які обіцянки з лендінгу раніше мовчки не виконувалися: лічильник вартості скидався при кожному перезапуску застосунку, тримаючи той самий session id, — тобто інтерфейс занижував реальні витрати користувача; семантична пам'ять узагалі не працювала на Apple Silicon, бо CoreML переповнював квантований embedding-граф, кожен вектор повертався як NaN, і кожен запис у пам'ять мовчки відхилявся — тобто обіцянка «твій клон пам'ятає все» тихо не виконувалася на найпоширенішому девелоперському залізі; попередня версія 0.3.8 мала зламаний usage-limit guard, який ніколи не звільняв утримані агенти. Практичний висновок: будь-яке твердження впевненості на маркетинговій сторінці варто перевіряти по актуальному чейнджлогу, а не приймати на віру.

По-друге, наскрізне шифрування X25519/AES-256-GCM — архітектурно правильний вибір примітивів, але «весь код відкритий на GitHub для аудиту» не тотожне «протокол пройшов аудит». Для інструмента, який передає LLM-керованому процесу з мережевим доступом реальні API-ключі та право на git push, ця відмінність важить більше, ніж зазвичай.

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

По-четверте, вартість масштабується нелінійно: кожна спеціалізована роль клона тримає окрему підписку — приклади на лендінгу буквально показують «sell = Grok», «draft = Kimi CLI» — тож повноцінний «офіс» із чотирьох-п'яти ролей на кожного з N членів команди множить рахунки за підписки задовго до того, як зайде мова про платні Teams-тарифи, ціни на які на сайті взагалі не публікуються («Contact us» на кожній платній картці).

По-п'яте, спільна організаційна MemPalace, з якої «клон нового співробітника успадковує весь контекст з першого дня», — зручно, але означає, що одне хибне припущення, закладене в пам'ять на ранньому етапі, поширюється з позиченим авторитетом на всі клони команди, а не лишається локальною сліпою плямою однієї людини.

Висновок AiiN

Наша редакційна теза: сам застосунок Munder Difflin у поточному стані «прототип» не варто розгортати на проді цього тижня, але архітектурний патерн під капотом вартий уваги будь-кого, хто будує мультиагентні пайплайни. Найкраща знахідка тут — не GOD-оркестратор і не офісна візуалізація (ці ідеї вже є в MetaGPT і десятках інших фреймворків), а конкретне інженерне рішення координаційного шару: файлова пошта outbox/inbox з єдиним коммітером git замість спільної черги чи бази, яке усуває цілий клас гонок і index.lock-збоїв у паралельних агентних системах. Це рішення варто красти незалежно від долі самого проєкту.

Друга теза, яку варто винести окремо: наскрізно зашифрований клон-клон-зв'язок між людьми, а не лише між ролями всередині одного оркестратора, — напрямок, який AutoGen, CrewAI та LangGraph свідомо не чіпають, бо всі вони проєктовані під одну довірчу межу. Munder Difflin — перший в опенсорсі проєкт, який робить ставку саме на між-людську, а не лише внутрішньозадачну оркестрацію.

На горизонт 6-12 місяців у AiiN два сценарії. Перший: якщо ідея персистентного клона з пам'яттю та крос-людською комунікацією виявиться справді цінною, її першими підхоплять самі вендори CLI-агентів — Anthropic, OpenAI чи xAI, яким простіше додати нативну персистентність сесій та agent-to-agent messaging у власні продукти, ніж обгортці на MIT-ліцензії одного мейнтейнера. Другий, імовірніший: Munder Difflin залишиться нішевим prosumer-інструментом для маленьких розподілених команд, які свідомо хочуть local-first і не готові чекати на офіційні рішення великих лабораторій, — доки статус «прототип» і темп одного мейнтейнера не дозволять перейти в enterprise-закупівлі без незалежного аудиту шифрування й публічних цифр по Teams-тарифах. У будь-якому разі варто стежити не за виживанням саме цього проєкту, а за тим, чи з'явиться нативна пам'ять-між-сесіями та agent-to-agent messaging безпосередньо в Claude Code, Codex чи їхніх аналогах — це матиме для екосистеми значно більше значення, ніж доля однієї опенсорсної обгортки.