CodeGym /Kurslar /ChatGPT Apps /Çoxmərhələli workflow‑lar kognitiv yükü azaltmağın yolu k...

Çoxmərhələli workflow‑lar kognitiv yükü azaltmağın yolu kimi

ChatGPT Apps
Səviyyə , Dərs
Mövcuddur

1. ChatGPT App kontekstində workflow nədir

Əgər artıq autentifikasiyanı başa düşmüsünüzsə, deməli, mükafatı haqq edirsiniz. Gəlin çox maraqlı mövzuya keçək — ChatGPT App‑də workflow. Ümumiyyətlə “workflow” sözü bir çoxlarında BPMN diaqramları və sıxıcı korporativ proqramlarla bağlı “flashback” yaradır. Narahat olmayın: ChatGPT App kontekstində bizi xeyli daha yüngül versiya maraqlandırır.

Kursumuzda workflow dedikdə çoxmərhələli ssenarini nəzərdə tutacağıq, burada:

  • aydın məqsəd var (məsələn, hədiyyə seçmək və alışa çatdırmaq),
  • ardıcıl addımlar var (sorğu → variantların generasiyası → dəqiqləşdirmə → final),
  • hər addımda GPT, vidcet və alətlər üçün öz rolları var.

Vacib məqam: workflow — bu, “MCP serverində bir metod” deyil. Bu, aşağıdakılardan ibarət kompozisiyadır:

  • modelin mülahizələri (hansı sualları vermək, hansı aləti çağırmaq),
  • tools çağırışları (MCP/Agents),
  • vidcetdə UI addımları,
  • backend‑də vəziyyət.

Yəni sizdə “hər şeyi_həll_et” adlı bir “super‑alət” solve_everything deyil, fərqli mərhələlərdə işə düşən bir neçə sadə alət olur. Və bir “mega‑vidcet” yox, hər biri öz alt tapşırığı üçün kiçik ekran/vəziyyət dəsti.

Workflow‑da “məsuliyyət üçbucağı”

Workflow‑u üç iştirakçının rəqsi kimi təsəvvür etmək rahatdır:

Rol Workflow‑dakı vəzifə GiftGenius‑da nümunə
GPT Beyin. İstifadəçinin niyyətini anlayır, addımın nə vaxt bitdiyini və növbətinin nə olduğunu qərar verir. Tools çağıra bilər. “Geek üçün nəsə istəyirəm” niyyətini anlayır və search_items(category="geek") çağırmağa qərar verir.
Widget Üz. Cari addımı render edir, yalnız əlaqəli olanı göstərir, klik və daxilolmaları toplayır. UI vəziyyətini saxlayır. “Kimin üçün hədiyyə?” formasını, sonra hədiyyə kartlarını, daha sonra “Al” düyməsini göstərir.
MCP/Agent Əllər. Çətin və struktur iş görür, məlumatları validasiya edir, biznes vəziyyətini saxlayır. Qəbul edənin profilini saxlayır, hədiyyə kataloquna sorğu edir, büdcəyə görə filtr edir.

Bu üç rol birlikdə eyni ssenarini həyata keçirir, amma müxtəlif səviyyələrdə: GPT “sonra nə” olduğuna qərar verir, vidcet “indi nə” olduğunu göstərir, MCP isə məlumatlarla gerçəkdə nə baş verdiyinə cavabdehdir.

2. GiftGenius əsasında workflow nümunəsi

Artıq tanış olduğumuz GiftGenius ssenarisini götürək — hədiyyə seçimi üzrə köməkçi. Onu sadə xətti “usta” (wizard) kimi təsvir etmək olar.

Addımların ardıcıllığı belə ola bilər:

  1. Qəbul edən barədə əsas məlumatı toplamaq.
  2. Büdcə və məhdudiyyətləri müəyyən etmək.
  3. Hədiyyə ideyalarını yaratmaq və filtr etmək.
  4. Namizədləri göstərmək, like/“gizlət” imkanı vermək.
  5. Rəsmiləşdirməyə (Checkout) keçmək və ya seçimi saxlamaq.

