██████╗██╗      █████╗ ██╗   ██╗██████╗ ███████╗
██╔════╝██║     ██╔══██╗██║   ██║██╔══██╗██╔════╝
██║     ██║     ███████║██║   ██║██║  ██║█████╗  
██║     ██║     ██╔══██║██║   ██║██║  ██║██╔══╝  
╚██████╗███████╗██║  ██║╚██████╔╝██████╔╝███████╗
 ╚═════╝╚══════╝╚═╝  ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝
 
  ██████╗ ██████╗ ██████╗ ███████╗
 ██╔════╝██╔═══██╗██╔══██╗██╔════╝
 ██║     ██║   ██║██║  ██║█████╗  
 ██║     ██║   ██║██║  ██║██╔══╝  
 ╚██████╗╚██████╔╝██████╔╝███████╗
  ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝

или как создать работающего AI-агента за 24 часа

На примере сервиса Smart Restaurants

Роман Пустовалов • Lead of Rails & Platform

Обо мне

  • 👨‍💻 Роман Пустовалов, Lead of Rails & Platform
  • 🔧 Команда Rails & Platform занимается экосистемными и инфраструктурными сервисами
  • 🏗️ Аутентификация, платежи, кабинеты, API Gateway, Суперапп и сервисы Суперапп
  • 📦 А также сервисами, не входящими в основной фокус бизнес-юнитов проекта Smart Restaurants
PHP
Go
Rust

Задача: Создать MCP-сервер для агента

⭐⭐⭐

Сложность задачи

Что такое MCP и как он работает?
Как агент вызывает MCP-функции?
Непонятна вся концепция

Незнакомая область

Takeaway сервисы — полная неизвестность
Как пользователь оформляет заказ?
Какие шаги в user flow?

🆕

Отсутствие опыта

Ноль опыта создания агентов
Ноль опыта с MCP
Всё с абсолютного нуля

"А что если..."

Задача: создадим AI-агента используя AI-агента

🤯

А что если...

Я не буду учить MCP?

🤖

Вместо этого...

Claude Code изучит и реализует всё сам

🎰

Ставка

AI создаёт AI за 24 часа

"Время использовать Claude Code для создания MCP MVP..."

План презентации

  1. 24 часа разработки: От идеи до работающего MVP
  2. Эволюция агента: От консоли до Generative UI
  3. AI инструменты: Битва моделей и выбор Claude Code
  4. Статистика использования: Реальные метрики и стоимость
  5. Context Engineering: Новая дисциплина работы с AI
  6. Выводы: MCP серверы и будущее разработки

Как создавался MCP сервер

7 фаз разработки за 24 часа

📋 Концепт
🏗️ Инфраструктура
🔌 API Gateway
⚙️ Реализация
🐛 Тестирование
🎯 Фокусировка
📍 Геолокация

28 эффективных промптов из 62 = полноценный MCP сервер

От задачи до рабочего прототипа

15:30
Получил задачу
16:00
Первый промпт
16:10
Сгенерирован первый код MCP
17:30
MCP проходит тесты
23:00
"Эврика!" с Playwright
05:30
Получена первая ссылка на оплату
08:00
Начинаем свой UI агента
~16:00
MVP готов! 🎉

Фаза 1: Концепт

📁 Запустил Claude Code в директории с моими сервисами

Первый промпт (2 предложения):

"i need to make an mcp server to be able 
making takeaway order. i think you need 
following services - takeaway, locations, menu"

💡 Claude сразу создал:

  • TypeScript MCP сервер с package.json
  • Базовые классы для takeaway, locations, menu
  • MCP протокол handlers

Фаза 1: Деплой с первых минут

Промпт:

"it will be remote located"

🚀 Claude немедленно создал:

  • Dockerfile с multi-stage build
  • docker-compose.yml для оркестрации
  • Health checks и signal handling
  • Non-root security practices

Фаза 1: Умный анализ

Промпт:

"analyze flow of frontend takeaway-web 
project to build effective mcp"

🤖 Claude использовал Task tool:

  • Запустил general-purpose агента для анализа
  • Изучил src/views/, src/services/, src/api/
  • Проанализировал Vue.js компоненты и роутинг
  • Выявил flow: landing → menu → checkout
  • Задокументировал state management и API

Фаза 2: CI/CD за одну команду

