awesome-everything EN
↑ Обратно к восхождению

AI / LLM

Капстоун: выкати собранную LLM-фичу, держащую на швах

Суть Капстоун — собери одну production LLM-фичу, объединяющую prompt caching, tool calls, RAG и streaming под enforced cost budget, загейченную end-to-end evals, и докажи, что каждый шов держит.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 240 min

Каждый прошлый юнит дал тебе один слой, прошедший свой тест. Капстоун — это та часть, что ломается в проде: собрать их все в один путь запроса и доказать, что швы держат. Собери реальный RAG-ассистент, который кэширует, вызывает тулзы, стримит, остаётся внутри жёсткого бюджета — и пусть end-to-end eval-набор скажет тебе, что он реально работает.

Цель

Преврати ментальную модель трека в выкатываемую фичу: собери caching + RAG + tools + streaming под enforced-бюджетом, затем верифицируй на каждом шве измерениями и end-to-end evals — а не покомпонентными тестами.

Проект
0 из 7
Цель

Собери production-grade RAG-ассистент для реального корпуса (твои доки, support KB или набор политик), который объединяет prompt caching, tool calls, RAG и streaming под enforced-бюджетом стоимости на разговор, загейченный end-to-end evals — и докажи, что каждый шов держит, числами до/после.

Требования
Критерии приёмки
  • Таблица швов с числами до/после: cache hit rate (цель ≥70% на статическом префиксе под разными запросами), стоимость на разговор (под enforced-бюджетом), стримящийся time-to-first-token и end-to-end оценки ответа/retrieval — всё измерено, не оценено на глаз.
  • Продемонстрированный тест предотвращения runaway: подай ввод, триггерящий повторный цикл, и покажи, что бюджет-гейт отказывает в следующем вызове и возвращает ошибку вместо неограниченных трат.
  • Продемонстрированный тест стрим/тулза: вопрос, триггерящий тулзу посреди хода, стримит текст, запускает тулзу и возобновляется к полному ответу с корректно гаснущим спиннером — а оборванный/осиротевший tool_use детектируется и восстанавливается, а не остаётся висящим.
  • Продемонстрированный eval-гейт: намеренно ухудши retrieval (например убери reranker или урежь top_k) и покажи, что end-to-end набор краснеет в CI, тогда как generation-only набор на замороженном контексте остался бы зелёным.
  • Одностраничное описание, трассирующее один реальный запрос через все четыре слоя, называющее, что каждая граница считает само собой и как твоя композиция не даёт верхнему слою это нарушить.
Senior-стретч
  • Добавь on-call runbook: четыре симптома швов (cache hit rate ≈ 0, зависание спиннера на tool_use, runaway-цикл, зелёные-evals-но-хуже-ответы), триаж «трассируй один запрос» и структурный фикс на каждый.
  • Добавь защиту от prompt-injection на шве RAG: трактуй полученные чанки как недоверенные данные, отгороди их от инструкций и добавь eval-кейс, где отравленный чанк пытается переопределить system-промпт — покажи, что он сдержан.
  • Добавь бюджет-осознающий шлюз перед агентом, который трекает траты на разговор между запросами и отдаёт header с остатком бюджета, чтобы клиент мог грациозно деградировать у потолка.
  • Прогони небольшой A/B на размере контекста: сравни качество ответа и стоимость при top_k 3 vs 10 vs 20 и покажи, что rerank до меньшего числа чанков улучшает и стоимость, и faithfulness, а не только стоимость.
Итог

Это сборка, которую ты повторишь для каждой реальной LLM-фичи: собери слои в один путь запроса, разложи кэш вокруг динамики, трактуй стрим как конечный автомат, enforce бюджет жёстким гейтом, переранжируй retrieval и загейти деплои end-to-end evals с живым retrieval. Затем докажи, что каждый шов держит, числами до/после и трассировкой одного запроса. Шесть зелёных компонентов — это не работающая система; работающая — это композиция, чьи швы держат. Собери это раз на реальном корпусе — и production-версия станет мышечной памятью.

хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.