AI / LLM
Сборка LLM-приложений: тест с выбором ответа
Шесть вопросов поперёк всего трека. Ни один не тестирует один слой — каждый ставит два корректных слоя вместе и спрашивает, где ломается композиция. Этот шов и есть место, где production LLM-приложения реально падают.
Убедись, что рассуждаешь о швах: как RAG взаимодействует с кэшем, как tool call взаимодействует со стримом, как agent loop взаимодействует с бюджетом и почему evals обязаны включать живой retrieval-путь.
У RAG-ассистента длинный статический system-промпт с пометкой cache_control, но cache hit rate в проде около 0% — хотя на демо он выглядел закэшированным. В чём причина и фикс?
Стримящийся ход заканчивается с stop_reason: tool_use посередине, и UI вечно висит на спиннере. Какая ментальная модель чинит это?
У агента есть дашборд token-бюджета с алертами, но плохой ввод загнал его в retry-цикл, спаливший тысячи долларов за ночь. Почему бюджет не защитил?
Твой офлайн eval-набор зелёный на каждом деплое, но пользователи жалуются на худшие ответы сразу после смены ретривера. Почему evals пропустили регрессию?
Сетевой сбой обрывает стримящийся ход с stop_reason: tool_use, но с нулём tool_use-блоков, и агент тихо замирает. Поздний запрос отвергается с 'unexpected tool_use_id found in tool_result block'. Какова общая первопричина?
Выкатывается RAG-агентный ассистент: каждый компонент прошёл свой тест, но счёт утроился и ответы кажутся медленнее в проде. Какой senior-ход для дебага?
Сквозная линия трека — одно предложение: каждый слой корректен по своему контракту, а сбой живёт там, где выход одного слоя тихо нарушает входное допущение следующего. RAG меняет префикс, который кэш считал стабильным; tool_use-стоп меняет стрим, который рендерер считал прозой; реальный ввод меняет цикл, который бюджет считал конечным; retrieval-путь меняется под eval-набором, считавшим контекст фиксированным. Эти баги не дебажат, перетестируя куски — трассируют один реальный запрос насквозь и на каждой границе спрашивают, что следующий слой считал само собой, а предыдущий это только что изменил.