Промпт:

"for mcp-takeaway-server make gitlab-ci 
as for golang service in midas/payment-gateway"

⚙️ Claude создал полный pipeline:

  • Multi-stage: test → vault → build → deploy
  • Linting, unit tests с coverage
  • Branch-based деплойменты
  • Auto-cleanup после 1 недели
  • Интеграция с Helm и Docker registry

Фаза 2: Интеграция с Gateway

Промпт:

"current domain of gateway is https://api-proxy.choco.kz/
its like https://api-proxy.choco.kz/{service_request_url}"

🔌 Claude реализовал:

  • GatewayService базовый класс с Axios
  • Автоматическое построение URL
  • Цветной logging запросов/ответов
  • JWT token forwarding
  • Координаты позже в LocationServiceV2

Фаза 3: Streaming MCP сервер

Промпт + пример кода:

"do we support streamable http? it should be stateless"
+ пример Express кода

🚀 Claude построил http-streamable.ts:

  • Stateless MCP с per-request сервисами
  • JWT extraction из Authorization
  • /mcp endpoint для протокола
  • CORS и error handling
  • Health check с статусом

Фаза 4: Live Web Analysis с Playwright

Промпт:

"use playwright to go to https://takeaway-web.choco.kz/ 
and gather information about request and response 
to build a flow for mcp server needed tools"

🕵️ Claude обнаружил через Playwright:

  • Location API: /brandy/api/v1/locations/near
  • Popular locations: /takeaway/v2/locations/popular
  • Headers, параметры, структуры ответов
  • Service type filtering (4=takeaway, 8=delivery)

Фаза 4: Location Services Implementation

Дополнительный промпт:

"to list available location for user by nearest, 
popular and etc."

🔧 Claude создал на основе анализа:

  • LocationServiceV2 с категориями (popular, nearby, promo)
  • searchLocationsByBrand и getLocationsByCategory
  • Интеграцию с координатами пользователя
  • Фильтрацию по типу сервиса

Фаза 4: Фикс координат

Промпт:

"некоторые апи методы принимают координаты в заголовках, 
давай мы их будем принимать в параметрах 
и передавать на сервер в заголовках"

📍 Claude реализовал:

  • Координаты принимаются как параметры MCP
  • Автоматическая конвертация в X-User-Latitude/Longitude headers
  • Поддержка координат во всех location методах
  • Исправлена проблема с пустыми результатами

Фаза 5: Исправление ошибок

Ошибка валидации:

"Error: Validation error - неверный filter[only-promo]"

Claude исправил:

  • filter[only-promo]: boolean → 0/1
  • Обновил LocationFilters interface
  • Добавил service параметр в MCP tools
  • Создал parameter validation

Фаза 5: Проблема JWT

Логи ошибки:

"✅ Incoming: Bearer eyJ0eXAiOiJKV...
❌ Outgoing: Bearer gateway-access
= 401 Unauthorized"

🔐 Claude перестроил архитектуру:

  • Per-request service instances
  • JWT extraction в /mcp endpoint
  • authToken в конструкторы
  • Token forwarding через GatewayService

Фаза 6: Стратегическое решение

Промпт:

"we decided to exclude delivery 
since it collides with our other project"

✂️ Claude удалил всё лишнее:

  • Удалил createDeliveryOrder tool
  • TakeawayOrder: только 'pickup'
  • service='takeaway', service_type=1
  • Очистил TypeScript interfaces
  • pickupTime вместо deliveryTime

Фаза 7: Terminal API

Curl как документация:

curl 'https://api-proxy.choco.kz/takeaway/
locations/card/terminal/9262?include=extra'...

🌐 Claude реализовал:

  • getLocationByTerminal MCP tool
  • Terminal ID validation
  • include=extra параметр
  • locationCountries с иерархией
  • Координаты во всех методах

Итоговая архитектура

Пользователь
Frontend
(Vue.js)
AI Платформа
MCP-сервер
(Node.js)
API Smart
Restaurants

"MCP — это классический BFF (Backend for Frontend) — полная свобода в дизайне контрактов!"

Результаты первых 24 часов

Что получилось:

Рабочий MCP-сервер на Node.js
Frontend-чат на Vue.js
Интеграция с системой авторизации
🎯 Полный цикл заказа с получением реальной ссылки на оплату

Главный результат

