Задать вопрос
  • Как вы тестируете LLM-фичи в продакшене?

    @lemma_dev Автор вопроса
    promptfoo пробовал — не зашёл в основном из-за YAML и отдельного DSL. В итоге сделал похожую штуку как плагин поверх Vitest + Playwright, чтобы не тащить ещё один слой абстракции

    Соглашусь с тезисом про “тестируем поведение, а не exact match” — у себя делаю примерно то же самое, но через кастомные матчеры:
    • toMatchSemanticMeaning(expected, options?)
    • toSatisfyCriteria(rubric, options?)
    • toContainToolCall(name, args?)
    • toMatchResponseSchema(schema)
    • toContainText(text) / toNotContainText(text)


    Но у меня это встроено в e2e слой, потому что продукт — это по сути динамический UI + чат. Там важно не только что ответил LLM, но и:
    • какие тулы вызвались
    • что вернулось в UI
    • как это повлияло на следующий шаг


    Возможно, это действительно ближе к e2e, чем к чистым eval’ам - но мне пока кажется, что в AI-first продуктах это не совсем разделимые вещи.
    Отдельный eval-слой (типа promptfoo) пока не стал выносить, но идея с golden dataset из прод-запросов - 100% согласен, это сейчас основной источник правды.
    Написано