Eyni ssenarini kiçik bir “vəziyyət maşını” kimi də təqdim etmək olar:

stateDiagram-v2
    [*] --> Profiling
    Profiling --> ProfilingDone: profil dolduruldu
    ProfilingDone --> Browsing: ideyalar yaradıldı
    Browsing --> Refining: istifadəçi filtrləri dəqiqləşdirdi
    Refining --> Browsing: yenilənmiş siyahı
    Browsing --> Checkout: hədiyyə seçildi
    Checkout --> Success: sifariş rəsmiləşdirildi
    Success --> [*]

Burada:

  • Profiling — qəbul edən barədə cavabların toplanması addımı,
  • Browsing/Refining — namizədlər siyahısı ilə işləmə,
  • Checkout — rəsmiləşdirmə,
  • Success — yekun təsdiq.

Nəzərə alın: diaqramda nə bir düymə, nə də fetch var. Bu, məhz məntiqi addımlardır, konkret UI ekranlarını, tools və API çağırışlarını isə onların üzərinə bağlayırsınız.

3. Ümumiyyətlə niyə işi addımlara bölmək lazımdır

Əgər heç vaxt “25 suallı anketi bir ekranda” etmisinizsə, artıq bilirsiniz niyə. Amma gəlin hər şeyi mərhələlərə bölək.

İstifadəçinin kognitiv yükü

İnsanın diqqət resursları məhduddur. Psixoloqlar qısamüddətli yaddaşda 7±2 obyekt barədə Miller qanununu xatırlatmağı sevirlər. UX dizaynında bu, çox praktik bir qaydaya çevrilir: eyni anda nə qədər çox sahə və variant göstərsəniz, bir o qədər çox ehtimal var ki, istifadəçi ilişib qalar, yorular və ya vərəqi bağlayar.

ChatGPT daxilində kiçik inline‑vidcetdə bir ekranda 12 sahədən ibarət forma — demək olar zəmanətli rage‑quitdir: istifadəçi hər şeyi yarımçıq saxlayır və sadəcə vərəqi bağlayır. İstifadəçi “söhbət etməyə” gəlib, imtahan verməyə yox.

Əgər siz işi addımlara bölseniz:

  • «Addım 1/4: insan haqqında danışın»,
  • «Addım 2/4: büdcəni seçin»,
  • «Addım 3/4: variantlara baxın»,
  • «Addım 4/4: seçiminizi təsdiqləyin»,

o zaman hər an ayrıca idarəolunan görünür. Proqres çubuğu və ya addım imzaları idarəetmə hissi verir: nə baş verdiyi və nə qədər qaldığı aydın olur.

Modelin kognitiv yükü

Sürpriz: modeldə də oxşar problem var. LLM, əlbəttə ki, insan deyil, amma onun da məhdud “diqqəti” və kontekst pəncərəsi var. Əgər siz GPT‑dən bir keçiddə:

  • qəbul edən barədə hər şeyi öyrənməyi,
  • büdcəni anlamağı,
  • çatdırılma detallarını nəzərə almağı,
  • 10 variant seçməyi,
  • nədən məhz bu variantlar olduğunu izah etməyi

xahiş etsəniz, model bu bəndlərin hər birinə diqqət və tokenlərin bir hissəsini sərf edəcək. Bir sorğuda nə qədər çox əlaqəsiz tapşırıq olsa, bir hissənin səthi və ya səhv yerinə yetirilməsi riski bir o qədər yüksəkdir.

Əgər siz addımlar zənciri qurursunuzsa — mahiyyətcə eyni chain-of-thought, sadəcə interfeysdə açıq şəkildə parçalanmış — əvvəlcə model dar tapşırığı “profil çıxarmaq”, sonra “büdcəni tənzimləmək”, sonra “namizədləri seçmək” həll edir. Modelin hər mərhələdə mülahizə keyfiyyəti (reasoning) nəzərəçarpacaq dərəcədə yüksək olur.

Dəstəklənmə və sazlama

