Генерация презентации из текста через структурированный артефакт
Как построить сервис, который по текстовому запросу генерирует презентацию и PDF?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Показать разбор
Короткий ответ
LLM генерирует структурированную схему слайдами, текстом, таблицами и assets; deterministic renderer превращает ее в PPTX/PDF, а не модель рисует файл напрямую.
Подробный разбор
Надежный подход - разделить reasoning и rendering. LLM или agent получает задачу, собирает факты, планирует структуру и возвращает JSON/schema: slides, layout type, title, bullets, tables, charts, image prompts/assets. Этот artifact валидируется.
Дальше deterministic renderer собирает PPTX/PDF через библиотеку, шаблоны и правила верстки. Так проще тестировать, редактировать и версионировать результат. Для таблиц лучше хранить исходные structured data, чтобы потом можно было экспортировать Excel или пересортировать строки.
Нужны проверки длины текста, overflow, missing assets, citations, brand style, language и возможность regenerate только один slide, не всю презентацию.
Типичные ошибки
- Просить LLM сразу выдать бинарный PPTX.
- Не валидировать JSON/schema перед rendering.
- Не хранить исходные table/chart data.
Состояние артефакта и маршрутизация команд пользователя
Пользователь создал презентацию, PDF и таблицу, а потом просит "отсортируй это". Как понять, к чему относится команда?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Показать разбор
Короткий ответ
Хранить artifact IDs, типы, связи, current focus и историю действий. Intent router должен определить target artifact и операцию, а при неоднозначности спросить уточнение.
Подробный разбор
В agent product нельзя держать состояние только в prompt. Нужно явное хранилище artifacts: id, type, version, owner, source prompt, structured payload, rendered files и parent-child links. Session state хранит current focus: последний открытый slide deck, выбранная таблица, текущий PDF.
Команда пользователя проходит через intent routing: операция edit/sort/export/regenerate/comment и target artifact. Если target неочевиден, система должна уточнить: "какую таблицу отсортировать?".
Версионирование важно для undo, diff, collaborative editing и воспроизводимости. Лучше не перетирать artifact, а создавать новую версию с ссылкой на предыдущую.
Типичные ошибки
- Полагаться на последнее сообщение как единственный state.
- Не версионировать изменения.
- Не различать source structured data и rendered file.
Векторный и полнотекстовый поиск
Чем векторный поиск отличается от полнотекстовый поиск и почему часто нужен hybrid?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Показать разбор
Короткий ответ
Full-text хорош для точных слов, имен, ID и редких терминов. Векторный поиск ловит смысл и перефразировки. Hybrid повышает recall, потому что эти методы ошибаются по-разному.
Подробный разбор
Full-text search строится на токенах: BM25, inverted index, exact/partial match, поля, фильтры. Он надежен для названий, кодов, уникальных терминов, ошибок и случаев, где точная формулировка важна.
Векторный поиск кодирует query и документы в embeddings и ищет ближайшие векторы. Он лучше переносит синонимы и неполные формулировки, но может промахиваться по точным редким сущностям или числам.
Hybrid retrieval объединяет кандидатов из обоих источников: union, score normalization, weighted merge или RRF, затем reranker. Важно логировать вклад каждого источника и оценивать Recall@K до реранкинга.
Типичные ошибки
- Полностью заменить BM25 embeddings-поиском.
- Складывать scores разных индексов без нормализации.
- Не анализировать, какой источник нашел правильный документ.
Тестирование и версионирование prompt-ов
Как тестировать и выкатывать prompt changes в LLM-продукте?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Показать разбор
Короткий ответ
Нужны versioned prompts, gold set сценариев, traces, автоматические и human metrics, regression tests по плохим кейсам и rollout с мониторингом качества, latency и cost.
Подробный разбор
Prompt - часть production code. Его нужно версионировать вместе с model version, tools, schemas и retrieval settings. Для проверки собирают gold set: реальные пользовательские сценарии, edge cases, attack prompts, expected behavior и rubric.
Автоматическая оценка может включать exact checks для JSON/schema, LLM-as-judge по rubric, similarity, groundedness, tool-call correctness, latency и cost. Для важных сценариев нужен human review. После инцидента плохой кейс добавляется в regression set.
Релиз делается постепенно: offline eval, shadow/canary, A/B или percentage rollout. При деградации нужны traces, чтобы понять: виноват prompt, model version, retrieval, tool, schema или данные.
Типичные ошибки
- Править prompt прямо в production без версии.
- Тестировать только happy path.
- Не сохранять traces и inputs для плохих ответов.
Где искать latency, quality и cost деградацию LLM-сервиса
LLM-сервис стал медленнее, хуже или дороже. Какие проверки делать?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Показать разбор
Короткий ответ
Latency: размер input/output, batching, load, model/provider, tools. Quality: кейсы, prompt/model/retrieval drift. Cost: tokens, model choice, caching, quantization, routing.
Подробный разбор
Сначала разделить тип деградации. Для latency смотреть p50/p95/p99, размер prompt, длину ответа, очередь, provider latency, tool latency, retrieval latency, cold starts и retries. Для local serving - GPU utilization, batching, KV cache, memory, quantization.
Для quality нужны traces плохих кейсов: user input, retrieved context, tool calls, prompt version, model version, output и expected behavior. Частые причины: prompt regression, model upgrade, retrieval drift, schema mismatch, новые user intents или data changes.
Cost разбирается по tokens, model mix, retry rate, tool calls, cache hit rate и routing. Снижение cost: cheaper model для простых intents, prompt compression, caching, distillation, quantization, batch/offline generation, лимиты на output length.
Типичные ошибки
- Смотреть только среднюю latency без p95/p99.
- Не логировать prompt/model/retrieval versions.
- Экономить cost заменой модели без quality gate.