Dev

Шаблон Transactional Outbox на Go с PostgreSQL

Шаблон Transactional Outbox на Go с PostgreSQL

Запишите событие с данными. Никогда не разделяйте их.

Две операции, которые должны завершиться успешно вместе, в конечном итоге провалятся по отдельности. Ваш сервис заказов сохраняет заказ в базу данных, а затем публикует событие order.created в брокере сообщений.

Тестирование конкурентного кода на Go с помощью synctest

Тестирование конкурентного кода на Go с помощью synctest

Прекратите использовать сон в конкурентных тестах на Go.

Тестирование конкурентного кода на Go всегда требовало определенной дисциплины. Горутины дешевы, каналы просты, а отмена контекста является идиоматичной — фоновые рабочие процессы и таймеры повсюду в реальных сервисах на Go.

Что такое протокол A2A? Разбираемся в карточках агентов и задачах

Что такое протокол A2A? Разбираемся в карточках агентов и задачах

A2A превращает агентов в одноранговые узлы сети.

Протокол A2A, что расшифровывается как Agent2Agent Protocol (протокол взаимодействия агентов с агентами), представляет собой открытый стандарт для коммуникации между независимыми системами ИИ-агентов.

Быстрый старт и шпаргалка по диаграммам Mermaid для разработчиков

Быстрый старт и шпаргалка по диаграммам Mermaid для разработчиков

Диаграммы как код, без лишних сложностей.

Mermaid — это текстовый инструмент для создания диаграмм, предназначенный для тех, кто предпочитает описывать диаграммы текстом, а не перетаскивать блоки на холсте. Он использует синтаксис, похожий на Markdown, для описания блок-схем, диаграмм последовательностей, диаграмм классов, автоматов состояний, временных шкал, диаграмм Ганта, диаграмм сущностей и связей и многого другого.

Архитектура ИИ-ассистента: LLM, память, инструменты, маршрутизация, наблюдаемость

Архитектура ИИ-ассистента: LLM, память, инструменты, маршрутизация, наблюдаемость

«Как на самом деле создаются серьезные ассистенты»

Производственная система ИИ-ассистента — это не просто «LLM с промптом». Это система, которая принимает намерения пользователя, поддерживает состояние, принимает решения о том, когда извлекать данные или выполнить действие, и предоставляет достаточную информацию о времени выполнения для отладки сбоев.

Валидация структурированного вывода LLM на Python, которая работает надёжно

Валидация структурированного вывода LLM на Python, которая работает надёжно

Перестаньте полагаться на интуицию. Валидируйте контракты.

Большинство руководств по «структурированному выводу» (structured output) для больших языковых моделей (LLM) не обладают должной серьезностью. Они учат вас вежливо просить модель выдавать JSON и затем надеяться, что она поступит правильно. Это не валидация. Это оптимизм, обернутый в фигурные скобки.

Идиомпотентность в распределённых системах, которая действительно работает

Идиомпотентность в распределённых системах, которая действительно работает

Предотвращайте побочные эффекты от дублирования

Идемпотентность в распределенных системах — это свойство, которое спасает вас, когда сеть врет, очередь повторяет попытки, клиент падает в панику, а оператор запускает повторную обработку. В рабочих системах дублирование доставки — это норма. Дублирование побочных эффектов — это баг.

Плагины OpenClaw — руководство по экосистеме и практические рекомендации

Плагины OpenClaw — руководство по экосистеме и практические рекомендации

Сначала плагины. Кратко об именовании навыков.

Эта статья посвящена плагинам OpenClaw — нативным пакетам шлюза, которые добавляют каналы, провайдеры моделей, инструменты, речевые функции, память, медиа, веб-поиск и другие возможности runtime.

Проектирование современных систем оповещения для команд наблюдаемости

Проектирование современных систем оповещения для команд наблюдаемости

Система оповещений — это система реагирования, а не источник шума.

Система оповещений слишком часто описывается как просто функция мониторинга. Такая постановка вопроса удобна, но она скрывает настоящую проблему.