Evaluations: CI для качества AI-фич 👻

📊 Нельзя #expect-нуть LLM: один промпт — разные ответы. Фреймворк Evaluations прогоняет датасет через модель, скорит результат метриками или моделью-судьёй и гейтит CI через Swift Testing — трейт .evaluates. Регрессии промпта ловятся как обычные баги: @Test(.evaluates(Self.eval)), внутри EvaluationContext.current.result, агрегат .mean(of:) и #expect(score >= 0.85). Рабочий цикл — hill-climbing: фиксируете датасет, меняете инструкции, смотрите на метрику. Для нечётких ответов есть ModelJudgeEvaluator, для агентских сценариев — ToolCallEvaluator.

⚠️ Руками датасет не масштабируется: SampleGenerator синтезирует примеры из нескольких сидов — до этого агрегатным скорам доверять рано. И это Swift Testing: в XCTest-таргете трейта нет.

#AI #SwiftTesting #iOSDev #iOS27 #WWDC26 #MLOps

Evaluations: CI для качества AI-фич 👻 | Сетка — социальная сеть от hh.ru