ИИ для разработчика ERP в банковском секторе: конструктор промптов
Разработка банковских ERP-систем — это работа с высоконагруженными модулями, строгими регламентами и legacy-кодом. ИИ-ассистент здесь не заменяет инженера, а ускоряет рутину: генерацию SQL, анализ стек-трейсов, рефакторинг. Ключевая проблема — промпты, которые дают нерелевантный результат из-за отсутствия контекста банковской доменной модели.
Анатомия эффективного промпта
Промпт для банковской ERP должен содержать четыре обязательных блока: роль, контекст, ограничения и формат вывода. Без указания роли модель генерирует общие советы, а без ограничений — нарушает требования безопасности (например, предлагает логировать PAN-данные).
- Роль: «Ты — senior Java-разработчик банковской ERP с опытом интеграции с ЦБ».
- Контекст: «Модуль кредитного конвейера, БД Oracle 19c, схема SCHEMA_CREDIT».
- Ограничения: «Не использовать динамический SQL, не выводить данные карт в лог».
- Формат: «Выдай код на Java 17 с Javadoc и список тестов JUnit 5».
Готовые шаблоны запросов
Ниже — шаблоны, которые адаптируются под конкретную задачу. Замените переменные в фигурных скобках.
- Генерация SQL-миграции: «Создай Liquibase changeset для добавления поля credit_limit в таблицу CLIENTS. Учти индекс по полю client_status. Тип поля — NUMBER(15,2). Добавь проверку CHECK (credit_limit >= 0)».
- Рефакторинг легаси-кода: «Разбей метод processPayment() (600 строк) на классы по паттерну Strategy. Сохрани совместимость с существующим API. Покажи только измененные файлы».
- Анализ ошибки: «Вот стек-трейс из модуля межбанковских переводов: [вставьте текст]. Найди первопричину, предложи фикс и напиши тест, который воспроизводит баг».
Настройка и калибровка
Для точности используйте параметры модели: temperature=0.2 (низкая креативность для кода), max_tokens=1500. Если ответ содержит вымышленные таблицы — добавьте в промпт DDL-схему. Для критичных модулей (платежи, расчет резервов) включите режим «chain-of-thought»: попросите модель сначала написать план, а потом код.
Правило: если промпт длиннее 500 символов — разбейте его на подзадачи. ИИ лучше обрабатывает атомарные запросы.
Чек-лист проверки результата
- Код компилируется без warnings (mvn clean verify).
- Нет хардкода банковских счетов и BIC.
- SQL-запросы покрывают индексы (EXPLAIN PLAN).
- Обработка ошибок включает retry с exponential backoff.
- Логи не содержат персональных данных (GDPR/152-ФЗ).
| Параметр | Значение | Влияние |
|---|---|---|
| temperature | 0.1-0.3 | Снижает галлюцинации в SQL |
| top_p | 0.9 | Баланс разнообразия и точности |
| presence_penalty | 0.0 | Запрет на повторы в коде |