Hər şeyi bir alətə və bir ekrana yığanda, sazlama “Məhz harada problem yarandı?” kvestinə çevrilir.

Çoxmərhələli workflow‑da siz demək olar avtomatik olaraq əldə edirsiniz:

  • loqlaşdırma nöqtələri: step_started, step_completed, step_failed,
  • konversiyanı ölçmək üçün aydın yerlər (neçə nəfər 3‑cü addıma çatıb),
  • lokallaşdırılmış problemlər: “yalnız ideya generasiyası addımında çökür”.

Bunların hamısı workflow analitikası modulunda işinizə yarayacaq, amma artıq indi addımlar üzrə düşünməyə öyrəşmək faydalıdır.

4. Workflow‑dakı addım tipləri və UI‑də necə görünür

Niyə ümumiyyətlə işi addımlara bölmək lazım olduğunu artıq müzakirə etdik. İndi isə addımların özlərini sistemləşdirək və ChatGPT App‑də ən çox rast gəlinən tipik “kərpiclərə” baxaq. Xaotik ekran yığınına çevrilməmək üçün addım tiplərinin “kitabxanasına” sahib olmaq rahatdır. Sizin App‑də demək olar həmişə bir neçə pattern təkrar olunacaq.

Budur əsas cədvəl:

Addım tipi Məqsəd Adətən ChatGPT App‑də necə görünür GiftGenius‑da nümunə
Məlumat toplama (Wizard) Mürəkkəb obyekti hissə‑hissə doldurmaq Kiçik forma, çiplər, seçim variantları, proqres indikatoru «Kimin üçün hədiyyə?», «Yaş?», «Maraq sahələri?»
Şaxələnmə Sonrakı yolun seçilməsi Çatda sual + UI‑də sadə variantlar «Uşaq üçün hədiyyə → uşaq kateqoriyaları»
Baxış/təsdiq İstifadəçiyə nəticələrlə tutuşdurmaq imkanı vermək Xülasə kartı + «Geri» / «Təsdiqlə» düymələri «Haqqında anladığım budur, hamısı doğrudur?»
Yekun addım Ssenarini bitirmək və növbəti hərəkətləri təklif etmək Nəticə olan son ekran + çatda follow‑uplar «Budur hədiyyələriniz, sifariş vermək istəyirsiniz?»

Vacibdir: eyni məntiqi addım həm UI‑də, həm də sırf mətn dialoqunda təzahür edə bilər. Məsələn, “maraqların toplanması” addımı belə ola bilər:

  • ya «idman», «stolüstü oyunlar», «kulinarıya» teqləri olan forma,
  • ya da GPT‑nin nəzakətlə dəqiqləşdirdiyi söhbət: «Bəs o nə ilə maraqlanır?».

Çox vaxt optimal variant — hibriddir: GPT sual verir, istifadəçi mətinlə cavablayır və eyni zamanda vidcetdə çiplərə klik edə bilir.

5. Workflow‑u “kim idarə edir”: GPT, vidcet, yoxsa server?

İntuitiv olaraq demək istəyirsiniz: “Əlbəttə, vidcet, axı biz frontendçilərik, hər şeyi state vasitəsilə idarə edirik”. Amma ChatGPT App dünyasında bu belə işləmir. Workflow — hər üç iştirakçının birgə işidir.

Orkestrator kimi GPT

GPT:

  • dialoqa rəhbərlik edir, suallar verir,
  • addımın nə vaxt tamam sayılacağını müəyyənləşdirir,
  • tool çağırma vaxtını seçir (məsələn, “artıq hədiyyələr generasiya etmək vaxtıdır”).

Onun üçün workflow alt tapşırıqlar toplusudur. System‑prompt‑da hansı alt tapşırıqların olduğunu və adətən hansı ardıcıllıqla icra edildiyini təsvir edə bilərsiniz, amma modelə ardıcıllığı bir az adaptasiya etmək azadlığını saxlayırsınız.

GiftGenius üçün system‑prompt daxilində mini təlimata nümunə (psixdokod, dəqiq sintaksissiz):

