Помощник сообщает, что расходы выросли, хотя пользователь просто перевёл деньги между своими счетами. Или дважды учитывает покупку после повторной загрузки выписки. Ошибка возникла до генерации текста — в модели данных и расчёте.
Для анализа личных финансов полезно разделить импорт, сверку, вычисления и объяснение. Языковая модель может помогать с категориями и формулировками, но суммы и основания выводов должны восстанавливаться по операциям.
«Финансовый навигатор» Готчени, Осадчего и Владымцева опубликован как концепт платформы. Ниже предложена практическая архитектура такого помощника, без утверждения, что описанный продукт был выпущен или доказал финансовую эффективность. Материал посвящён обработке данных, а не инвестиционным рекомендациям.
Начать с надёжного журнала
Для операции сохраняют счёт, идентификатор источника, сумму, валюту, направление, статус и даты, которые действительно предоставляет источник. Исходное описание сохраняют отдельно от нормализованного и от предложенной категории.
Повторный импорт того же набора не должен создавать новые расходы. При наличии устойчивых идентификаторов их используют с областью уникальности соответствующего источника и счёта. При их отсутствии совпадение суммы и даты — только признак возможного дубля: одинаковые покупки могут происходить законно.
Неоднозначные совпадения направляют на подтверждение. Скрытое удаление «похожих» операций способно занизить расходы так же, как дубли способны их завысить.
Различайте подтверждённые и предварительные записи по правилам источника. Если предварительная операция заменяется окончательной, нужно сохранить связь или иной проверяемый порядок согласования. Нельзя безусловно суммировать обе записи.
Условная сверка двух счетов
Предположим, на начало периода на счёте A находилось 3 000 BYN, на счёте B — 0 BYN. В периоде отражены только следующие подтверждённые операции.
| Операция | Счёт | Изменение остатка |
|---|---|---|
| Поступление заработной платы | A | +2 000 BYN |
| Перевод на собственный счёт B | A | −500 BYN |
| Получение перевода со счёта A | B | +500 BYN |
| Покупка продуктов | A | −120 BYN |
| Частичный возврат по этой покупке | A | +20 BYN |
Конечный остаток на A составляет 4 400 BYN, на B — 500 BYN. Совокупно это 4 900 BYN. Изменение общей суммы — плюс 1 900 BYN: поступление 2 000 BYN за вычетом чистого расхода 100 BYN.
Перевод 500 BYN между включёнными в анализ собственными счетами не создаёт расхода на уровне их совокупности. Но на каждом счёте обе стороны движения сохраняются. Возврат уменьшает расход по исходной покупке в пределах выбранного способа отчётности.
Числа и счета в этом примере вымышлены. Если часть счетов не подключена, помощник должен сообщать о неполном охвате: он не вправе автоматически признавать любой исходящий перевод внутренним.
Разделить факт и предположение
Сумма и валюта берутся из подтверждённой записи. Категория «продукты» может быть результатом правила, выбора пользователя или предположения модели. Эти источники решения стоит различать.
Если описание неоднозначно, покажите предложенную категорию и возможность исправить её. Отсутствие уверенности нельзя скрывать категоричным пояснением. Корректировка должна быть обратимой и не менять исходную операцию.
Не выводите медицинские, религиозные и другие чувствительные сведения о человеке из неполного описания платежа. Для финансового отчёта обычно достаточно согласованной категории расходов; подробный личный профиль не следует создавать побочно.
Справочник категорий и правила переноса исправлений нужно версионировать. Иначе отчёт за прошлый месяц изменится после обновления модели, а пользователь не поймёт причину.
Вычислять отдельно от генерации текста
Сервис расчёта формирует проверяемый результат: период, охваченные счета, валюты, операции, исключения и итоговые суммы. Помощник получает этот результат для объяснения. Числа в тексте сверяют с расчётным объектом перед показом.
Денежную арифметику выполняют с точным для задачи представлением и явными правилами округления. Суммы в разных валютах не складывают без выбранного правила пересчёта, источника курса и даты. Когда этих сведений нет, итоги показывают раздельно.
Каждое значимое утверждение должно раскрывать основание. По фразе «расходы на продукты составили 100 BYN» пользователь должен видеть покупку на 120 BYN и возврат 20 BYN. Персональные записи доступны только уполномоченному владельцу или пользователю с разрешённым доступом.
Какие проверки нужны до запуска
Прогоните повторный импорт, внутренний перевод, частичный возврат, удаление ошибочной категории, несколько валют и выписку за неполный период. На тестовых данных проверьте, что сумма операций согласуется с начальными и конечными остатками в пределах модели источника.
Если сверка не проходит, помощник сообщает о расхождении и ограничивает вывод. Он не должен придумывать операцию для выравнивания остатка. Отсутствующая комиссия, неполный набор записей и ошибка импорта требуют разных исправлений.
Доступ на чтение выписок отделяют от права совершать платежи. Аналитический помощник не получает право движения денег только потому, что умеет объяснять расходы. Работа с внешними действиями требует отдельного процесса, описанного в материале о безопасности AI-агентов.
Польза такого сервиса начинается с возможности проверить каждое число. На этой основе можно строить объяснения и наблюдения; без сверки убедительный текст лишь усложняет обнаружение ошибки.