Dev

Паттерн Circuit Breaker в Go: предотвращение каскадных сбоев

Паттерн Circuit Breaker в Go: предотвращение каскадных сбоев

Предотвращайте каскадные отказы в микросервисах на Go.

Предохранитель (circuit breaker) предотвращает перегрузку вашего Go-сервиса при обращении к неустойчивой зависимости, избегая каскадных сбоев, которые потребляют горутины, сокеты и память, пока вся система не рухнет.

Безопасность агентов A2A и MCP: идентификация, делегирование и журналы аудита

Безопасность агентов A2A и MCP: идентификация, делегирование и журналы аудита

Безопасность протокола определяет, кто может действовать, а не модель.

Инъекция промптов привлекает основное внимание в области безопасности систем на базе больших языковых моделей (LLM), и это заслужено, но это не вся проблема, когда агенты начинают вызывать инструменты и делегировать работу другим агентам.

A2A-стриминг и асинхронные задачи для длительных агентных рабочих процессов

A2A-стриминг и асинхронные задачи для длительных агентных рабочих процессов

Долгоживущие A2A-задачи продолжают существовать после завершения чат-сессий.

Большинство демонстраций AI-агентов по-прежнему ведут себя как чат-завершения с дополнительными шагами: вы отправляете промпт, ждете несколько секунд и получаете ответ в одном сообщении.

Шаблоны оркестрации мультиагентных систем: практическое руководство

Шаблоны оркестрации мультиагентных систем: практическое руководство

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

Системы на основе одного агента достигли своего пика в 2025 году — вы предоставляли одной модели языка (LLM) промпт, набор инструментов и цель, и она достаточно хорошо справлялась с ограниченными задачами.

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

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

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

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

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

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

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

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

Что такое протокол A2A? Разбираем Agent Cards и Tasks

Что такое протокол A2A? Разбираем Agent Cards и Tasks

A2A превращает агентов в равноправных участников сети.

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

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

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

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

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

LLM Guardrails на практике: что действительно работает

LLM Guardrails на практике: что действительно работает

Управляйте риском, а не только моделью.

Языковые модели (LLM) непредсказуемы. Они галлюцинируют, утекают данные, генерируют вредоносный контент или отказывают в выполнению легитимных запросов. Ограничители (guardrails) constraining поведение модели без ущерба для её возможностей.

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

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

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

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