
FooStack — это мое пространство для экспериментов, кода и практики.
Здесь я делюсь всем, что помогает мне и, надеюсь, поможет вам..
-

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

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

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

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

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

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

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

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

Qdrant MCP Server: подключаем базу знаний к AI через MCP
Большие языковые модели умеют отвечать на вопросы, писать код и анализировать текст. Но без дополнительного контекста они ничего не знают о вашем проекте. Как AI узнать структуру вашего API? Где искать внутреннюю документацию? Как найти архитектурное решение, принятое несколько месяцев…
-

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