Перейти к содержимому

PUT /api/collections/:id/prompts/:stage — Сохранить промпт этапа

Сгенерировано из матриц + кода. Правки вносить в источники (docs/matrices/, server/routes/), не здесь.

ПолеЗначение
HTTPPUT /api/collections/:id/prompts/:stage
Auth
Scope токенаread_write
PG-функцииapi.upsert_collection_prompt
Таблицыcollection_prompt
SRMSRM-236
RP (права)
Файл роутаserver/routes/collections.js
Статусdone

Аргументы запроса (best-effort из хендлера; путь-параметры опущены):

АргументГдеОбяз.Заметка
system_promptbodyподтвердить
user_templatebodyподтвердить

Коды ответов/ошибок (из хендлера): 200уточнить причины вручную

Для человека

Как открыть: орг-админ → раздел «Коллекции» → карточка коллекции → редактор → кнопка/меню «Промпты» → отредактировать промпт нужного этапа → «Сохранить».

Сохраняет промпт одного этапа конвейера генерации этой коллекции: «Подбор блоков», «Описания» или «Связи». Если промпта для этапа ещё не было — он создаётся, если был — перезаписывается (upsert). Сохраняются системный промпт и шаблон сообщения пользователя.

С этого момента генерация коллекции (и проектов из неё) использует ваш промпт вместо стандартного. Этап указывается в адресе и должен быть одним из трёх допустимых — иначе сохранение не выполнится.

Кто может. Только владелец коллекции: орг-админ организации-владельца (или администратор платформы — для глобальных коллекций). Администратор другой организации, сотрудник и наблюдатель править промпты не могут.

Для агента

Запись — нужен токен со scope read_write (см. Конвенции). Управление коллекцией — операция администратора-владельца: разрешено site-admin’у или org-admin’у организации-владельца коллекции; глобальные коллекции (owner_org_id IS NULL) — только site-admin. Иначе — 403.

Этап задаётся в пути (:stagedecompose | describe | dependencies), коллекция — :id. Операция идемпотентна (upsert): создаёт промпт этапа или перезаписывает существующий.

Тело запроса (JSON):

ПолеТипОбяз.Назначение
system_promptstringдаСистемный промпт этапа
user_templatestringнетШаблон сообщения пользователя; по умолчанию пустая строка

Пример запроса:

Окно терминала
curl -X PUT https://specbuilder.vnimanie.ai/api/collections/a1b2c3d4-.../prompts/decompose \
-H "Authorization: Bearer tak_..." \
-H "Content-Type: application/json" \
-d '{"system_prompt":"Ты подбираешь релевантные блоки под задачу precision agriculture...","user_template":"{{userPrompt}}{{instructionBlock}}"}'

Ответ 200:

{ "ok": true }

Текущие промпты всех этапов читаются через промпты коллекции; вариант от LLM (без записи) — через предложение промпта.

Связанные