POST /api/collections/:id/prompts/:stage/suggest — Предложить промпт (LLM)
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | POST /api/collections/:id/prompts/:stage/suggest |
| Auth | — |
| Scope токена | read_write |
| PG-функции | — |
| Таблицы | collection_prompt, collection |
| SRM | SRM-235 |
| RP (права) | — |
| Файл роута | server/routes/collections.js |
| Статус | done |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
аргументов не обнаружено (подтвердить вручную по server/routes/collections.js)
Коды ответов/ошибок (из хендлера): 400, 404, 502 (+ 200) — уточнить причины вручную
Для человека
Как открыть: орг-админ → раздел «Коллекции» → карточка коллекции → редактор → кнопка/меню «Промпты» → у нужного этапа кнопка «Предложить вариант».
Просит LLM сочинить вариант промпта под конкретный этап и домен именно этой коллекции: продукт анализирует её описание, слои, специальности и блоки и предлагает осмысленный системный промпт и шаблон сообщения пользователя.
Это подсказка, а не сохранение. Предложенный текст показывается рядом — его нужно прочитать и вручную перенести в редактируемое поле, если он подходит. Пока вы его не сохраните (сохранение промпта), на генерацию он не влияет. Этап должен быть одним из трёх допустимых; генерация занимает несколько секунд.
Кто может. Только владелец коллекции (орг-админ организации-владельца или администратор платформы). Администратору другой организации, сотруднику и наблюдателю эта кнопка недоступна.
Для агента
Запись — нужен токен со scope read_write (см. Конвенции): метод дёргает LLM, поэтому проходит по write-ветке. Разрешено site-admin’у или org-admin’у организации-владельца коллекции; глобальные коллекции — только site-admin. Иначе — 403.
Этап задаётся в пути (:stage — decompose | describe | dependencies; иначе 400), коллекция — :id (нет коллекции → 404). В БД ничего не пишется — это чистое предложение: PG-функция не вызывается, генерацию делает server-side LLM.
Тела запроса нет; контекст (описание, слои, специальности, блоки) сервер собирает сам из коллекции.
Пример запроса:
curl -X POST https://specbuilder.vnimanie.ai/api/collections/a1b2c3d4-.../prompts/decompose/suggest \ -H "Authorization: Bearer tak_..."Ответ 200: один JSON-объект с предложенным промптом этапа — системный промпт и шаблон сообщения пользователя (с допустимыми placeholder’ами вроде {{userPrompt}}). Это не потоковый ответ: сервер вызывает LLM и возвращает результат одним телом (несколько секунд ожидания).
{ "system_prompt": "Ты подбираешь релевантные блоки коллекции под задачу пользователя в домене precision agriculture...", "user_template": "{{userPrompt}}{{instructionBlock}}"}При сбое или нечитаемом ответе LLM — 502. Предложение ничего не сохраняет: чтобы закрепить промпт, передайте его в сохранение промпта (PUT .../prompts/{stage}).
Связанные
- Экраны: Редактор коллекции
- Конвенции · Роли · Ошибки · Глоссарий