Case study · Bęben 02 / 03

Edytor szablonów no-code

Zaproponowany i zbudowany dla tego samego klienta. Wynik zdefiniowany jako dane, a nie kod, więc klienci zmieniają go bez release’u.

Klient
brytyjski fintech AI
Rola
Zaproponowałem go; zaprojektowałem i zbudowałem edytor, z kolegą odpowiedzialnym za przechowywanie i wykonanie
Stack
React · TypeScript · Node.js · AWS

Kontekst

Ten sam brytyjski fintech AI co w case study o pipeline’ach LLM, objęty tym samym NDA. Ta strona opisuje wzorzec, a nie system klienta.

Każdy klient chciał z pipeline’u własnego wyniku: własnych sekcji, własnych pytań, własnego stylu.

Problem

Wynik każdego klienta był kodem: skopiowanym z istniejącego i zmienionym. Nowy klient oznaczał czas inżynierów i release, tak samo każda późniejsza zmiana. Nawet przeredagowanie jednej sekcji wymagało developera, code review i deployu.

Wzorzec

Niech klienci sami definiują wynik. Zamiast kodu dla każdego klienta: edytor, w którym admin buduje szablon, czyli uporządkowaną listę sekcji, z których każda jest opisana zwykłym językiem: tytuł, pytania, na które ma odpowiedzieć, punkty albo akapity i poziom szczegółowości.

Wzorzec · przed i po

01 · Nowy klient albo zmiana

Admin definiuje wynik: uporządkowaną listę sekcji, z których każda jest opisana zwykłym językiem.

  1. 01 · Nowy klient albo zmiana Admin definiuje wynik: uporządkowaną listę sekcji, z których każda jest opisana zwykłym językiem.
  2. 02 · Definicja Jeden dokument na szablon, walidowany względem schematu przy każdym zapisie.
  3. 03 · Wejście na produkcję Publikacja tworzy niezmienną wersję. Bez release’u.
  4. 04 · Każde uruchomienie Szablon staje się tym samym grafem kroków, którego używają pipeline’y w kodzie.
  • Walidowany względem schematu przy każdym zapisie, więc zepsuty szablon nigdy nie zostaje zapisany.
  • Wersje robocze i opublikowane. Każda edycja to wersja robocza; publikacja tworzy niezmienną wersję, a uruchomienie czyta zawsze tylko wersję opublikowaną, nigdy roboczą, którą ktoś jeszcze edytuje. Każdą wcześniejszą wersję można przywrócić.
  • Z zakresem: wygrywa najbardziej szczegółowy opublikowany szablon, na przykład szablon jednego użytkownika przed szablonem całego klienta.
  • Wykonywany przez ten sam silnik co pipeline’y w kodzie, więc nie ma drugiego runtime’u do utrzymania.

Decyzje i kompromisy

  1. Uporządkowana lista sekcji, a nie dowolny graf

    Admin nie zbuduje niepoprawnego pipeline’u, więc walidacja zostaje mała: kolejność zgadza się z sekcjami, nazwy są unikalne, limity są zachowane.

    KOMPROMIS Nowe rodzaje kroków wciąż wymagają kodu

  2. Niezmienne opublikowane wersje

    Historia przychodzi razem z wersjami, a uruchomienie czyta zawsze tylko niezmienną opublikowaną kopię.

    KOMPROMIS Przywracanie i audyt są odtwarzane z wersji, a nie zapisywane

  3. Szablony obok pipeline’ów w kodzie

    Klienci przechodzą pojedynczo, za feature flagą, bez migracji typu big bang. Nietypowe potrzeby wciąż dostają kod.

    KOMPROMIS O wyniku mogą teraz decydować dwie rzeczy

  4. Zbudowany dla osób nietechnicznych

    Pytania zwykłym językiem zamiast typowanych pól, kilka poziomów szczegółowości zamiast ustawień promptu i limity, o które nikt nie potknie się przypadkiem.

    KOMPROMIS Mniej swobody niż w kodzie

Wyniki

Nowego klienta włącza się konfiguracją zamiast nowego kodu, a klient sam zmienia swój szablon i od razu widzi wynik. System klienta i liczby pomijam ze względu na NDA.

Stack

  • React
  • TypeScript
  • Node.js
  • AWS

Kontakt

Mierzysz się z czymś podobnym?

Umów rozmowę Napisz na hello@paxcode.it