< 24 часа

Рабочий агент

Экономия времени: в 5-10 раз быстрее традиционной разработки

"Роль разработчика смещается от написания кода к правильной постановке задач, архитектуре и быстрой проверке гипотез, а роль команды — в сторону настройки агента для создания WOW пользовательского опыта"

Эволюция

"Прототип был готов, но хотелось большего..."

Визуальное улучшение

Карусели товаров, красивые блоки заказа, улучшенная навигация

UI улучшения 1 UI улучшения 2 UI улучшения 3 UI улучшения 4
Изображение: 1 / 4

Generative & Reactive UI

Агент генерирует интерактивные компоненты с реактивной логикой

✓ Автоматический пересчет суммы✓ Валидация форм✓ Динамические кнопки
Generative UI 1 Generative UI 2 Generative UI 3 Generative UI 4 Generative UI 5 Generative UI 6 Generative UI 7 Generative UI 8
Изображение: 1 / 8

Результат эволюции

"Начав с быстрого прототипа, за несколько дней мы получили платформу для R&D"

MVP → Production-ready UI
Static → Generative Interface

Битва AI-моделей (2025)

SWE-bench Verified - реальные задачи кодинга

Gemini 2.5 Pro
63.8%
Claude Sonnet 4
72.7%
Claude Opus 4.1
74.5%
GPT-5
74.9%
Grok 4
75%

Типы AI инструментов для разработки

🖥️

AI-Native IDEs

Полноценные IDE с встроенным AI

Cursor Windsurf Trae

Agentic CLIs

Командная строка с агентным AI

Claude Code Gemini-CLI Qwen Code

Сравнение AI инструментов

Инструмент Модель Цена/мес Ключевые фичи
Cursor Выбор модели (GPT/Claude) $20 + MAX MODE $$$ Composer, токен-биллинг
Windsurf Выбор модели (GPT/Claude) $15 Cascade Flows, Memories, визуальная IDE
Claude Code Opus 4.1 (SWE 74.5%) $20/100/200 CLI, Sub-agents, Output styles, Hooks, 480ч/нед
Gemini-CLI Gemini 2.5 Pro (1M) Бесплатно 1M токенов, Google Search

Какой инструмент выбрать?

✏️ Для ежедневной разработки

Cursor / Windsurf

IDE с встроенным AI и удобным интерфейсом

AI используется не так много, изменения относительно небольшие

🚀 Для быстрого прототипирования

Claude Code

Agentic search + полный контроль над процессом

🎯 Альтернативный подход

VS Code + Claude Code

Привычная IDE + мощный AI агент в терминале

"В моём случае Claude Code оказался идеальным выбором —
мощный агент, который позволяет забыть о лимитах,
исследовать проекты без ограничений и создавать
от документации и дизайнов до рабочих MVP"

Почему Claude Code?

🎯

Единственный CLI с Opus 4.1

Самая мощная модель для кодинга в терминале

🔍

Полный контроль

Видите каждое действие и можете управлять процессом

💰

Встроенный MAX MODE

Неограниченный* Opus 4.1 за фиксированную цену

🪝

Event Hooks

Уведомления и действия на события Claude

🤖

Собственные агенты

Специализированные агенты для разных задач

Гибкая настройка

Персонализация стиля ответов и поведения

* Лимиты в рамках 5-часовой сессии при интенсивном использовании

📊 Статистика использования Claude Code

⚠️ Важно: Это стоимость токенов при оплате через API без подписки.
С подпиской Claude Pro/Max — безлимитное использование Claude Code.

$4,821
Стоимость через API
3.89B
Токенов использовано
33
Дня разработки

💰 Средний расход: $146/день • 📝 Средний объем: 118M токенов/день

💰 Ежедневные расходы (если бы платил через API)

Пиковые расходы: $410 (21 августа) • Минимум: $2.50 (26 июля)

💡 С подпиской Claude Pro/Max — фиксированная стоимость в месяц

🔄 Использование токенов по дням

Максимум: 339.88M токенов (1 августа) • Всего: 3.89 миллиарда токенов

📈 Накопительная стоимость (при оплате через API)

API: От $2.50 до $4,821 за 33 дня
Подписка: фиксированно в месяц, безлимитно*

🤖 Распределение по моделям

Opus 4.1

Сложные задачи архитектуры

