Prompt Slicing System Design
1. Краткое резюме
Prompt Slicing строит batch-oriented AI workflow для перевода длинного raw
prompt в набор reusable blocks. В отличие от single-block generation, здесь
система работает с целой пачкой кандидатов и отдельно решает задачу сохранения
структуры в update mode.
2. Контекст и границы
В области охвата:
-
prompt decomposition;
-
deterministic parse of tagged sections;
-
AI batch generation;
-
update mode with preservation hints;
-
generated block validation;
-
publish-all workflow.
Вне области охвата:
-
automatic apply without review;
-
hidden migration;
-
server-side batch slicing;
-
atomic batch transaction semantics.
3. Архитектурные требования
Функция должна:
-
иметь отдельный batch contract;
-
поддерживать create mode и update mode;
-
валидировать generated ids и набор в целом;
-
не изменять storage до явного publish step;
-
уметь деградировать к deterministic fast path, если input уже хорошо размечен.
4. Компоненты и интеграции
Основные компоненты:
-
BlockSliceViewModelУправляет source prompt, режимами работы, генерацией, preview и публикацией. -
PromptSlicingRequestПередаёт source text, namespace, preservation hints и reusable ids. -
tf::EngineВыполняет batch generation и domain-level validation. -
IBlockGeneratorИспользуется для AI-assisted decomposition. -
OpenAiCompatibleBlockGeneratorКонкретный AI adapter. -
block/composition repositories Используются на стадии публикации результатов.
5. Потоки данных
Источник данных:
-
пользовательский source prompt;
-
в update mode - текущая composition structure, reusable ids и summaries.
Выходные артефакты:
-
generated block suggestions;
-
preview composition id/text;
-
опубликованные блоки;
-
при update mode - обновлённая composition-oriented структура публикации.
6. Основной сценарий
Шаги:
-
Пользователь вводит source prompt.
-
GUI пытается сначала распарсить tagged sections.
-
Если fast path не сработал, вызывается batch generator.
-
Результат проходит workflow validation.
-
Пользователь просматривает suggestions.
-
По явному действию выполняется публикация блоков.
7. Update mode
Update mode отличается от create mode:
-
загружается target composition;
-
source text может быть предварительно заполнен её текущим render;
-
вычисляется namespace prefix;
-
в request передаются reusable ids и их summaries;
-
включается сохранение порядка и регулируемая сила preservation.
Это делает update mode более консервативным и пригодным для эволюции уже существующих assets.
8. Валидация и guardrails
Валидация идёт на двух уровнях:
-
engine-level validation Проверяет корректность generated block data.
-
workflow-level validation Проверяет пригодность всей пачки к публикации в конкретном UI-сценарии.
Ключевые guardrails:
-
уникальность generated ids;
-
защита от unsafe collisions;
-
сохранение структуры в update mode;
-
отсутствие auto-publish.
9. Надёжность и деградация
Если tagged parse успешен:
-
AI вообще не вызывается.
Если AI недоступен:
-
source prompt остаётся неизменным;
-
пользователь может перейти к ручному authoring.
Если validation не пройдена:
-
generated set не публикуется;
-
пользователь видит explicit error message.
10. Операционные свойства
Функция:
-
чувствительна к качеству source prompt;
-
зависит от hints и summaries в update mode;
-
требует явной review stage;
-
публикует результат через обычный block lifecycle.