TL;DR
ASDA — техника, которая заставляет LLM анализировать свои провалы и превращать их в структурированные «файлы навыков» (skill files). Эти файлы потом вставляются в промпт при схожих задачах — и модель уже знает, какой метод применить и каких ошибок избегать.
Финансовые задачи (и любые многошаговые экспертные расчёты) ломают LLM по одной причине: модель не знает, какой именно метод выбрать в конкретном контексте. Она знает много методов, но путает их применение — как студент, который выучил все формулы, но не понимает, когда какую использовать. Стандартные подходы пытаются улучшить один большой системный промпт — это не работает, потому что разные типы задач требуют разного знания.
ASDA решает это через разделение: для каждого типа ошибки в каждом разделе предметной области создаётся отдельный файл навыка с чётким описанием «когда применять», пошаговой процедурой и разобранным примером. При новом вопросе нужный файл вставляется в промпт — не монолитная инструкция, а точечная инъекция знания.
Схема метода
(Полная система требует автоматизации. Ниже — оба уровня: что делает ASDA целиком и что можно повторить вручную.)
ПОЛНАЯ СИСТЕМА (автоматизированная):
ШАГ 1: Запускаем задачи → получаем неверные ответы от «студента»
ШАГ 2: «Учитель» анализирует каждый провал → классифицирует тип ошибки
ШАГ 3: Группируем ошибки по [тема × тип ошибки] → создаём skill-файлы
ШАГ 4: Итерация — тестируем skill-файлы → чиним пробелы → убираем регрессии
ШАГ 5: При новом вопросе → выбираем нужный skill-файл → вставляем в промпт
ВРУЧНУЮ В ЧАТЕ (extractable версия):
ШАГ 1 (один запрос): Даём задачу → LLM отвечает неверно
ШАГ 2 (один запрос): Просим проанализировать провал → получаем тип ошибки + корневую причину
ШАГ 3 (один запрос): Просим создать skill-файл для этого типа ошибок
ШАГ 4 (следующие задачи): Вставляем skill-файл в промпт → точный ответ
Пример применения
Задача: Ты финансовый директор небольшой компании в Москве. Просишь Claude помочь с оценкой стоимости бизнеса при подготовке к продаже. Модель раз за разом путает метод DCF (дисконтирование денежных потоков) и метод мультипликаторов — и даёт неверные числа.
Промпт — Шаг 1 (анализ провала):
Ты дал неверный ответ при оценке компании. Проанализируй провал:
Мой вопрос: «Оцени стоимость компании с выручкой 50 млн руб./год,
EBITDA 12 млн руб., стабильным ростом 8% в год. Отрасль — IT-услуги.»
Твой ответ: [вставить неверный ответ]
Правильный ответ/подход: [вставить верный метод или результат]
Выполни анализ строго по структуре:
1. ТИП ОШИБКИ: выбери из списка — неверный метод / концептуальная путаница /
пропущенный шаг / неверные вводные / ошибка единиц или валюты
2. КОРНЕВАЯ ПРИЧИНА: не ЧТО было неверно, а ПОЧЕМУ — какого знания не хватило
3. SKILL-ФАЙЛ: напиши по шаблону:
## Навык: [название]
**Область:** [тема задачи]
**Тип ошибки:** [из классификации выше]
**Когда применять:** [конкретные триггеры — какие слова/условия в вопросе]
**Процедура:** [пошаговый алгоритм решения]
**Разобранный пример:** [миниатюрный кейс с числами]
**Типичная ловушка:** [что делает модель неверно — и почему это неверно]
Промпт — Шаг 2 (использование skill-файла):
Используй следующий skill-файл для новой задачи оценки бизнеса:
[вставить skill-файл из шага 1]
---
Новая задача: Компания «Рога и Копыта Диджитал», выручка 80 млн руб.,
EBITDA 20 млн руб., рост 5% в год. Нужна оценка для продажи 30% доли
стратегическому инвестору.
Результат:
На Шаге 1 модель выдаст структурированный анализ: отнесёт ошибку к типу (например, «неверный метод»), объяснит корневую причину (путаница между зрелостью рынка и применимостью DCF), и создаст skill-файл с чётким алгоритмом «когда DCF, когда мультипликаторы, когда комбинация».
На Шаге 2 с вставленным skill-файлом — модель пойдёт по правильному алгоритму с первой попытки: выберет метод, обоснует, посчитает с нужными вводными.
Почему это работает
LLM хорошо следует явным инструкциям в промпте. Плохо — самостоятельно выбирает между конкурирующими процедурами. При сложных экспертных задачах модель знает много методов, но держит их в одной куче — и достаёт случайный. Это не незнание, это проблема выбора нужного инструмента в нужный момент.
Ключевой рычаг: skill-файл — это не дополнительный контекст, а сужение пространства решений. Вместо «выбери метод из всего что знаешь» — «вот процедура для этого конкретного типа задачи, следуй ей». Модель перестаёт гадать и начинает исполнять алгоритм.
Самообучение работает потому что анализ собственного провала — это задача другого типа, чем сама задача. При решении задачи модель генерирует ответ. При анализе провала — диагностирует паттерн. Это разные режимы, и второй у LLM получается лучше, чем ожидаешь. Авторы показывают: self-teaching (модель сама себя учит) даёт 73% от прироста полной системы с отдельным учителем — это много.
Рычаги управления в ручной версии: - Количество skill-файлов — не пытайся сделать один файл на всё. Один тип ошибки = один файл. Точечность важнее полноты - Детализация «когда применять» — чем конкретнее триггеры (ключевые слова, условия задачи), тем точнее модель выбирает нужный файл - Раздел «типичная ловушка» — добавь явно, что делает модель неверно. Это самая рабочая часть файла - Итерация — если skill-файл после применения снова дал ошибку, попроси LLM обновить файл с учётом нового провала. Два-три раунда — оптимум (авторы показывают: на третьем раунде начинается переобучение)
Шаблон промпта
Шаблон 1: Создание skill-файла из провала
Ты дал неверный ответ. Проанализируй провал и создай skill-файл:
МОЙ ВОПРОС: {вопрос}
ТВОЙ ОТВЕТ: {неверный_ответ}
ВЕРНЫЙ ОТВЕТ: {правильный_ответ_или_подход}
Анализ по структуре:
1. ТИП ОШИБКИ (выбери один):
— неверный метод решения
— концептуальная путаница (смешал понятия)
— пропущенный шаг в процедуре
— неверные вводные данные
— ошибка единиц / формата
2. КОРНЕВАЯ ПРИЧИНА: не что пошло не так, а почему —
какого конкретного знания или правила не хватало
3. SKILL-ФАЙЛ:
## Навык: {название_навыка}
**Область:** {тема_предметной_области}
**Тип ошибки:** {тип_из_шага_1}
**Когда применять:**
[Конкретные триггеры — слова в вопросе, условия,
контекст — когда нужен именно этот навык]
**Процедура:**
Шаг 1: ...
Шаг 2: ...
Шаг 3: ...
**Разобранный пример:**
Вопрос: [миниатюрный кейс]
Решение по шагам: [с числами или конкретикой]
Результат: [правильный ответ]
**Типичная ловушка:**
Что делают неверно: [описание ошибки]
Почему это неверно: [объяснение]
Как правильно: [корректный подход]
Шаблон 2: Применение skill-файла
Реши задачу, используя skill-файл ниже как руководство:
{вставить_skill_файл}
ЗАДАЧА: {новая_задача_того_же_типа}
Сначала проверь: подходит ли этот skill-файл для данной задачи
(сопоставь с разделом «Когда применять»).
Если подходит — следуй процедуре из файла шаг за шагом.
Что подставлять:
- {вопрос} — исходное задание, которое дал LLM
- {неверный_ответ} — ответ модели, который оказался неверным
- {правильный_ответ_или_подход} — верный результат или хотя бы верный метод (можно написать «правильный метод — X, а ты использовал Y»)
- {название_навыка} — LLM заполнит сам, но можно подсказать: «Оценка бизнеса: выбор метода»
- {новая_задача_того_же_типа} — следующий вопрос из той же области
🚀 Быстрый старт — вставь в чат:
Вот шаблон для создания skill-файла из моего провала с LLM.
Адаптируй под мою ситуацию: {твоя задача и область}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит про конкретный провал (что спросил, что ответила модель, что оказалось верным) — потому что без этого нельзя классифицировать тип ошибки и написать правильные триггеры в «Когда применять». Она возьмёт паттерн из шаблона и создаст готовый skill-файл для твоей предметной области.
Ограничения
⚠️ Ручная версия — разовые задачи, не система: ASDA в оригинале работает на сотнях задач автоматически. Вручную ты создаёшь skill-файлы по одному, после каждого провала. Это полезно, но прирост меньше — без автоматизации не получишь систематической библиотеки навыков.
⚠️ Открытые вопросы (free-form) — слабее, чем с вариантами ответа: Skill-файлы сильнее помогают, когда нужно выбрать метод из нескольких — как в тестах с вариантами. При свободных формулировках модель может «переусердствовать» и переосмыслить уже верное рассуждение под влиянием навыка.
⚠️ Два-три раунда — потолок: Итерации улучшают результат до 2-го раунда. На третьем — регрессия. Не пытайся бесконечно уточнять один skill-файл. Лучше создать отдельный файл для нового подтипа ошибки.
⚠️ Нужен верный ответ для обратной связи: Метод работает только если ты знаешь, где LLM ошибся. Для задач без проверяемого правильного ответа (субъективные оценки, творческие тексты) — не применимо.
Ресурсы
- Статья: ASDA: Automated Skill Distillation and Adaptation for Financial Reasoning
- Код и skill-библиотека: https://github.com/SallyTan13/ASDA-skill
- Авторы: Tik Yu Yim, Wenting Tan, Sum Yee Chan, Tak-Wah Lam, Siu Ming Yiu — The University of Hong Kong
- Бенчмарк: FAMMA (Financial Amalgamated Multi-Modal Multi-task Assessment) — 1945 финансовых вопросов из учебников и профессиональных экзаменов
- Стандарт skill-файлов: Agent Skills open standard — Markdown-файлы с метаданными маршрутизации и встроенными шаблонами кода
