Перейти к содержанию

cita-agents

4 AI-агента для проекта онлайн-записи cita.kz (Казахстан, салоны красоты, Telegram Mini App).

Архитектура

ДО РАЗРАБОТКИПОСЛЕ ДЕПЛОЯBA Agent(что?)SA Agent(как?)TW Agent(docs)CS Agent(support)Dev CodeUser StoryAC (G/W/T)Бизнес-правилаAPI SpecSequence DiagTest Casesgit diff(после деплоя)API ReferenceHow-to GuidesChangelogОтветыBug-тикетыЭскалации

Поток работы: 1. BA — формализует требования в user stories (что нужно сделать?) 2. SA — проектирует техническую реализацию (как реализовать?) 3. Developer — пишет код по спекам SA 4. Deploy в main 5. TW — документирует реальное состояние по коду (как работает сейчас?) 6. CS — помогает клиентам на основе документации TW (как использовать?)

Агенты

Агент Роль Артефакты Зона
BA Business Analyst User stories, AC, бизнес-сценарии "Что нужно сделать?"
SA System Analyst API specs, sequence diagrams, test cases "Как реализовать?"
TW Technical Writer API reference, how-to guides, changelog "Как работает сейчас?"
CS Customer Support Ответы клиентам, bug-тикеты "Как использовать?"

Быстрый старт

Требования

  • bash 4+
  • curl, jq
  • ANTHROPIC_API_KEY в переменных окружения

Запуск агента

# BA: создать user story
./pipeline/run-agent.sh \
  --agent ba \
  --task "Создай user story: клиент хочет отменить запись через Mini App" \
  --context docs/business-rules/booking-rules.md docs/business-rules/cancellation-rules.md

# SA: спроектировать API
./pipeline/run-agent.sh \
  --agent sa \
  --task "API спека для DELETE /api/v1/bookings/{id}" \
  --context docs/data/data-dictionary.md docs/integrations/telegram-bot.md

# TW: написать guide (post-deploy mode)
./pipeline/run-agent.sh \
  --agent tw \
  --task "How-to guide: как подключить Telegram-уведомления" \
  --context docs/integrations/telegram-bot.md \
  --mode post-deploy

# CS: ответить клиенту
./pipeline/run-agent.sh \
  --agent cs \
  --task "Клиент: 'Не могу записаться, нет свободных слотов'" \
  --context docs/business-rules/scheduling-rules.md

Параметры run-agent.sh

Параметр Обязательный Описание
--agent да Тип агента: ba, sa, tw, cs
--task да Текст задачи
--context нет Дополнительные .md файлы для контекста
--mode нет Режим работы (для TW: post-deploy)

Результат

  • Артефакт сохраняется в output/{agent}_{timestamp}.md
  • Автоматическая валидация (4 проверки)
  • При провале — retry с feedback (до 3 попыток)

Валидация

# Валидировать любой артефакт
./validation/validate.sh path/to/artifact.md

# Валидация + рекомендации для ревью
./pipeline/validate-and-review.sh path/to/artifact.md

4 проверки

Проверка Скрипт Что делает
Constraints constraints-check.sh Артефакт ссылается на C-NNN, BR-NNN, SR-NNN
Completeness completeness-check.sh Все обязательные поля шаблона заполнены
Glossary glossary-check.sh Термины из glossary.md, нет запрещенных синонимов
Consistency consistency-check.sh Нет конфликтов с business-rules

Структура

cita-agents/
├── README.md
├── recon-report.md              # Результат разведки кодовой базы
│
├── agents/                       # Профили и промпты агентов
│   ├── ba-agent/
│   │   ├── profile.md
│   │   └── system-prompt.md
│   ├── sa-agent/
│   │   ├── profile.md
│   │   └── system-prompt.md
│   ├── tw-agent/
│   │   ├── profile.md
│   │   └── system-prompt.md
│   └── cs-agent/
│       ├── profile.md
│       └── system-prompt.md
│
├── docs/                         # Контекстная документация
│   ├── context/                  # Общий контекст для всех агентов
│   │   ├── glossary.md           # 26 терминов
│   │   ├── constraints.md        # 11 ограничений (C-001..C-011)
│   │   ├── decision-matrix.md    # Матрица решений 4 агентов
│   │   └── tech-stack.md         # Стек технологий (ADR-light)
│   │
│   ├── business-rules/           # Бизнес-правила (из кода)
│   │   ├── booking-rules.md      # BR-001..BR-012
│   │   ├── scheduling-rules.md   # SR-001..SR-010
│   │   ├── notification-rules.md # NR-001..NR-012
│   │   └── cancellation-rules.md # CR-001..CR-011
│   │
│   ├── integrations/             # Внешние интеграции
│   │   ├── telegram-bot.md       # Bot API: команды, callbacks, webhook
│   │   ├── telegram-miniapp.md   # Mini App: initData, auth, SDK
│   │   └── 2gis.md              # 2GIS Suggest API
│   │
│   ├── data/                     # Модель данных
│   │   └── data-dictionary.md    # 10 сущностей, PII, ER-диаграмма
│   │
│   ├── templates/                # Шаблоны артефактов
│   │   ├── user-story-template.md
│   │   ├── api-spec-template.md
│   │   ├── sequence-diagram-template.md
│   │   ├── test-case-template.md
│   │   ├── how-to-guide-template.md
│   │   ├── api-reference-template.md
│   │   └── bug-report-template.md
│   │
│   └── examples/                 # Эталонные примеры
│       ├── example-user-story.md
│       ├── example-api-spec.md
│       └── example-how-to-guide.md
│
├── validation/                   # Скрипты валидации
│   ├── validate.sh               # Главный runner
│   ├── constraints-check.sh
│   ├── completeness-check.sh
│   ├── glossary-check.sh
│   └── consistency-check.sh
│
├── pipeline/                     # Оркестрация
│   ├── run-agent.sh              # Запуск агента (Claude API + валидация + retry)
│   └── validate-and-review.sh    # Валидация + рекомендации
│
└── output/                       # Результаты работы агентов
    └── (генерируется автоматически)

Контекст проекта

cita.kz — сервис онлайн-записи для салонов красоты Казахстана.

  • Backend: FastAPI, SQLAlchemy 2.0 async, PostgreSQL 16, ClickHouse
  • Frontend: React 19, Vite, Tailwind, shadcn/ui
  • Mini App: Next.js 16, Zustand, Telegram WebApp SDK
  • Интеграции: Telegram Bot API (webhook), 2GIS Suggest API, reCAPTCHA v3
  • Репозиторий: github.com/anurgaz/cita

C4 Архитектура

Cita.kzTelegram Mini App(Next.js)Web UI(React)Telegram Bot(Python)API Backend(FastAPI)PostgreSQLКлиентПровайдерTelegram API2GIS APIHTTPSTelegramHTTPSTelegramJSON/HTTPSJSON/HTTPSWebhooksSQL/TCP