Кандидат за десять минут собрал агента с тремя tools. Затем не смог объяснить, что произойдёт, если платёжный API завершит операцию, а соединение оборвётся до ответа. В production второй вопрос важнее первого.
Работа видна по артефактам
Сильный инженер переводит расплывчатый use case в контракт и метрику результата. Он собирает golden dataset до полировки prompt, различает ошибку модели, retrieval и orchestration, умеет посчитать бюджет и поставить его в код.
Он проектирует обычный backend: timeout, retry policy, idempotency, очередь, транзакционную границу, права, секреты, миграции и observability. Вероятностный компонент не освобождает от этого, а добавляет версии prompt, модели, данных и evals.
Минимальный разбор изменения выглядит так:
hypothesis -> dataset -> offline eval -> code review
-> shadow/canary -> outcome metrics -> rollback or rolloutclass RunRecord(BaseModel):
request_id: str
use_case: str
prompt_version: str
model: str
corpus_version: str | None
input_tokens: int
output_tokens: int
latency_ms: int
outcome: str | NoneГлавный навык проявляется при неопределённости. Инженер не обещает убрать hallucinations, а ограничивает ущерб. Не говорит «модель уверена», пока confidence не откалиброван. Не строит multi-agent систему, если конечный автомат решает задачу.
Как проверять себя и кандидата
Дайте грязный кейс: документы разных tenant, лимит $0,10 на результат, внешний API с timeout после записи. Попросите схему, код критической границы, eval-план и разбор инцидента. Хороший ответ содержит места отказа и наблюдаемые доказательства. Названия фреймворков вторичны.
Failure mode специалиста состоит в локальной оптимизации: prompt стал лучше на пяти примерах, latency p50 упала, demo понравилось. Система при этом может хуже решать задачу. Нужна привычка доходить до outcome.
Правило: сила LLM/backend engineer измеряется тем, насколько предсказуемой он делает систему с непредсказуемым компонентом.
Практикум 57.1
За два дня соберите сервис извлечения данных: строгая схема, 50 размеченных примеров, лимиты, trace и ручная очередь. На защите покажите не happy path, а timeout после побочного эффекта, смену prompt, утечку tenant и rollback модели. Запишите, какие свойства доказаны тестом, а какие пока только предполагаются.