Tame Complexity By Scoping LLM Evals – Hamel’s Blog - Hamel Husain
Заметки с открытых офисных часов Hamel Husain по LLM Evals: разбор реального кейса с Maggie из стартапа Sunday, предлагающего персонализированные подписки на уход за газоном. Команда построила чат-бота широкого охвата и уже добилась прогресса — Python Shiny-приложение для ручной оценки, система LLM-as-judge, 80% согласованности между человеком и LLM, классификация диалогов примерно по 40 темам. Главная проблема — непостоянство оценок («один из пяти неверен») и широкая зона охвата. Ключевая идея: вместо попытки идеально оценивать все 40 тем сосредоточиться на 5-6 темах, которые дают большинство диалогов, сегментировать оценку по типам тем, использовать синтетические данные для сезонных вариаций и стратегически семплировать области с низкой согласованностью судьи. Вывод: начинать узко и расширяться, не рассчитывать на полную автоматизацию (ручной просмотр всегда нужен, при этом 8-10% обратной связи от пользователей помогает), и реалистично относиться к метрикам — 80% согласованности может быть лучше, чем кажется.
These are notes from my open office hours on LLM Evals, where I troubleshoot real issues companies are having with their evals. Each session is 20 minutes.
Это заметки с моих открытых офисных часов по LLM Evals, где я разбираю реальные проблемы компаний с их evals. Каждая сессия длится 20 минут.
I spoke with Maggie from Sunday, a lawn and garden startup that offers personalized lawn care subscriptions. They’ve built a chatbot that helps customers with everything from product recommendations to subscription questions. Their experience highlighted a common challenge: how do you effectively evaluate an LLM application with broad scope?
Я пообщался с Maggie из Sunday — стартапа в сфере ухода за газоном и садом, который предлагает персонализированные подписки на уход за газоном. Они построили чат-бота, который помогает клиентам со всем — от рекомендаций по продуктам до вопросов о подписке. Их опыт высветил распространённую проблему: как эффективно оценивать LLM-приложение с широким охватом?
Watch The Discussion
Смотрите обсуждение
For those interested in the full context, here’s our complete 20-minute conversation:
Для тех, кому интересен полный контекст, вот наш полный 20-минутный разговор:
The Challenge: Broad Surface Area
Проблема: широкая зона охвата
The team had already made significant progress with their evaluation approach:
Команда уже добилась значительного прогресса в своём подходе к оценке:
Построили Python Shiny-приложение для ручной оценки Внедрили систему LLM-as-judge Достигли 80% согласованности между суждениями человека и LLM Классифицировали диалоги примерно по 40 различным темам Создали детальные критические разборы для разных типов ответов
However, they were struggling with consistency in their evaluations. “One in five are wrong,” Maggie noted. “… I worry about just letting that run in an automated way.”
Однако они сталкивались с непостоянством своих оценок. «Один из пяти неверен», — отметила Maggie. «…Меня беспокоит просто запускать это в автоматическом режиме».
Topic Distribution and Seasonal Patterns
Распределение тем и сезонные паттерны
A deeper look at their usage patterns revealed some important insights:
Более глубокий взгляд на их паттерны использования выявил несколько важных инсайтов:
- Seeding timing
- Renewal dates
- Next year’s plan
- Subscription questions
- Weed management
5-6 тем формировали большинство диалогов в любой конкретный сезон Темы менялись по сезонам (например, осенью вопросы про заморозки, а весной — про сроки) Хотя конкретные заботы менялись с сезонами, базовые темы оставались схожими Примеры топовых тем для осени: Сроки посева Даты продления Планы на следующий год Вопросы о подписке Борьба с сорняками
Rather than trying to perfect evaluation across all 40 topics, we discussed several approaches:
Вместо того чтобы пытаться довести до совершенства оценку по всем 40 темам, мы обсудили несколько подходов:
1. Focus on High-Traffic Topics
1. Сосредоточьтесь на высоконагруженных темах
Instead of trying to excel at everything, focus evaluation efforts on the 5-6 topics that drive most conversations. This doesn’t mean abandoning other topics, but rather acknowledging that some areas will be more polished than others.
Вместо того чтобы пытаться преуспеть во всём, сосредоточьте усилия по оценке на 5-6 темах, которые формируют большинство диалогов. Это не значит отказаться от остальных тем, а скорее признать, что некоторые области будут отшлифованы лучше других.
2. Segment Evaluation by Topic Type
2. Сегментируйте оценку по типу темы
Some topics showed better alignment between human and LLM judgments than others. For example, verification questions performed well because they had clear information in their knowledge base. Shipping questions were more problematic due to complex data formatting.
Некоторые темы показывали лучшую согласованность между суждениями человека и LLM, чем другие. Например, проверочные вопросы работали хорошо, потому что по ним была чёткая информация в базе знаний. Вопросы о доставке были более проблемными из-за сложного форматирования данных.
3. Consider Synthetic Data for Seasonal Patterns
3. Рассмотрите синтетические данные для сезонных паттернов
For seasonal variations, Maggie realized they could generate synthetic data: “They’re going to ask different questions in the fall about seeding, timing, it being too late, or what about frost? But they’re going to ask the same… they’re still going to ask about seeding timing in the spring. It might just be, is it too early or is it too hot?”
Для сезонных вариаций Maggie осознала, что они могут генерировать синтетические данные: «Осенью они будут задавать другие вопросы — про посев, сроки, не поздно ли уже, а как насчёт заморозков? Но они будут спрашивать то же самое… они всё равно будут спрашивать про сроки посева весной. Просто это может быть: не слишком ли рано или не слишком ли жарко?»
On Automation vs. Manual Review
Об автоматизации против ручного просмотра
One key question was about scaling evaluations: “If there’s thousands of conversations happening, can’t possibly read them all… How do you ensure quality?”
Один из ключевых вопросов касался масштабирования оценок: «Если происходят тысячи диалогов, прочитать их все невозможно… Как обеспечить качество?»
The reality is that you can’t completely automate away the need to look at data. However, you can be strategic: - Sample more heavily from areas with low judge alignment - Use specialized tests for specific failure modes - Leverage user feedback (they saw 8-10% feedback rate) - Focus manual review on the most important topics
Реальность такова, что полностью автоматизировать и избавиться от необходимости смотреть на данные нельзя. Однако можно действовать стратегически: - Семплируйте плотнее из областей с низкой согласованностью судьи - Используйте специализированные тесты для конкретных режимов сбоев - Опирайтесь на обратную связь пользователей (они видели уровень обратной связи 8-10%) - Сосредоточьте ручной просмотр на самых важных темах
Key Takeaways
Ключевые выводы
Начинайте узко и расширяйтесь: доведите свой подход до совершенства на нескольких ключевых темах, прежде чем пытаться охватить всё Не ждите идеальной автоматизации: ручной просмотр всегда будет играть какую-то роль Будьте реалистичны в отношении метрик оценки: 80% согласованности может быть лучше, чем звучит Учитывайте свои реальные требования: не каждой теме нужен одинаковый уровень шлифовки
This pragmatic approach allows teams to make real progress while acknowledging the inherent challenges of building broad-scope LLM applications.
Этот прагматичный подход позволяет командам добиваться реального прогресса, признавая при этом неотъемлемые сложности создания LLM-приложений с широким охватом.