Перейти до змісту
River

Аркуш RP-11Принцип

Логіка в декларативних форматах

Як записано логіку платежу?

Що відбувається з платежем, описано даними: короткими правилами, кожне з яких відповідає на одне запитання, і налаштуваннями компанії поруч із ними. Рушій їх читає, тож логіка змінюється без зміни коду.

§ 1

Коротко

Правило · один запис

Списання після комплектації

Питання
Чи можна списати цей платіж зараз?
Коли
замовлення скомплектовано, кошти утримано
Тоді
списати скомплектовану суму
  • Політики

    Ліміти, інструменти, списання

  • Правила ризику

    Умови й дія

  • Маршрутизація

    Стратегія й поріг

  • Розподіл

    Частки й резерв

Рушій

Читає чинну версію

для кожного платежу й записує, яка вирішила

Рис. 11.1 — правило як один запис, що відповідає на одне запитання; політики компанії, правила ризику, маршрутизація й розподіл — дані того самого роду, які читає рушій.
Одне запитання — одне правило
Правило каже, коли воно діє і що з цього випливає, наприклад, коли платіж можна списати.
Налаштування — теж дані
Ліміти, стратегія маршрутизації, режим списання й дозволені інструменти — налаштування одиниці, а не код.
Версіонований набір
Правила зберігають набором із версією; платіж записує, яка версія його вирішила.
Зрозумілі людям
Кожне правило формулює своє запитання простими словами, тож людина може прочитати написане ШІ.

§ 2

Докладно

2.1

Правило відповідає на одне запитання

Логіка платежу — набір правил, які читає рушій, а не програма, яку хтось запускає. Кожне правило відповідає на одне запитання — коли воно діє і що з цього випливає: коли відомо достатньо, щоб списати, коли утримати, про що запитати банк. Правило, яке не можна сформулювати як одне запитання, — це два правила.

2.2

Що зберігається як дані

Налаштування компанії — дані того самого роду: ліміти, дозволені інструменти, стратегія маршрутизації та її поріг, режим списання, план розподілу, дні нагадувань і те, що агенти можуть робити самі. Кожне має визначення — тип, типове значення і спосіб поєднання донизу структурою.

Демо-сцена 1

Чинні налаштування інтернет-магазину

Кожне налаштування однієї одиниці, його значення й одиниця, де його задано; замок називає одиницю, що його закріплює.

НалаштуванняЗначенняЗадано вЗакріплює
Максимум одного платежу200 000,00 ₴Роздрібна група «Ярмарок»—
Дозволені інструментиКартка, Apple Pay, Google Pay, QR-переказ (НБУ), Оплата з банку, Банківський переказ, Оплата частинами, Бонусні балиРоздрібна група «Ярмарок»—
Як обирається еквайрспершу on-usРоздрібна група «Ярмарок»—
Поріг схвалення для маршрутизації90 %Роздрібна група «Ярмарок»—
Списанняпізніше: після комплектації чи при відвантаженніyarmarok.example—
Повернення дозволено протягом14 дн.Роздрібна група «Ярмарок»—
Хто тримає коштибанки розраховуються з мерчантом напрямуРоздрібна група «Ярмарок»Роздрібна група «Ярмарок»

2.3

Правила переносять версіонованим набором

Правила зберігають як набір із версією: самі правила, факти, які вони читають і пишуть, і сценарії, які вони мають пройти. Код разом із ними не переносять; підключення до банку чи системи встановлюють разом зі збіркою й оголошують так само, як правила. Правило, перенесене в нову версію без змін, зберігає доведене; змінене перевіряють знову.

2.4

Пише ШІ, перевіряє платформа

Короткі правила, кожне зі своїм запитанням, — те, що ШІ пише добре, а людина може прочитати. Формат не лишає місця прихованій логіці: умова називає факти та їхні стани, а все, що потребує обчислення, — окрема оголошена функція. Платформа завантажує лише повний набір — кожне посилання розв’язане, кожне правило має своє запитання, — і людина його приймає.

§ 3

Читати далі