Я хотел бы создать общее пространство разработки, где бы мы могли ставить и видеть задачи, держать описания систем и исходный код, а также могли бы синхронизироваться с нашей платформой. Последнее особенно важно, чтобы ты мог бы более легким способом согласовывать и принимать работу разработчиков. В будущем я хотел бы создать целую экосистему разработки разных ИИ-агентов.
Сейчас я хочу организовать несколько команд, которые будут реализовывать несколько проектов:
- Интеграция клуба и Obsidian, чтобы увеличить популяризацию клуба за счет того, что база знаний в Aisystant может быть легко отдана в Obsidian, а из Obsidian можно было бы опубликовать пост в клубе.
- Аналог randomcoffee (бот в Телеграм) для встреч членов клуба. Вроде простой проект для старта, но далее хотелось бы сделать ИИ-агент, который бы максимизировал бы горизонтальные связи.
- Бот-ассистент: вывести нашего Aisystant в телеграм и перевести его на gpt-4, загрузить курсы личного развития, научить его генерировать и проверять задачи.
Эти проекты пока можно было бы реализовать независимо от Aisystant, но хотелось бы на их примере провести развитие нашей среды разработки, чтобы в будущем увеличить количество команд и обеспечить координацию. В связи с этим, я по наводке Андрея и с участием ChatGPT 03-mini-high подготовил инструкцию для участников различных команд, использующих GitHub и сервис Smith от LangChain для координации действий, хранения кода и ведения общего бэклога (с возможностью разделения по командам).
1. Общая организация проекта
Необходимо обеспечить централизованное хранение кода, прозрачное управление задачами и эффективное прототипирование цепочек логики для ИИ-агентов и Telegram-ботов. Для этого используются следующие инструменты:
- GitHub: для хранения кода, управления версиями, проведения code review и ведения бэклога (Issues/Projects).
- Smith от LangChain: для прототипирования, визуализации и отладки логики (chain flows) ИИ-компонентов.
- Telegram: для чатов и оперативного обсуждения или встреч.
2. Настройка и регистрация
- GitHub:
- Убедитесь, что у всех участников есть аккаунты на GitHub.
- Создайте центральный репозиторий для каждого проекта или используйте монорепозиторий с разделением по компонентам (например,
/agent
,/telegram-bot
).
- Smith:
- Зарегистрируйтесь и обеспечьте доступ всем членам команд к Smith.
- Проведите краткий обучающий вебинар или подготовьте инструкцию по работе с сервисом для новичков.
- Telegram:
- Подключить всех членов команд к чату: Telegram: Join Group Chat
3. Структура репозитория и организация веток
- Рекомендуемая структура репозитория:
/docs — документация, включая диаграммы и схемы из Smith
/src — исходный код приложения
/tests — тесты и сценарии автоматизированной проверки
README.md — описание проекта и инструкция по работе
.gitignore — список исключаемых файлов
LICENSE — информация о лицензировании
- Ветвление и рабочий процесс:
- Основные ветки:
main
(илиmaster
): стабильная версия кода для релиза.develop
: интеграция новых фич и исправлений.
- Фича-ветки:
Для каждой новой функциональности или исправления ошибок создавайте отдельные ветки с именованием вида:
- Основные ветки:
feature/<название-функциональности>
bugfix/<описание-ошибки>
- Pull Request (PR):
После завершения работы в фича-ветке создавайте PR в веткуdevelop
с подробным описанием изменений, ссылками на соответствующие задачи (Issues) и ссылками на схемы из Smith (если применимо).
4. Управление задачами и бэклогом
- GitHub Issues и Projects:
- Создание задач (Issues):
- Детально описывайте каждую задачу или баг.
- Используйте метки (labels) для классификации (например,
feature
,bug
,documentation
).
- Общий бэклог:
- Организуйте бэклог с помощью GitHub Projects.
- Создайте колонки (например, To Do, In Progress, Review, Done) и распределите задачи по этапам выполнения.
- Разделение по командам:
- Добавляйте в задачи метки или назначайте ответственных в зависимости от команды (например,
team-agent
,team-telegram
). - Можно создать отдельные доски для каждой команды, если это удобнее для мониторинга.
- Добавляйте в задачи метки или назначайте ответственных в зависимости от команды (например,
- Создание задач (Issues):
5. Использование сервиса Smith от LangChain
- Прототипирование и визуализация:
- Разработка цепочек:
Используйте Smith для быстрой разработки и тестирования логики взаимодействия (chain flows) ИИ-агентов — от обработки входящих сообщений до вызовов API и формирования ответов. - Отладка:
Прототипируйте сложные цепочки в Smith, проверяйте их работоспособность и корректность на ранних этапах разработки. - Документация:
- Экспортируйте полученные схемы и диаграммы или сохраняйте ссылки на них.
- Размещайте их в папке
/docs
репозитория для общего доступа и обсуждения.
- Интеграция с GitHub:
- В описании задач в Issues указывайте ссылки на соответствующие прототипы в Smith.
- После утверждения прототипа в Smith переходите к реализации в коде, фиксируя изменения в соответствующих ветках.
- Разработка цепочек:
6. Совместная работа и коммуникация
- Регулярные встречи и синхронизация:
- Проводите оперативки (stand-up встречи) для синхронизации работы между командами.
- Обсуждайте архитектуру и цепочки логики, используя диаграммы из Smith как общий ориентир.
- Code Review и обратная связь:
- Все PR должны проходить обязательное code review с проверкой на соответствие архитектурным решениям, описанным в документации и прототипах Smith.
- Уведомления и интеграция:
- Настройте уведомления GitHub в мессенджерах (например, Telegram или Slack) для оперативного информирования о новых PR, комментариях и изменениях в бэклоге.
7. Автоматизация и контроль качества
- CI/CD:
- Настройте GitHub Actions для автоматического запуска тестов, проверки стиля кода и сборки проекта при каждом PR.
- Интеграция прототипов:
- После успешного тестирования прототипов в Smith интегрируйте логику в основной код, сопровождая изменения подробными комментариями и обновлением документации.
8. Итоговый рабочий процесс
- Планирование и постановка задач:
- Формулируйте задачи в GitHub Issues, распределяя их между командами и добавляя ссылки на соответствующие прототипы из Smith.
- Прототипирование:
- Разрабатывайте и тестируйте цепочки логики в Smith, сохраняйте схемы и делитесь ими с командой через
/docs
репозитория.
- Реализация:
- Создавайте фича-ветки в GitHub для разработки функционала, опираясь на утвержденные схемы и прототипы.
- Проверка и слияние:
- Создавайте PR, проходите code review, интегрируйте изменения в ветку
develop
, а затем вmain
после успешного тестирования.
- Поддержка и развитие:
- Обновляйте бэклог, пересматривайте прототипы в Smith, вносите улучшения и документируйте изменения в
CHANGELOG.md
и другой документации.
Следование данной инструкции поможет обеспечить прозрачность процессов, повысить качество разрабатываемого продукта и облегчить коммуникацию между различными командами в рамках общего проекта.