Block Generation Prompt Template
1. Назначение prompt contract
Prompt contract должен:
-
превращать пользовательскую instruction в reviewable block draft;
-
генерировать структурированный payload, а не свободный prose output;
-
поддерживать create и revise сценарии;
-
не создавать illusion of auto-publish.
2. Обязательные элементы prompt policy
В prompt contract должны быть зафиксированы:
-
роль модели как генератора reusable TextFoundry block;
-
требование вернуть только structured payload;
-
допустимые значения
BlockType; -
правило использовать
templкак имя поля шаблона; -
требования к
id; -
правило сохранять язык source content, если перевод явно не запрошен;
-
explicit review model: suggestion, not commit.
3. Текущая runtime-структура prompt
В текущем runtime prompt собирается из двух частей:
-
system prompt -
user prompt
Текущий system prompt фиксирует:
-
модель генерирует reusable TextFoundry blocks;
-
нужно вернуть только structured payload по JSON schema;
-
block должен быть explicit, reusable и safe to publish as draft;
-
нужно предпочитать rich, fully usable content over compressed summaries;
-
нужно сохранять язык source content;
-
idдолжен быть stable dot-separated; -
поле шаблона называется
templ; -
допустимые типы:
role,system,mission,safety,constraint,style,domain,meta.
Текущий user prompt для create mode собирается в таком порядке:
-
Generate one reusable TextFoundry block. -
User request: -
исходная пользовательская инструкция
-
optional
Preferred id -
optional
Preferred type -
optional
Preferred block language metadata -
optional список
Existing block ids to avoid -
финальные требования:
defaultsкак string-to-string object,tagsкак flat array, только допустимыеtype, язык сохранять, если перевод явно не запрошен.
4. Специфика create mode
Для create mode prompt contract должен:
-
интерпретировать свободную инструкцию;
-
учитывать optional preferred id/type/language;
-
возвращать содержательно полезный, а не минимально формальный template;
-
не заполнять результат placeholder-like бессодержательным текстом.
5. Специфика revise mode
Для revise mode prompt contract должен дополнительно фиксировать:
-
не менять identity блока;
-
сохранять роль блока в общей prompt structure;
-
не схлопывать детализированный блок в короткую generic summary;
-
по возможности сохранять tags, defaults, examples, headings, placeholders.
Текущий revise prompt собирается поверх create contract и добавляет:
-
Revise the existing TextFoundry block… -
Do not change the block id, type, or language intent. -
guidance на сохранение role, structure, examples, headings, placeholders;
-
User instruction: -
Current block:с полямиId,Type,Language,Description,Tags,Defaults,Template.
6. Контракт вывода
Provider response должен:
-
быть парсируемым как
GeneratedBlockData; -
не включать лишние объяснения;
-
быть пригодным к engine validation;
-
не предполагать auto-save или auto-publish.
Фактический runtime output contract:
-
JSON payload, парсируемый как
GeneratedBlockData -
поля:
id,type,language,description,templ,defaults,tags