1. Əvvəlcə qəbul edənin profilini dəqiqləşdir (yaş, münasibət, maraqlar).
2. Sonra büdcəni dəqiqləşdir.
3. Kifayət qədər məlumat olanda — suggest_gifts alətini çağır.
4. Namizədləri aldıqdan sonra — istifadəçiyə seçimdə kömək et.

Əsas olan: GPT sizin React komponentlərinizin detalları haqqında bilmir (və bilməməlidir). O, addımları məqsəd terminlərində idarə edir: “profili toplamaq”, “ideyaları seçmək”.

Addımın “üzü” kimi vidcet

Vİdcet:

  • hazırda aktual olan addımı göstərir,
  • UI vəziyyətini saxlayır (seçilmiş kart, açıq tab, lokal forma sahələri),
  • banan
  • addımlar üzrə proqres indikatorunu göstərə bilər.

UI‑workflow‑un ən sadə təqdimatı kodda belədir:

type GiftWorkflowStep =
  | "profiling"
  | "budget"
  | "candidates"
  | "checkout";

type GiftWidgetState = {
  step: GiftWorkflowStep;
  selectedGiftId?: string;
};

React vidcetinin içində bu vəziyyəti adi useState‑də saxlaya bilərsiniz və ya bunu ChatGPT‑də vidcetin yaşam dövrünə bağlamaq istəyirsinizsə, Apps SDK‑dakı useWidgetState‑dən istifadə edin.

const [widgetState, setWidgetState] = useState<GiftWidgetState>({
  step: "profiling",
});

Vİdcetdəki handler funksiyalar birbaşa “hədiyyə almaq” yox, addımı dəyişmək və lazım olan məlumatı geri modelə/backend‑ə ötürmək üçün işləyəcək.

Workflow‑un “əlləri” kimi MCP‑tools

MCP server:

  • biznes vəziyyətini saxlayır (profil, seçim tarixçəsi),
  • addımları validasiya edir (“seçilmiş hədiyyə yoxdursa, Checkout‑a keçmək olmaz”),
  • çətin işi yerinə yetirir: kataloq üzrə axtarış, qiymət hesabı, ACP ilə inteqrasiya.

Məsələn, “hansı hədiyyələri göstərmək” qərarının vidcetdə deyil, suggest_gifts adlı MCP‑tool‑da qəbul olunması daha doğrudur ki, model dəqiqləşdirmələr zamanı onu dəfələrlə çağıra bilsin.

Beləcə sizdə bölünmə alınır:

  • GPT — mətn və ardıcıllıq,
  • vidcet — cari addımın vizual təqdimatı,
  • MCP — məlumatlar və invariantlar.

6. Workflow‑u kodda necə təsvir etməli: mini state‑machine

Mühazirənin əvvəlindəki GiftGenius üçün vəziyyət diaqramını xatırlayırsınız? İndi həmin məntiqi sadə tip və funksiyalar şəklində — kodda mini state‑machine kimi yazacağıq. App‑inizi nəzəri sonlu avtomatlar kursuna çevirməyəcəyik, amma bir neçə sadə tip və funksiya həyatı xeyli sadələşdirir.

Addım tipləri və konfiqurasiya

Addımların deklarativ təsvirindən başlayaq. Artıq tanış olduğumuz GiftWorkflowStep tipini (aydınlıq üçün burada təkrar edək) götürək və onun üçün konfiqurasiya yazaq:

type GiftWorkflowStep =
  | "profiling"
  | "budget"
  | "candidates"
  | "checkout";

type StepConfig = {
  label: string;
  isFinal?: boolean;
};

export const GIFT_WORKFLOW_STEPS: Record<GiftWorkflowStep, StepConfig> = {
  profiling: { label: "Alıcı" },
  budget: { label: "Büdcə" },
  candidates: { label: "Variantlar" },
  checkout: { label: "Rəsmiləşdirmə", isFinal: true },
};

İndi sadə keçid funksiyası əlavə etmək olar:

export function getNextStep(
  current: GiftWorkflowStep
): GiftWorkflowStep | null {
  switch (current) {
    case "profiling":
      return "budget";
    case "budget":
      return "candidates";
    case "candidates":
      return "checkout";
    default:
      return null; // final
  }
}

Bu sizə artıq verir:

  • addımların mərkəzləşdirilmiş siyahısını,
  • açıq keçid qaydalarını,
  • sifarişi və məntiqi tez dəyişmək imkanı.

Vİdcetdə istifadə

Vidcetinizdə “usta”nın ən sadə versiyası belə görünə bilər:

function GiftWizard() {
  const [step, setStep] = useState<GiftWorkflowStep>("profiling");

  const handleStepComplete = () => {
    const next = getNextStep(step);
    if (next) setStep(next);
  };

  return (
    <div>
      <ProgressBar step={step} />
      <StepContent step={step} onComplete={handleStepComplete} />
    </div>
  );
}

StepContent komponenti addımdan asılı olaraq müxtəlif alt formları çəkə bilir:

function StepContent(props: {
  step: GiftWorkflowStep;
  onComplete: () => void;
}) {
  const { step, onComplete } = props;

  if (step === "profiling") {
    return <ProfilingStep onNext={onComplete} />;
  }
  if (step === "budget") {
    return <BudgetStep onNext={onComplete} />;
  }
  if (step === "candidates") {
    return <CandidatesStep onNext={onComplete} />;
  }
  return <CheckoutStep />;
}

Nəzərə alın: burada hələ GPT‑nin addımı necə seçdiyinə toxunmuruq — bu, lokal UI məntiqidir. Sonradan bu step‑i server vəziyyəti və ya tools mesajları ilə sinxronlaşdıra bilərsiniz, amma çoxmərhələliliyi anlamaq üçün bu kifayətdir.

7. Tədris tətbiqini inkişaf etdiririk: “mega‑forma”dan ustaya

Təsəvvür edin ki, bu mühazirəyə qədər sizin GiftGenius vidcetiniz “böyük forma” kimi görünürdü:

  • qəbul edənin adı,
  • yaş,
  • maraqlar,
  • büdcə,
  • tədbir növü,
  • “çatdırılma lazımdır” checkbox‑u və daha beş sahə,
  • və aşağıda bir böyük “Hədiyyə seç” düyməsi.

Prototip üçün bu çox vaxt uyğundur, amma məhsul ssenarisi istədiyiniz an — addımlara bölməyin vaxtıdır.

“Əvvəl necə idi”

Karikatura nümunəsi:

// Anti-naxış: tək nəhəng forma
function GiftFormAllInOne() {
  return (
    <form>
      {/* 10+ sahə qarışıq vəziyyətdə */}
      {/* ... */}
      <button type="submit">Hədiyyə seç</button>
    </form>
  );
}

Tipik problemlər:

  • istifadəçi hansı sahələrin məcburi olduğunu anlamır,
  • bunun nə qədər vaxt aparacağı bəlli deyil,
  • GPT‑yə istifadəçiyə nə baş verdiyini izah etmək və follow‑up etmək çətinləşir.

“Sonra necə edək”: üç ekrandan ibarət usta

Addım 1 — profili büdcədən ayırın:

function ProfilingStep(props: { onNext: () => void }) {
  const [recipientType, setRecipientType] = useState("");
  const [interests, setInterests] = useState<string[]>([]);

  const handleSubmit = () => {
    // burada profili saxlama tool-unu çağıra bilərsiniz
    props.onNext();
  };

  return (
    <div>
      <h3>Kimin üçün hədiyyə axtarırıq?</h3>
      {/* tip və maraqlar üçün radio düymələri / çiplər */}
      <button onClick={handleSubmit}>Növbəti</button>
    </div>
  );
}

Addım 2 — büdcə:

function BudgetStep(props: { onNext: () => void }) {
  const [budget, setBudget] = useState<number | null>(null);

  const handleSubmit = () => {
    // büdcə validasiyası üçün tool çağırmaq olar
    props.onNext();
  };

  return (
    <div>
      <h3>Büdcəniz nə qədərdir?</h3>
      {/* slayder və ya input */}
      <button onClick={handleSubmit} disabled={!budget}>
        Variantları seç
      </button>
    </div>
  );
}

