Рішення · Фінансові послуги
Агент, який класифікує грошові рухи, вибираючи з закритого списку, а не пишучи речення, яке потім хтось інтерпретує.
У фінансовій організації корисний агент не дає порад і нічого не схвалює: читає документи та транзакції, відносить їх до категорії з фіксованого набору, каже, наскільки впевнений, і має право відповісти «не знаю». Решта — рішення, схвалення, політика — лишається за людьми.
Пропозиція, з умовамиNu scriem „livrat”, pentru că nu avem un agent de acest fel pus în producție la un client din sectorul financiar. Ce avem, și arătăm exact ca atare, e o conductă proprie de ingestie care rulează pe datele noastre: cinci module Python, 1.526 de linii, care citesc notificări bancare din e-mail și extrase în PDF, clasifică fiecare tranzacție prin unelte și o scriu în PostgreSQL cu dedublare, plus patru fluxuri de automatizare pentru webhookuri de la trei procesatori de plăți. Starea reală, spusă în aceeași frază: depozitul nu e sub git, directoarele `tests/` și `webhook-server/` sunt goale, iar potrivirea aproximativă a numelor de contrapartidă folosește o euristică de n-grame marcată în cod ca „de înlocuit cu un serviciu de înglobare înainte de producție”. Partea de platformă financiară în producție — flux de cerere, contract, grafic de plăți, audit — e o lucrare separată, cu dovezile ei, și acolo scriem „livrat”.
Запити на AI-агентів у фінансових послугах майже завжди надходять у формі «щоб відповідали клієнтам на запитання про наші продукти». Це законний запит, але час не там виграється. Час губиться в іншому: хтось щодня відкриває десятки банківських повідомлень і виписок, дивиться на опис типу рядка великих літер із кодом і вирішує, чи це надходження від клієнта, зарплата, податок, платіж кредитору чи операційна витрата. Ця робота повторювана, нудна і, саме тому, сповнена помилок.
Мовна модель добре для цього підходить, за однієї умови: від неї не слід вимагати писати відповідь вільним текстом. Якщо ви попросите речення, ви самі його розберете, а розбір помилите. У нашій проводці модель не пише: вона отримує сім інструментів і має викликати рівно один — надходження від клієнта, зарплата, податок, платіж кредитору, операційна витрата, банківська комісія або невідомо. Кожен інструмент, окрім назви контрагента або категорії, вимагає показник упевненості між 0 і 1. «Невідомо» вимагає письмову причину. Вихід — це структура, а не думка.
Друге правило — ніщо не потрапляє двічі. Кожна транзакція, витягнута з повідомлення або з виписки, отримує зовнішній ідентифікатор, обчислений як префікс із 16 символів відбитка SHA-256 по її полях, колонка є унікальною в таблиці, а вставка виконується з `ON CONFLICT (external_id) DO NOTHING`. Практичний наслідок: поштову скриньку можна перечитувати скільки завгодно разів, а баланс не подвоюється. Без цього правила будь-яка фінансова ingest-проводка вже на третьому тижні починає породжувати дублікати, які хтось чистить вручну.
Чого такий агент не робить і чому важливо це писати на сторінці: він не схвалює платіж, не ухвалює кредитне рішення, не дає інвестиційних рекомендацій і не відповідає клієнту від імені установи. Показник упевненості, який він повертає, — це оцінка моделі про саму себе, а не вимірювання точності, зроблене нами — ця відмінність є різницею між інструментом і ілюзією контролю.