team-work-ai-Annanes

0
4 месяца назад
4 месяца назад
CONTRIBUTING.md

(как обычно создаём новую ветку, ждём некоторое время для вас сгенерируется случайное число - номер задания.

Конкретное описание искать в папке tasks

для успешного выполнения задания нужно добавить 2 со-авторов в репозиторий)

Требования к совместной разработке VibeCode

Цель проекта

Организовать трёхэтапный процесс разработки, где каждый студент отвечает за свой этап: подготовка спецификации → реализация → код-ревью. Это моделирует реальную работу в командах разработки.

Участники и роли

Student 1: Specification Engineer

  • Создаёт MD файл с системной спецификацией (в стиле OpenAI system prompt)
  • Определяет точные требования, ограничения, формат входных/выходных данных
  • Выбирает датасет и описывает его структуру
  • Роль: 🎯 Планирование и документирование

Student 2: Developer

  • Использует GigaCodeIde версии 5.1. и выше / Cursor (или аналогичный LLM-assistant) для реализации на основе спецификации Student 1
  • Загружает MD файл в контекст AI-помощника
  • Пишет рабочий код, соответствующий требованиям
  • Роль: 💻 Реализация

Student 3: Code Reviewer

  • Анализирует код на соответствие спецификации
  • Проверяет качество, читаемость, обработку ошибок
  • Предоставляет feedback с рекомендациями по улучшению
  • Роль: 🔍 Контроль качества

Ограничения по времени

  • Одно практическое занятие: 90 минут
  • Student 1: 25-30 минут (спецификация)
  • Student 2: 35-40 минут (реализация)
  • Student 3: 15-20 минут (ревью + обсуждение)

Требования к спецификации (MD файл Student 1)

Обязательные секции:

1. System Prompt

You are a [description]. Your task is to [main objective]. Constraints: [list of constraints] Input format: [describe input structure] Output format: [describe output structure]

2. Данные

  • Источник датасета (URL или скрипт загрузки)
  • Размер датасета (количество строк, столбцов)
  • Описание каждого поля/столбца
  • Примеры данных (первые 3-5 строк)

3. Функциональные требования

  • Список функций/классов для реализации
  • Входные параметры и типы
  • Ожидаемый результат
  • Примеры использования

4. Ограничения и условия

  • Используемые библиотеки (pandas, requests, fastapi и т.д.)
  • Запретные операции (если есть)
  • Обработка граничных случаев
  • Требования к производительности (если есть)

5. Критерии приёмки

  • Чек-лист того, что должно работать
  • Примеры успешного выполнения

Требования к реализации (Student 2)

Python-группа (pandas + Django API)

  • Создать скрипт/модуль для загрузки и обработки данных
  • Реализовать требуемые функции анализа (агрегации, группировки, визуализация)
  • Создать Django REST API endpoints для выполнения операций
  • Код должен соответствовать спецификации на 100%
  • Обработать исключения и граничные случаи

Требования к ревью (Student 3)

Проверяемые аспекты:

  1. ✅ Соответствие спецификации (100% vs отклонения)
  2. ✅ Качество кода (читаемость, структура, комментарии)
  3. ✅ Обработка ошибок и исключений
  4. ✅ Эффективность (нет ли явных проблем производительности)
  5. ✅ Используемые паттерны и best practices

Формат feedback:

## ✅ Сильные стороны - [плюс 1] - [плюс 2] ## ⚠️ Замечания - [замечание 1] - [замечание 2] ## 📋 Рекомендации по улучшению - [рекомендация 1] - [рекомендация 2] ## 📊 Итоговая оценка Соответствие спецификации: [%] Качество кода: [высокое/среднее/низкое]

Технические требования

Для Python-группы

  • Python 3.8+
  • pandas для обработки данных
  • Django/FastAPI для API endpoints
  • matplotlib/seaborn для визуализации (если требуется)
  • Открытые датасеты (Kaggle, HuggingFace Datasets, scikit-learn)

Процесс работы

  1. Student 1 создаёт и коммитит MD файл спецификации
    codex.md
    в папку
    spec/
  2. Student 2 использует спецификацию, реализует
    solution.py
    в папке
    dev/
    , создаёт Pull Request (Запрос на слияние)
  3. Student 3 проводит ревью, оставляет комментарии в PR
  4. Обсуждение: Группа обсуждает feedback, принимает PR или запрашивает изменения
  5. Создаём папку
    demo/
    , куда должны попасть артефакты, подтверждающие что приложение работает и было созданно именно по спецификации
  6. Создаём в корне
    README.md
    в которой должны попасть gitverse аккаунты всех участников действа, описание того как выполнялась работа (в каких моделях), добротное описание созданного кода и структуры репозитория вцелом . Дополнительно укажите у кого ВЫ выполняли роль student 2
  7. Merge в master ветку после одобрения
  8. Запускаем финальную автопроверку (она единственная с ручным запуском),в которой проверится что есть работа студента 1 и студента 2 в соотвествующих папках, а также дополнительные артефакты, которые подтвердили бы что студент 2 работал именно по спецификации студента 1

Особенности для VibeCode подхода

  • Задачи фокусируются на понимании и применении, не на сложности алгоритмов
  • Student 1 должен ясно сформулировать, что надо сделать
  • Student 2 может активно использовать LLM-assistants (GigaCodeIde версии 5.1. и выше / Cursor) для генерации кода
  • Student 3 развивает критическое мышление через анализ чужого кода
  • Все три этапа проходят в рамках одного практического занятия (90 минут)