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. Основной сценарий

Diagram

Шаги:

  1. Пользователь вводит source prompt.

  2. GUI пытается сначала распарсить tagged sections.

  3. Если fast path не сработал, вызывается batch generator.

  4. Результат проходит workflow validation.

  5. Пользователь просматривает suggestions.

  6. По явному действию выполняется публикация блоков.

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.

11. Связанные документы