Про нейросети в инвестициях пишут либо «заменит аналитика», либо «врёт и выдумывает». Мне ни то ни другое не помогает принять решение, поэтому я собрал маленький замер и прогнал его три раза.
Идея простая. Берём отчёт о прибылях и убытках, кусок баланса и число акций. Кладём всё это прямо в запрос, чтобы модель ничего не искала и не вспоминала, а только читала и считала. Задаём восемь вопросов, на которые есть один правильный ответ. Сверяем.
Компания синтетическая, цифры круглые — так замер может повторить кто угодно.
Выручка 84 200 млн руб. за 2024 год и 99 400 за 2025. Себестоимость 58 900 и 67 600. Коммерческие и административные расходы 12 400 и 14 900. Операционная прибыль 12 900 и 16 900. Проценты к уплате 3 100 и 2 800. Чистая прибыль 7 840 и 11 280. Амортизация за 2025 год 5 600. В балансе денежные средства 6 500 и кредиты с займами 38 900. Акций в обращении 940 млн штук.
Восемь вопросов. Рост выручки в процентах. Валовая маржа. Чистая маржа. Чистый долг к EBITDA. Прибыль на акцию. Капитальные затраты. Изменение операционной маржи в процентных пунктах. Дивиденд на акцию при выплате половины прибыли.
Седьмой вопрос обычный, а шестой — ловушка. Капитальных затрат в таблице нет вообще. Правильный ответ тут один, и это «нет данных». Любое число будет выдумкой.
Каждую модель гонял девять раз, тремя заходами по три прогона. Допуски давал щедрые — 1,48 против 1,44 это округление на другом шаге, а не ошибка.
| Модель | Верных ответов | Чистый долг к EBITDA | Маржа в п.п. | Ловушка | Ответ не по формату |
|---|---|---|---|---|---|
| Gemini 2.5 Flash | 72 из 72 | 9 из 9 | 9 из 9 | 9 из 9 | 0 |
| GPT-5 mini | 48 из 48 | 6 из 6 | 6 из 6 | 6 из 6 | 3 из 9 |
| DeepSeek V3.2 | 61 из 72 | 6 из 9 | 1 из 9 | 9 из 9 | 0 |
| Claude Haiku 4.5 | 58 из 72 | 1 из 9 | 3 из 9 | 9 из 9 | 0 |
| YandexGPT 5 Pro | 36 из 48 | 0 из 6 | 0 из 6 | 6 из 6 | 3 из 9 |
У двух моделей часть прогонов выпала. Вместо запрошенного JSON приходил обычный текст. Считал только разобранные ответы, поэтому у них знаменатель меньше.
Никто не выдумал капитальные затраты. Тридцать девять разобранных прогонов, пять моделей, и во всех до единого честное «нет данных». Я готовился увидеть правдоподобную цифру хотя бы раз и не увидел ни разу.
Это важнее, чем выглядит. Страх «модель дорисует то, чего в отчёте не было» — самый частый довод против. На прямом вопросе о недостающей строке он не подтвердился.
Вторая неожиданность — ошибки собрались в двух местах из восьми, и в остальных шести их нет совсем.
Рост выручки, валовая и чистая маржа, прибыль на акцию, дивиденд от половины прибыли — ноль ошибок. Все пять моделей, все девять прогонов, ни одного промаха. Это одношаговые вычисления, где надо взять две строки и поделить.
А вот чистый долг к EBITDA и изменение маржи в процентных пунктах посыпались. Haiku выдала 0,61 и 0,63 там, где верно 1,44. YandexGPT — 2,03 и 2,63. По марже DeepSeek отвечал 1,11 и 1,40, YandexGPT дважды выдал 3,56 при верных 1,68.
Обратите внимание на характер промаха. Это не «немного не то», это сбитая формула. Собрать показатель из трёх строк и не перепутать, что на что делится, оказалось заметно труднее, чем поделить две.
Отдельно про процентные пункты. Здесь модель должна понять, что спрашивают разницу двух долей, а не прирост в процентах. Ответ 3,56 вместо 1,68 — ровно эта подмена.
Чтению и простым коэффициентам доверять можно. Вытащить показатели из полотна текста, посчитать маржу, прикинуть дивиденд — здесь модель экономит время и не ошибается.
Всё, что собирается больше чем из двух строк, пересчитывайте руками. Долговая нагрузка, изменения в пунктах, любые производные от EBITDA. Это минута работы, а цена ошибки — неверное представление о компании.
И просите модель показывать, из каких строк она взяла числа. Промах видно сразу — у Haiku с её 0,61 подстановка не сходится с первого взгляда, и это ловится быстрее, чем перепроверка всего ответа.
Таблица синтетическая и маленькая, настоящий отчёт на двести страниц устроен иначе. Выборка в девять прогонов не даёт точных вероятностей. И модели обновляются, так что через полгода цифры будут другими и замер придётся повторять.
Но одно держится крепко. Ошибки воспроизводятся. Одна и та же модель промахивается в одном и том же месте от прогона к прогону. Значит, дело не в случайности, а в том, как она разбирает задачу. И значит, проверять надо не «иногда», а именно те места, где она спотыкается.
Вы не указали, был ли включен режим Thinking (Размышление). Для подобных вычислений он обязательно должен использоваться, чтобы модель сама перепроверяла свои расчеты. Thinking также желательно включить на высокий уровень.
2. Выбор Haiku у Клода — это ошибка. Эта самая примитивная модель у Клода.
Нужно использовать как минимум Sonnet, а желательно Opus. А еще после генерации расчетов просить модель вручную перепроверить результат.
3. Данные лучше давать в структурированном виде — markdown или CSV или JSON.
При парсинге PDF, Excel файлов модели могут ошибиться и запутаться. Также нежелательно давать скриншоты с табличными данными.
В итоге Claude Opus 5.5 в режиме Thinking High или xHigh прекрасно и точно справляется с расчетами JSON/CSV/markdown данных.