Блог
Инженерные заметки, обновления платформы и размышления вслух.
Workflow-движок, который не различает людей и агентов
Большинство workflow-движков имеют две модели выполнения: для автоматических шагов и для человеческих. KB Labs не различает их. Это 'same rails'.
Читать далее →Объединяем 22 сабмодуля в одну монорепу — уроки миграции
Восемь месяцев KB Labs жил в 22 git-репозиториях, склеенных сабмодулями. Каждый со своим lockfile, CI и историей версий.
Читать далее →Свой пайплайн релизов для 145 пакетов
Опубликовать один npm-пакет — тривиально. Опубликовать 145 взаимозависимых пакетов с корректными бампами версий, верифицированными артефактами, сгенерированными changelog и планом отката — это пайплайн.
Читать далее →Как мы написали Go-менеджер сервисов (kb-dev) вместо docker-compose
В KB Labs 12 сервисов в локальной разработке. Месяцами мы управляли ими 200-строчным bash-скриптом, который проверял порты через lsof и надеялся на лучшее.
Читать далее →Двухуровневая память для долгоживущих агентов: рабочая память vs постоянные факты
«200K токенов» создаёт иллюзию, что управление памятью — чья-то чужая проблема. Нет. К 30-му ходу контекст на 80% состоит из шума.
Читать далее →Контрактные адаптеры: меняем Kafka на NATS не трогая бизнес-логику
«Мы должны уметь менять брокер сообщений» — эту фразу произносил каждый архитектор, но почти ни одна кодовая база реально этого не умеет.
Читать далее →Утиная типизация для плагинов: почему мы убили интерфейс IPlugin
Большинство плагин-систем начинаются одинаково: объявляется IPlugin, все его реализуют. Это чисто, знакомо — и создаёт зависимость, которая будет преследовать вас годами.
Читать далее →От 10 минут до 15 секунд: инкрементальные сборки в монорепе из 125 пакетов
При 125 пакетах полная сборка занимает около десяти минут. Для CI — нормально. Для разработчика, изменившего одну строку в утилите, — нет.
Читать далее →Бутстрап KB Labs web
Начальный каркас включает три контура: сайт, документацию и app shell.
Читать далее →Открыть закрытое: почему vendor lock-in — это архитектурный выбор, а не судьба
Каждая зависимость от платформы — это ставка. Ставка на то, что этот вендор останется правильным выбором через два года. Большинство ставок стареют плохо.
Читать далее →Почему мы выбрали self-hosted, а не SaaS-first
Стандартный плейбук для dev-инструментов в 2026 году очевиден: hosted-сервис, free tier, конвертация на usage. Мы пошли другим путём.
Читать далее →