Коллекции
Что такое коллекция
Коллекция — это шаблон вашей предметной области, по которому Spec Builder разбирает задачи. В ней описано, из каких блоков (типовых подзадач) вообще может состоять работа в вашем домене, какие специальности (роли в команде) за них отвечают, в каком порядке блоки складываются в этапы документа и как обычно связаны между собой. Когда пользователь создаёт проект, генерация выбирает блоки не из воздуха, а из коллекции — поэтому результат говорит на языке вашей отрасли.
Зачем это. Экспертиза о том, «как у нас делаются проекты», обычно живёт в головах двух-трёх сильных методологов — и каждая новая команда переизобретает её заново. Коллекция расшивает это узкое место: методолог один раз закладывает состав работ, роли и связи домена — и дальше каждый проект организации строится по этой рамке единообразно. Смена области — не переделка продукта, а другая коллекция: ML-разработка, стройка, нефтесервис живут рядом и не мешают друг другу.
Собирать коллекцию вручную не обязательно: опишите домен текстом — и она сгенерируется целиком (слои, специальности, блоки, связи), после чего доводится в том же графовом редакторе, что и проекты. У каждой коллекции есть и свои промпты трёх этапов генерации — тонкая настройка того, как именно раскладываются задачи в вашем домене.
Попробовать за три шага (нужны права администратора организации; организацию для команды подключает администратор платформы). Если организации пока нет — посмотреть продукт можно в гостевом режиме по готовой публичной коллекции.
- Откройте раздел коллекций и создайте новую: опишите свою предметную область парой абзацев.
- Запустите генерацию и посмотрите на результат в редакторе коллекции: слои, блоки, специальности, связи.
- Доведите руками те места, где вы разбираетесь лучше модели, — и создайте по коллекции первый спейс для команды.
По коллекции создаются спейсы — рабочие пространства команд, а в них — проекты. Сама коллекция при этом остаётся эталоном: команды настраивают своё, не трогая общий шаблон.
Домен: Коллекции
Коллекция — шаблон предметной области, по которому строятся проекты: набор слоёв (этапов документа), блоков, специальностей (ролей) и связей между ними, а также промпты трёх этапов генерации. Организация создаёт коллекции под свои задачи; по коллекции создаются спейсы и проекты.
Домен покрывает весь цикл: список и просмотр, создание и (пере)генерацию через LLM, редактирование содержимого (слои/блоки/специальности/связи), промпты этапов, корзину и выдачу межорганизационного доступа.
Доступ. Управляют коллекциями администраторы организации-владельца (создание, правка, генерация, содержимое); участники этой организации видят и используют коллекцию по членству — отдельная выдача прав не нужна. Межорганизационный доступ выдаёт и отзывает только администратор платформы. Подробнее — роли, источник истины прав — матрица RP.
Многие эндпоинты редактирования содержимого не имеют документации в SRM и описаны по коду — это отражено в _generated/drift-report.md (кандидаты на пополнение матриц). Ниже — методы API и экраны домена.
Методы API
| Метод | Эндпоинт | Статус |
|---|---|---|
| Список коллекций | GET /api/collections | done |
| Создать коллекцию | POST /api/collections | код |
| Удалить коллекцию | DELETE /api/collections/:id | done |
| Получить коллекцию | GET /api/collections/:id | код |
| Обновить коллекцию | PUT /api/collections/:id | done |
| Доступы организаций | GET /api/collections/:id/access | код |
| Выдать доступ организации | POST /api/collections/:id/access | код |
| Отозвать доступ | DELETE /api/collections/:id/access/:orgId | код |
| Лента изменений коллекции (для агента) | GET /api/collections/:id/activity | done |
| Добавить блок | POST /api/collections/:id/blocks | код |
| Удалить блок | DELETE /api/collections/:id/blocks/:blockId | код |
| Изменить блок | PUT /api/collections/:id/blocks/:blockId | код |
| Удалить связи | DELETE /api/collections/:id/edges | код |
| Связи коллекции | GET /api/collections/:id/edges | код |
| Добавить связь | POST /api/collections/:id/edges | код |
| Статус async-генерации (poll) | GET /api/collections/:id/jobs/:jobId | done |
| Отменить async-генерацию | POST /api/collections/:id/jobs/:jobId/cancel | done |
| Последняя применённая генерация | GET /api/collections/:id/last-applied-attempt | done |
| Добавить слой | POST /api/collections/:id/layers | код |
| Удалить слой | DELETE /api/collections/:id/layers/:layerId | код |
| Изменить слой | PUT /api/collections/:id/layers/:layerId | код |
| Промпты коллекции | GET /api/collections/:id/prompts | done |
| Сохранить промпт этапа | PUT /api/collections/:id/prompts/:stage | done |
| Предложить промпт (LLM) | POST /api/collections/:id/prompts/:stage/suggest | done |
| (Пере)генерация коллекции | POST /api/collections/:id/regenerate | done |
| Восстановить коллекцию | POST /api/collections/:id/restore | код |
| Добавить специальность | POST /api/collections/:id/specialties | код |
| Удалить специальность | DELETE /api/collections/:id/specialties/:specId | код |
| Изменить специальность | PUT /api/collections/:id/specialties/:specId | код |
| Доступные коллекции | GET /api/collections/available | код |
| Удалённые коллекции | GET /api/collections/deleted | код |
| Ожидаемые размеры коллекции | GET /api/collections/estimate | done |
| Сгенерировать ID коллекции | POST /api/collections/generate-id | done |
Экраны
| Экран | Элементов |
|---|---|
| Коллекции | 13 |
| Редактор коллекции | 18 |