Рішення · Фінансові послуги
Агент, який класифікує грошові рухи, вибираючи з закритого списку, а не пишучи речення, яке потім хтось інтерпретує.
У фінансовій організації корисний агент не дає порад і нічого не схвалює: читає документи та транзакції, відносить їх до категорії з фіксованого набору, каже, наскільки впевнений, і має право відповісти «не знаю». Решта — рішення, схвалення, політика — лишається за людьми.
Пропозиція, з умовамиМи не пишемо «поставлено», бо не маємо агента такого типу, розгорнутого в продакшені у клієнта з фінансового сектору. Те, що маємо і показуємо саме так, — це власний конвеєр інжестії, що працює на наших даних: п’ять модулів Python, 1.526 рядків, які читають банківські сповіщення з e-mail та виписки в PDF, класифікують кожну транзакцію через інструменти й записують її в PostgreSQL із дедублікацією, плюс чотири потоки автоматизації для webhookів від трьох платіжних процесорів. Реальний стан, сказаний в тому самому реченні: репозиторій не під git, каталоги `tests/` і `webhook-server/` порожні, а приблизне зіставлення назв контрагентів використовує евристику n-грам, позначену в коді як «замінити на сервіс ембеддингів перед продакшеном». Частина фінансової платформи в продакшені — потік заявки, контракт, графік платежів, аудит — це окрема робота, зі своїми доказами, і там ми пишемо «поставлено».
Запити на AI-агентів у фінансових послугах майже завжди надходять у формі «щоб відповідали клієнтам на запитання про наші продукти». Це законний запит, але час не там виграється. Час губиться в іншому: хтось щодня відкриває десятки банківських повідомлень і виписок, дивиться на опис типу рядка великих літер із кодом і вирішує, чи це надходження від клієнта, зарплата, податок, платіж кредитору чи операційна витрата. Ця робота повторювана, нудна і, саме тому, сповнена помилок.
Мовна модель добре для цього підходить, за однієї умови: від неї не слід вимагати писати відповідь вільним текстом. Якщо ви попросите речення, ви самі його розберете, а розбір помилите. У нашій проводці модель не пише: вона отримує сім інструментів і має викликати рівно один — надходження від клієнта, зарплата, податок, платіж кредитору, операційна витрата, банківська комісія або невідомо. Кожен інструмент, окрім назви контрагента або категорії, вимагає показник упевненості між 0 і 1. «Невідомо» вимагає письмову причину. Вихід — це структура, а не думка.
Друге правило — ніщо не потрапляє двічі. Кожна транзакція, витягнута з повідомлення або з виписки, отримує зовнішній ідентифікатор, обчислений як префікс із 16 символів відбитка SHA-256 по її полях, колонка є унікальною в таблиці, а вставка виконується з `ON CONFLICT (external_id) DO NOTHING`. Практичний наслідок: поштову скриньку можна перечитувати скільки завгодно разів, а баланс не подвоюється. Без цього правила будь-яка фінансова ingest-проводка вже на третьому тижні починає породжувати дублікати, які хтось чистить вручну.
Чого такий агент не робить і чому важливо це писати на сторінці: він не схвалює платіж, не ухвалює кредитне рішення, не дає інвестиційних рекомендацій і не відповідає клієнту від імені установи. Показник упевненості, який він повертає, — це оцінка моделі про саму себе, а не вимірювання точності, зроблене нами — ця відмінність є різницею між інструментом і ілюзією контролю.