Автор: dvcarrot

  • Сказка про cron, который боялись удалить

    Сказка про cron, который боялись удалить

    —

    от автора

    в

    Жил-был cron, который никто не решался удалить. Никто уже не помнил, зачем он нужен, но в коде было написано // IMPORTANT. DO NOT REMOVE. — а значит, трогать его было страшно.

  • SKILL.state: как хранить состояние LLM-агента без бесконечной истории сообщений

    SKILL.state: как хранить состояние LLM-агента без бесконечной истории сообщений

    —

    от автора

    в

    Большинство LLM-агентов устроены примерно одинаково: модель получает задачу, выполняет действие через tool, получает результат, рассуждает дальше и вызывает следующий tool. Вся эта последовательность постепенно накапливается в истории диалога. Для коротких сценариев такой подход работает нормально. Но если агент должен выполнить десятки или сотни последовательных действий, история превращается в проблему: контекст растёт, старые данные продолжают влиять…

  • Mastra — TypeScript-фреймворк для создания AI-агентов

    Mastra — TypeScript-фреймворк для создания AI-агентов

    —

    от автора

    в

    Еще недавно интеграция LLM в веб-приложение обычно выглядела довольно просто: отправляем запрос в API модели, получаем текст и показываем его пользователю. Но как только хочется сделать не просто чат, а полноценного AI-агента, быстро появляются дополнительные задачи: вызов функций приложения, хранение истории, работа с файлами, выполнение последовательности действий, RAG, MCP, стриминг, несколько агентов и наблюдаемость. Все…

  • Консольная команда как оболочка над Job в Laravel

    Консольная команда как оболочка над Job в Laravel

    —

    от автора

    в

    В Laravel довольно легко написать консольную команду, внутри которой постепенно оказывается вся бизнес-логика: получение данных, обработка, запросы к API, запись в базу и логирование. Для небольшого скрипта это нормально. Но если задача растёт, удобнее разделить ответственность: Command отвечает за запуск, Job — за выполнение работы. Так одну и ту же задачу можно запускать из консоли,…

  • Laravel MCP: подключаем AI к Laravel-приложению

    Laravel MCP: подключаем AI к Laravel-приложению

    —

    от автора

    в ,

    MCP (Model Context Protocol) — протокол, позволяющий AI-клиентам взаимодействовать с внешними приложениями через набор явно описанных инструментов. Для Laravel есть официальный пакет laravel/mcp, поэтому для создания собственного MCP-сервера не нужно самостоятельно реализовывать протокол и транспорт. Посмотрим, как это работает, на простом примере блога. Предположим, у нас есть обычное Laravel-приложение со статьями: Мы хотим дать AI…

  • Альтернативная организация NestJS-проекта: разделение API и бизнес-слоя

    Альтернативная организация NestJS-проекта: разделение API и бизнес-слоя

    —

    от автора

    в ,

    Один из вариантов организации NestJS-проекта: отдельно API, бизнес-модули, репозитории и интеграции. Разбираем плюсы такого подхода.

  • Архитектура — это не папки и паттерны

    Архитектура — это не папки и паттерны

    Откройте любой новый проект на GitHub. Скорее всего, вы увидите знакомую картину: папки Domain, Application, Infrastructure, Presentation, десятки интерфейсов, фабрик, сервисов, репозиториев и других элементов «правильной» архитектуры. Проект выглядит солидно. Создается впечатление, что он хорошо спроектирован. Но внешний вид структуры каталогов почти ничего не говорит о качестве архитектуры. Потому что архитектура — это не папки.…

  • Qdrant MCP Server: как добавить долговременную память AI-ассистенту

    Qdrant MCP Server: как добавить долговременную память AI-ассистенту

    —

    от автора

    в

    Большие языковые модели отлично генерируют текст, помогают писать код и отвечают на вопросы. Но у них есть одна особенность — они не запоминают информацию между сессиями. Если сегодня вы рассказали AI о своем проекте, а завтра открыли новый чат, модель уже ничего не знает. Именно эту проблему решает Qdrant MCP Server — официальный MCP-сервер от…

  • Qdrant MCP Server: подключаем базу знаний к AI через MCP

    Qdrant MCP Server: подключаем базу знаний к AI через MCP

    —

    от автора

    в

    Большие языковые модели умеют отвечать на вопросы, писать код и анализировать текст. Но без дополнительного контекста они ничего не знают о вашем проекте. Как AI узнать структуру вашего API? Где искать внутреннюю документацию? Как найти архитектурное решение, принятое несколько месяцев назад? Один из способов решить эту задачу — подключить базу знаний через Model Context Protocol…

  • Qdrant: современная векторная база данных для AI-приложений

    Qdrant: современная векторная база данных для AI-приложений

    —

    от автора

    в

    Большие языковые модели, семантический поиск и RAG-системы сделали векторные базы данных практически обязательным элементом современной инфраструктуры. Если раньше приложения искали информацию только по ключевым словам, то сегодня они умеют искать по смыслу. Именно для этого и существуют векторные базы данных. Одной из самых популярных open-source реализаций является Qdrant. Она активно развивается, легко запускается через Docker…