Composition Rewrite Prompt Template
1. Назначение prompt contract
Prompt contract должен:
-
produce preservation-aware patch suggestions;
-
работать поверх existing composition context;
-
не превращаться в blind rewrite всей структуры;
-
возвращать patch-oriented output, пригодный для preview/apply model.
2. Обязательные элементы prompt policy
В contract должны быть зафиксированы:
-
допустимая сила rewrite;
-
preservation existing blocks;
-
сохранение block ids;
-
сохранение block order;
-
сохранение placeholders;
-
patch-oriented output format;
-
запрет на structural redesign.
3. Текущая runtime-структура prompt
В runtime contract состоит из:
-
system prompt -
user prompt
Текущий system prompt требует:
-
rewrite existing TextFoundry blocks without changing composition structure;
-
return only structured patch payload matching JSON schema;
-
not add blocks;
-
not remove blocks;
-
not change block ids;
-
not change block types;
-
not redesign composition;
-
preserve language unless translation explicitly requested;
-
preserve placeholders exactly;
-
preserve useful internal structure;
-
return patches only for blocks that truly need changes.
Текущий user prompt собирается так:
-
Rewrite the following composition by patching existing blocks only. -
User instruction: -
пользовательская инструкция
-
Composition: -
full ordered block context
-
Constraints:preserve structure, ids, order, placeholders, language, return patches only
4. Контекст, который должен попасть в prompt
Нужно явно учитывать:
-
user instruction;
-
source composition identity/version;
-
список relevant blocks;
-
block metadata;
-
composition-level constraints.
Реальный runtime context для каждого блока содержит:
-
block_id -
type -
language -
description -
defaults -
tags -
templ
5. Контракт вывода
Output должен:
-
map to preview/patch model;
-
содержать только изменения для реально затронутых blocks;
-
не предполагать blind overwrite;
-
не возвращать новый composition design целиком.
Фактический runtime output contract:
-
JSON payload, парсируемый как
CompositionBlockRewritePreview -
patch fields:
block_id, optionaldescription, optionaltempl, optionaldefaults, optionaltags,rationale