Рефакторинг и оптимизация

Sonnet 4

Рутинные задачи

Быстрые исправления

Context Window

200K токенов ≈ 150K слов ≈ 300 страниц текста

Контекстное окно Claude Системный промпт Инструкции Правила поведения Ограничения Роль и контекст ~5-10K токенов История диалога Ваши сообщения Ответы Claude Результаты команд Контекст беседы Накапливается Файлы и данные Исходный код Документация Результаты поиска API ответы Скриншоты Основной объём Ваш запрос Текущая задача ~100-1K → Обработка Claude →

Проблемы контекстного окна

Лимит: 200K токенов 80% заполнено Не помещается! Большие файлы Длинные диалоги Много контекста История изменений

📊 Ограниченный размер

• 200K токенов максимум

• ≈ 150K слов текста

• ≈ 300 страниц документа

🔄 Потеря контекста

• Забывание ранних сообщений

• Потеря важных деталей

• Повторение вопросов

💰 Стоимость

• $3 за 1M входных токенов ($15 Opus 4.1)

• Каждый запрос = весь контекст

• Быстрый рост расходов

Решение: Эффективное управление контекстом — ключ к успеху!

Context Engineering

Новая дисциплина в эпоху AI

📚

Что это?

Искусство предоставления правильного контекста AI для получения оптимальных результатов

🎯

Цель

Максимальная эффективность AI через точную постановку задач и управление контекстом

🔧

Инструменты

CLAUDE.md, системные промпты, структурированные инструкции

💡

Результат

AI понимает архитектуру, стиль кода и бизнес-логику вашего проекта, выполняет поставленную задачу

Ключевой навык 2025: Умение "программировать" AI через контекст становится важнее написания кода

Memory Workflow в Claude Code

Мой подход к решению проблемы контекста

1

Папка /context

Централизованное хранилище для памяти агента

2

PLAN.md

Общий план проекта и архитектурные решения

3

TASK01_STATUS.md

Статус каждой задачи, что сделано, что осталось

4

Итеративное обновление

Агент обновляет статусы после каждого этапа

Memory Workflow: Реализация

Структура и инструкции

Структура папки context/:

context/
├── PLAN.md              # Общий план и архитектура
├── TASK01_STATUS.md     # MCP Server implementation
├── TASK02_STATUS.md     # Frontend chat interface
├── TASK03_STATUS.md     # Integration with APIs
└── DECISIONS.md         # Принятые решения и причины

В CLAUDE.md прописано:

📖 При начале работы: Прочитать все файлы из /context для синхронизации

✍️ При завершении: Обновить статусы, зафиксировать прогресс и важные заметки

Это превращает файловую систему в долговременную память агента

Следующий этап

Отточенный workflow для автономной реализации

🎯 Конечная цель

Запуск полностью автономного процесса реализации проекта от идеи до production

📋

Автономное планирование

Агент самостоятельно декомпозирует задачи, определяет приоритеты и создает roadmap

🔄

Непрерывная реализация

Бесшовный переход между сессиями с полным сохранением контекста и прогресса

Самопроверка качества

Автоматическое тестирование, рефакторинг и оптимизация без участия человека

Идеальный workflow:

Идея Claude Code MVP Production

Минимальное вмешательство человека, максимальная автономность агента

Новая реальность разработки

⚡ Скорость

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

🚧 Барьеры

Можно эффективно работать с незнакомым стеком и предметной областью

🎯 Фокус

Меньше времени на рутинный код, больше — на архитектуру и продукт

🌍 Доступность

Это не инструмент для избранных. Это новая реальность, доступная каждому разработчику

Полезные MCP серверы

🎭

Playwright MCP

Автоматизация браузера и тестирование UI

Скриншоты Навигация Клики Формы
claude mcp add playwright npx @playwright/mcp@latest
🧠

Sequential Thinking MCP

Структурированное мышление для сложных задач

Анализ Планирование Декомпозиция Валидация
claude mcp add sequential-thinking -- npx -y @modelcontextprotocol/server-sequential-thinking

💡 Совет: Начните с этих двух MCP серверов — они покрывают основные задачи разработки

Спасибо!

Готов ответить на вопросы

🚀 Попробуйте сами!

claude.presentation.nihikki.dev

Роман • Rails & Platform Team

TG: @nihikkidev