Addım 3 — namizədlər siyahısı:

function CandidatesStep(props: { onNext: () => void }) {
  const [selectedId, setSelectedId] = useState<string | null>(null);

  // burada artıq hədiyyə kartlarını göstərirsiniz
  // və birini seçməyə imkan verirsiniz

  return (
    <div>
      <h3>Uyğun variantı seçin</h3>
      {/* kartlar, onClick = setSelectedId */}
      <button onClick={props.onNext} disabled={!selectedId}>
        Rəsmiləşdirməyə keç
      </button>
    </div>
  );
}

Bəli, kod bir az çoxaldı, amma məntiq sadələşdi:

  • hər addım kiçik tapşırığı həll edir,
  • model addımlar arasındakı keçidləri ayrıca şərh edə bilər,
  • siz hər addımı ayrıca loq/ölçə bilərsiniz.

8. Antipatternlər: workflow‑u monstraya çevirməməyin yolları

Praktika və oxşar App‑lər üzrə müşahidələr bir neçə tipik səhvi göstərir ki, onlardan qaçmaq çox arzuolunandır.

Birincisi, hər şeyi 30 vəziyyət, 40 ox və A0 ölçülü kağızla “çizilən” mürəkkəb BPMN diaqramına çevirməyə çalışmayın. ChatGPT App kontekstində formal notasiya deyil, intuitiv aydın addımlar “pilləkəni” daha önəmlidir. GiftGenius üçün çəkdiyimiz kimidən kifayət qədərdir.

İkincisi, App‑i bir nəhəng formaya çevirmək olmaz, xüsusən də inline‑vidcet daxilində. İstifadəçi artıq çatdadır; sıx UI bloku əlavə etmək yükü azaltmalı, artırmamalıdır. “Burada 12 sahə var, amma hamısı vacibdir” deyə düşünürsünüzsə — bu demək olar həmişə tapşırığın bölünməli olduğunun əlamətidir.

Üçüncüsü, “gözəllik xatirinə” addımlar düzəltməyin. Hər addımın aydın məqsədi olmalıdır: ya məlumat toplamaq, ya seçimi daraltmaq, ya da istifadəçiyə nəyisə təsdiqlətmək. “Bir az qaldı” kimi içi boş ekranlar və bir “davam et” düyməsi nadir hallarda kömək edir.

Sonda, App‑in bütün imkanlarını ilk addımlarda açmağa çalışmayın. “Genişləndirilmiş filtrlər”, “xüsusi çatdırılma şərtləri” kimi detallı şeyləri yalnız həqiqətən ehtiyacı olanlar üçün əlavə addımlar kimi sonra daxil etmək olar.

9. Workflow dizaynı üçün sadə məşq

Materialı daha yaxşı möhkəmləndirmək üçün kağızda (və ya IDE‑də, amma kod yazmadan) aşağıdakıları sınayın.

Bir tapşırıq götürün. Bu ola bilər:

  • hədiyyə seçimi (GiftGenius),
  • səyahətin bron edilməsi,
  • nəyisə öyrənmək üçün planın qurulması.

Onu 3–5 addıma bölün. Hər addım üçün təsvir edin:

  • məqsəd: bu addımdan sonra nə məlum/edilmiş olmalıdır,
  • format: burada nəyin yeri var — təmiz GPT mətni, vidcet, yoxsa kombinasiyası.

Məsələn, sadə “TypeScript öyrənmə planı” üçün:

  1. “Səviyyənin qiymətləndirilməsi” addımı — dialoq (GPT iki sual verir) + qısa özünüqiymət forması.
  2. “Məqsədlər” addımı — mətn müzakirəsi + vidcetdə məqsəd checkbox‑ları.
  3. “Plan” addımı — planın generasiyası (siyahı) + “çətinləşdir/sadələşdir” düymələri.
  4. “Təsdiq” addımı — qısa xülasə və “planı saxla” düyməsi.

Sonra hər addımda hansı tools‑ların işə düşə biləcəyini təxmini götürün, amma detallara girməyin: alətlər, onların aktivləşdirilməsi/deaktivləşdirilməsi və vəziyyətin saxlanması — bu modulun növbəti mühazirələrinin mövzularıdır.

10. Çoxmərhələli workflow ilə işləyərkən tipik səhvlər

Xəta №1: hər şeyi bir addım və bir tool ilə həll etmə cəhdi.
Çox cazibədardır ki, “böyük ağıllı alət” düzəldəsiniz — özü soruşur, özü təhlil edir, özü seçir, özü də alışı rəsmiləşdirir. Təcrübədə bu həm UX‑i pisləşdirir (bir ağır ekran), həm də modelin mülahizə keyfiyyətini (reasoning) aşağı salır — bir çağırışda həddən artıq öhdəlik. Tapşırığı 3–5 sadə addım zəncirinə bölmək daha asan, etibarlı və dəstəkləmədə ucuzdur.

Xəta №2: tərtibatçının başında “gizlədilmiş” qeyri‑aydın addımlar.
Bəzən kodda sanki əməl ardıcıllığı var, amma o, heç yerdə açıq təsvir olunmayıb: addım tipləri, konfiqurasiya, diaqram yoxdur. Nəticədə komandada heç kim “bu App‑də başlanğıcdan sona nə baş verir” sualına aydın cavab verə bilmir. Addımlar və keçidlərin minimal deklarativ təsviri saatlarla debugu qənaət edir.

Xəta №3: UI addımları ilə biznes məntiqinin qarışdırılması.
Əgər addımlar arasındakı keçid məntiqi dərinlikdə React komponentlərinə hopubsa (məsələn, if (isValid && hasBudget && !needsShipping) onClick düyməsində), onu təkrar istifadə və test etmək çətinləşir. Yaxşısıdır ki, nisbətən aydın “vəziyyət maşını” və ya heç olmasa getNextStep kimi funksiyalar olsun, UI isə sadəcə onu çağırsın və nəticəni göstərsin.

Xəta №4: orkestrator kimi GPT rolunun gözardı edilməsi.
Bəzən tərtibatçı ssenarini tamamilə vidcetdən idarə etməyə çalışır: “lazımi hər şeyi özüm soruşaram, model isə yalnız seçsin”. Nəticədə ChatGPT canlı köməkçi təsiri bağışlamır və formanın altında hesablayıcı mühərrikə çevrilir. Daha xoşdur ki, GPT aktiv ünsiyyət qursun, növbəti addıma doğru yönəltsin və tools çağırışlarını özü təşəbbüs etsin — siz isə ona addımların dizaynı və təlimatlar ilə kömək edirsiniz.

Xəta №5: dəqiq məqsədi olmayan addımlar.
Bəzən ustada “artıq” addımlar peyda olur — açığı, sadəcə dizayner belə daha gözəl saydığı üçün. İstifadəçi “5‑dən 2‑ci addım” görür, amma bu addımda ondan əslində nə tələb olunur, nə də nəsə baş verir. Belə boş ekranlar yalnız mürəkkəblik hissini artırır. Addımı “ondan sonra X dəqiq bilinir” və ya “ondan sonra istifadəçi Y etdi” kimi formalaşdıra bilmirsinizsə — çox güman ki, o, lazım deyil.

Xəta №6: unudulan proqres və yol hissinin olmaması.
Vizual dəstək olmadan çoxmərhələlilik “qara qutuya” çevrilir: istifadəçi harada olduğunu və nə qədər qaldığını anlamır. Hətta sadə “Addım 2/4” mətn indikatoru və ya vidcetin başlığında addımların üfüqi sadalanması belə narahatlığı xeyli azaldır. Bunu görməməzliyə vurmaq — insanların ssenarinin ortasında “çıxıb getməsinin” səbəblərindən biridir, halbuki orada real mürəkkəblik olmaya da bilər.

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION