CodeGym /Kurslar /ChatGPT Apps /İstifadəçi flow-u: GPT App-ı necə təklif edir və onun fun...

İstifadəçi flow-u: GPT App-ı necə təklif edir və onun funksiyalarını necə çağırır

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

1. Giriş

Təsəvvür edin ki, adi bir veb‑servis yazırsınız. Orada hər şey sadədir: sizdə /search URL-i var, istifadəçi düyməni sıxır, siz isə searchController-i çağırırsınız. ChatGPT Apps dünyasında istifadəçi heç bir /search görmür. O, insan dili ilə yazır:

«Geymer qardaşım üçün 50 $-dək hədiyyə seç»

Və sonra:

  • model qərar verir: «Aha, bu hədiyyələr haqqındadır, məndə bunu bacaran GiftGenius var»;
  • GPT “düymələri özü basır” — App-ınızın alətlərini çağırır;
  • bəzən istifadəçiyə təklif edir: «İstəyirsən, GiftGenius-u açım və variantları göstərim?».

Əsas dəyişiklik: istifadəçi niyyətini ifadə edir, düymələri isə model basır. Bu flow-u anlamasanız, çox asan:

  • mənasız adlarla alətlər yazmaq (run_func, doStuff),
  • modelin heç vaxt təklif etmədiyi və ya yerli‑yersiz çağırdığı App almaq,
  • dialoqu “koldan sıçrayıb çıxan” vidcetlə sındırmaq.

Ona görə bu mühazirədə mental model qururuq: GPT ümumiyyətlə App-ınız haqqında necə xəbər tutur və dialoqun hansı nöqtələrində onu “daxil edir”.

Insight: tətbiq — ChatGPT üçün plaqindir

Telefondakı tətbiqlərdən və WeChat-dəki mini‑app-lərdən fərqli olaraq, ChatGPT-də tətbiqlər başqa cür qurulub.

ChatGPT özü qərar verir: tətbiqinizi nə zaman işə salmaq və onun hansı funksiyasını çağırmaq. ChatGPT-də tətbiqlər (məhdudiyyətlərlə də olsa) çatın məntiqinə aktiv müdaxilə edə bilirlər. Onların əsas məqsədi və güclü tərəfi — elə ChatGPT-nin öz imkanlarını genişləndirməkdir.

Əgər ChatGPT istifadəçinin problemini mükəmməl həll edə bilirsə — tətbiqinizi çağırmağa ehtiyac yoxdur. Əgər ChatGPT ümumiyyətlə həll edə bilmirsə — istifadəçi də bundan soruşmayacaq. İdeal variant odur ki, ChatGPT istifadəçinin sorğusunu yalnız qismən həll edir. Bu o deməkdir ki, sorğular var, çoxdur, amma nəticə yetərli deyil.

Məhz o zaman ChatGPT tətbiqinizi çağırır və siz birlikdə istifadəçini xoşbəxt edirsiniz. İstifadəçi daha məmnun olur, siz isə — daha varlı.

2. İstifadəçi gözü ilə ChatGPT App-ın işə salınma yolları

İstifadəçinin «MCP serverini çağır və call_tool et» düyməsi yoxdur, amma mətn sahəsi və (bəzən) tətbiqlər menyusu var. Onun baxış bucağından iki baza sxem var: açıqqeyri‑açıq.

Açıq işə salma (explicit)

Bu ssenaridə istifadəçi sizin App-ı şüurlu şəkildə seçir.

Tipik variantlar:

  • o, ChatGPT-də Store-da App-ı tapır və «Aç» düyməsini sıxır;
  • o, launcher-dən App seçir (məsələn, mətn daxil etmə sahəsində (Composer) + düyməsi ilə);
  • o, mesajı tətbiqin adı ilə başlayır: «GiftGenius, hədiyyə seç…» — buna named mention deyilir. Əgər App adı promptun əvvəlindədirsə, ChatGPT cavab kontekstinə App-ınızı avtomatik əlavə edir.

Açıq rejimdə model lap əvvəlcədən bilir: istifadəçi bura məhz bu App ilə işləmək üçün gəlib. Ona görə:

  • GPT sizin tools-u daha tez-tez və fəal çağırır;
  • App-ınızın UI‑vidceti artıq ilk cavabda görünə bilər;
  • GPT daha az “App-ı görməzlikdən gəlir” və “öz gücü ilə” cavab verir.

Sevimli nümunə: istifadəçi hədiyyə seçimini “qarışdırıb‑oynamaq” istədiyinə görə GiftGenius-u birbaşa açır. O, siyahıdan App-ı seçir, GPT isə belə üslubda salam verir:

«Salam! Mən GiftGeniusam, hədiyyə seçməyə kömək edəcəyəm. Kimə və hansı büdcə üçün axtarırıq?»

Və sonra axtarış üçün alətlərinizdən fəal istifadə edir.

Qeyri‑açıq işə salma (implicit / suggested)

Tam başqa ssenari: istifadəçi ümumiyyətlə App barədə düşünmür. O, sadəcə adi çatda yazır:

«Anamın ad günü üçün hədiyyə seç; o, bağçılığı sevir, büdcə 100 $-dək»

GPT sorğunu analiz edir və görür ki:

  • ekosistemdə GiftGenius adlı App var, onun alətləri «Use this when the user wants to get gift recommendations» kimi təsvir edilib;
  • tapşırıq və məhdudiyyətlər (hədiyyə, büdcə, maraqlar) bu App ilə yaxşı uyğunlaşır.

Belə halda model təvazökar təkliflə “araya girə” bilər:

«Mən GiftGenius tətbiqindən istifadə edib konkret hədiyyə variantları seçə və onları kartlar şəklində göstərə bilərəm. Açım?»

İstifadəçi razılaşsa — GPT App-ın lazım olan alətini çağırır və, bəlkə də, sizin vidceti render edir.

Vacibdir ki, siz heç yerdə if (prompt.includes("hədiyyə")) openApp() yazmırsınız. Qərarı model öz verir, əsaslanaraq:

  • sorğunun mətninə və dialoq tarixçəsinə;
  • alətlərinizin metadatasına (adlar, təsvirlər, parametrlərin sxemləri);
  • istifadəçinin App-a bağlantı vəziyyətinə (autentifikasiya olunub‑olunmaması), korporativ istifadəçi olub‑olmamasına.

Siz alqoritmə deyil, App-ınızın və tools-un model üçün necə “təsvir olunduğuna” təsir edirsiniz.

Hibrid: GPT əvvəl dəqiqləşdirir, sonra App təklif edir

Bəzən istifadəçi çox ümumi bir şey yazır:

«Həmkar üçün nəsə fikirləşmək lazımdır, ümumiyyətlə bilmirəm nə»

Model başa düşür ki, GiftGenius kömək edə bilər, amma informasiya çox yayğındır. Tez-tez rast gəlinən pattern:

  1. GPT mətnlə 1–2 dəqiqləşdirici sual verir.
  2. Bundan sonra App-ı işə salmağı təklif edir: «Məndə hədiyyə seçimi üçün alət var. İstəsəniz, onu açım və variantları göstərim?».

Bu yaxşı UX-dir: istifadəçi “zorla başqa tətbiqə keçirildiyini” hiss etmir.

3. Discovery: GPT App-ınızı necə tapır

İndi bütün bunlara modelin öz baxış bucağından baxaq.

Apps SDK sənədində bu Discovery adlanır — istifadəçi və modelin ümumiyyətlə App-ınızdan xəbər tutmasının bütün yolları. Bura həm çatdakı təbii sorğular, həm tətbiqlər kataloqu, həm də launcher kimi xüsusi giriş nöqtələri daxildir.

Model ümumiyyətlə App-ınızın mövcud olduğunu haradan bilir

Qeydiyyat zamanı ChatGPT App-ınızı işə salır, o isə (MCP vasitəsilə) özündən bəhs edir: mövcud alətləri onların sxemləri ilə birlikdə sadalayır — ad, təsvir, giriş parametrlərinin JSON‑sxemi. Tətbiq barədə məlumatı qeydiyyatda göstərməlisiniz, alətlər barədə məlumatı isə ChatGPT MCP‑metodu list_tools vasitəsilə özü götürür.

Model sizin mənbə kodunuzu görmür, ona yalnız bunlar əlçatandır:

  • alətin adı (name);
  • təsvir (description);
  • girişin siqnatırı (inputSchema).

Məhz bu, “model üçün API” olur. Əgər aləti run_func adlandırıb «Executes the function» kimi təsvir etsəniz, model onun nə vaxt çağırılacağını anlamayacaq. Əgər suggest_gifts adlandırıb «Use this when the user wants gift ideas based on recipient, occasion and budget» desəniz — hər şey aydınlaşır.

Named mention və in‑conversation discovery

Apps SDK-nın rəsmi spesifikasiyası iki əsas mexanizmi ayırır:

  • Named mention — istifadəçi mesajı App-ınızın adı ilə başlayanda. Bu halda App demək olar ki, zəmanətli şəkildə qaldırılıb cavabda istifadə olunacaq.
  • In‑conversation discovery — istifadəçi sadəcə sorğu yazır, model isə App-ı qoşmağa dəyib‑dəymədiyini qərar verir. Bu zaman nəzərə alınır:
    • söhbətin konteksti (mesaj tarixçəsi, əvvəlki tools nəticələri, istifadəçi üstünlükləri);
    • mətndə brendin açıq şəkildə çəkilməsi;
    • tools metadatası — adlar, təsvirlər, parametrlərin sənədləşməsi;
    • “link” vəziyyəti — istifadəçi App-a qoşulubmu (autentifikasiya olunubmu, lazım icazələr verilibmi).

Tərtibatçı bu prosesə dolayı yolla təsir edir: keyfiyyətli metadata və UX‑pattern-lər vasitəsilə, yoxsa kodda if/else ilə yox.

Kataloq və launcher

Dialoq üsulundan əlavə, ChatGPT daxilində Store və kompozerdən əlçatan launcher də mövcuddur. Onlar vasitəsilə istifadəçilər App-ı adi mağaza tətbiqi kimi açıq şəkildə seçə bilərlər.

Bizim üçün bu anlayış baxımından vacibdir: GiftGenius flow-unı düşünəndə yadda saxlamalıyıq ki:

  • kimsə kataloqdan daxil olacaq və dərhal App-ın “içində” olacaq;
  • kimsə heç vaxt kataloqa baxmayacaq və App-ı yalnız dialoqda təklif kimi görəcək.

Bunların hamısı — App-ın discovery-si haqqındadır: modelin tətbiqinizi ümumiyyətlə “qaldırmağa” dəyib‑dəymədiyini və onu cari söhbətdə istifadəçiyə təklif etməli olub‑olmadığını qərar verdiyi anlar.

4. İnteraksiya dövrünün anatomiyası: frazadan vidcetə

Keçən mühazirədəki bütün səviyyələri — ChatGPT UI və vidcetdən tutmuş Apps SDK və MCP serverə qədər — bir məntiqi dövrdə birləşdirək.

Yüksək səviyyəli sxem

Proses baxımından dövr belə görünür:

sequenceDiagram
    participant U as İstifadəçi
    participant G as ChatGPT (model)
    participant A as App / MCP server

    U->>G: Mətn sorğusu
    G->>G: Sorğunun təhlili + tools seçimi
    G->>A: Alətin çağırılması (call_tool)
    A-->>G: Cavab (məlumat / structuredContent)
    G->>U: Mətn cavabı + (opsional) App vidceti

Sadə dillə:

  1. İstifadəçi ChatGPT-yə mesaj yazır.
  2. Model sorğunu və cari konteksti analiz edir, qərar verir:
    • özünün cavab verib‑verməməsinə,
    • yoxsa bir və ya bir neçə aləti çağırmasına.
  3. Əgər App-ınızın aləti seçilərsə, ChatGPT strukturlaşdırılmış sorğu (call_tool) formalaşdırıb MCP serverə göndərir.
  4. Sizin backend (və ya MCP server) əməliyyatı icra edir: DB-yə, xarici API-lərə, ACP-yə gedir və nəticə formalaşdırır.
  5. Nəticə strukturlaşdırılmış məlumat kimi (və bəlkə də vidcet üçün JSON kimi) geri qaytarılır.
  6. Model bu məlumatdan istifadə edərək:
    • istifadəçi üçün anlaşılan mətn yaradır,
    • lazımdırsa — cavabın içində App vidcetini çəkir.

Bütün çoxmərhələli planlama — “nə vaxt nəyi çağırmalı”, “dəqiqləşdirmə soruşmalı”, “daha bir çağırış etməli” — AI modelin tərəfindədir. Apps SDK və MCP sadəcə alətlər üçün vahid müqavilə təqdim edir.

Burada harada kod yazırıq

Bu dövrdə həqiqətən TypeScript/kod yazdığınız üç nöqtə var:

  1. App və alətlərin konfiqurasiyası — tools üçün təsvirlər (ad, təsvir, sxem) və App metadata (ad, ikon, kateqoriyalar). Layihənizdə bu, çox güman ki, openai/app-config.ts-ə bənzər fayldır.
  2. MCP server / backendcall_tool-u emal edir: DB-yə gedir, məhsulları filtr edir, başqa API-ləri çağırır və s.
  3. Vidget (UI) — Next.js tətbiqində React komponenti, çatın içində render olunur və alətlərin nəticələrini window.openai və ya Apps SDK hook-ları vasitəsilə oxuyur.

Qalan hər şey — modelin və platformanın işidir.

5. GiftGenius işdə: istifadəçi flow-u üçün iki ssenari

Daha konkret ssenarilərə keçək ki, bu flow-u “görə” biləsiniz.

Ssenari 1: istifadəçi GiftGenius-u açıq şəkildə açır

Ssenari:

  1. İstifadəçi ChatGPT-də App kataloqunu açır və GiftGenius-u tapır.
  2. «Aç» düyməsini sıxır.
  3. ChatGPT dialoqu artıq kontekstdə GiftGenius ilə başladır.

Dialoq təxminən belədir:

İstifadəçi:

Kataloqdan GiftGenius-u açır.
Və yazır: «Salam! Mən dosta hədiyyə seçmək istəyirəm»

GPT:

«Əla, hədiyyə seçməyə kömək edim. Kim üçün, hansı büdcə və hansı münasibət üçün hədiyyə axtarırsınız?»

Bu addımda GPT dərhal ilk aləti, məsələn, start_gift_session-u çağırıb backend-inizdə sessiyanı init edə bilər (müvəqqəti səbət yaratmaq, sessionId generasiya etmək və s.).

Sizin MCP server tərəfindəki kod belə görünə bilər (hələ ki, çox şərti):

// Psevdo-nümunə future-TS: GiftGenius alətinin təsviri
const suggestGiftsTool = {
  name: "suggest_gifts",
  description: "Use this when the user wants gift ideas by recipient, occasion and budget",
  inputSchema: {
    type: "object",
    properties: {
      recipient: { type: "string" },
      occasion: { type: "string" },
      budgetUsd: { type: "number" },
    },
    required: ["recipient", "occasion", "budgetUsd"],
  },
};
    

Bu, MCP/Apps SDK-da necə qeydiyyatdan keçirilir — ayrıca modulda baxacağıq; indi isə fikir vacibdir: bu təsvirdən model anlayır ki, alət “hədiyyə seçimi” sorğuları üçün uyğundur.

İstifadəçi cavab verdikdən sonra GPT suggest_gifts-i çağırır, sizdən variantlar massivini alır və sonra:

  • mətnlə qısa xülasə tərtib edir;
  • GiftGenius vidcetini daxil edir ki, hədiyyə kartlarını vərəqləmək və filtr etmək olsun.

Ssenari 2: istifadəçi adi çatda “hədiyyə seç” yazır

İndi başqa variant: istifadəçi ümumiyyətlə GiftGenius-dan xəbərsizdir.

Adi çatda yazır:

«Qardaşıma hədiyyə lazımdır, o stolüstü oyunları çox sevir, maksimum 50 $»

ChatGPT daxilində təxminən belə baş verir:

  1. Model sorğunu və mövcud alətlərin siyahısını analiz edir.
  2. suggest_gifts alətini uyğun təsvirlə görür.
  3. GiftGenius App-ının məhz belə tapşırıqlar üçün olduğunu anlayır.
  4. İstifadəçinin bu tətbiqi artıq quraşdırıb‑quraşdırmadığını, autentifikasiya olub‑olmadığını, hansı icazələri verdiyini yoxlayır.

Sonrakı davranış müxtəlif ola bilər:

  • əgər sorğu kifayət qədər konkret olsa, GPT səssizcə suggest_gifts-i çağırıb cavabı vidcetlə qaytara bilər;
  • nəsə çatmırsa (məsələn, münasibət və ya yaş göstərilməyibsə), GPT əvvəlcə dəqiqləşdirmə sualı verib sonra App-ı təklif edə bilər.

Bu cür çeviklik, Apps-i “sərt” formalarla olan UI-dan fərqləndirən cəhətdir: model özü qərar verir ki, nə vaxt alətlərdən istifadə etsin, nə vaxt danışsın.

6. Semantik marşrutlaşdırma: «LLM dizpetçer kimi»

Discovery səviyyəsində model qərar verir ki, ümumiyyətlə App-ınızı cari sorğuya qoşsunmu. Amma sonra, App “qaldırıldıqda” və onun alətləri cari sessiyada modelə məlum olduqda, ikinci səviyyə işə düşür — bu alətlər daxilində semantik marşrutlaşdırma: növbəti replikanı məhz hansı alətlə emal etmək.

Klassik veb backend-də marşrut URL-ə görə seçilir: /checkout — deməli, checkout‑kontroller çağırılır. ChatGPT Apps-də URL üzrə marşrut yoxdur, əvəzində semantik marşrutlaşdırma var: model sorğunun məzmununu alətlərinizin təsvirləri ilə müqayisə edir.

Sadələşdirilmiş proses belədir:

  1. Sessiya başlayanda ChatGPT tools siyahısını alır: adlar, təsvirlər, sxemlər.
  2. Bu məlumatlar modelin sistem təlimatlarına daxil edilir.
  3. İstifadəçi sorğu yazanda, model sorğunun mənasını alət təsvirləri ilə tutuşdurur: harada “hədiyyə seçimi”, harada “otel axtarışı”, harada “qrafik qurmaq”.
  4. Yaxşı uyğunluq taparsa — lazım olan alət üçün strukturlaşdırılmış çağırış formalaşdırır.

Buradan əsas praktik nəticə çıxır:

  • alətin təsviri — model üçün sizin API-nizdir; bunu bir də oxuyun. Və sonra yenə.
  • əgər “does stuff” yazsanız, model doğrudan da onu nə vaxt çağıracağını anlamayacaq.

Discovery üzrə sənədlər və ən yaxşı təcrübələr vurğulayır: metadata-ya məhsul kopiraytinqi işi kimi yanaşmaq lazımdır. Məhz onlar hansı söhbətlərdə modelin App-ınızı xatırlayacağını müəyyənləşdirir.

7. App ətrafında dialoq pattern-ləri

İndi GPT-nin bir söhbət daxilində App ilə qarşılıqlı fəaliyyətdə olduğu tipik UX pattern-lərinə baxaq. Bu, App-ı “vakumda” — GPT hissəsinin rolunu anlamadan — qurmamaq üçün vacibdir.

Apps SDK üzrə bütün praktik qaydalar bir neçə xarakterik pattern ayırır:

«Sehrbaz» (The Wizard)

GPT istifadəçini addım‑addım aparır, çox vaxt App-a söykənir.

GiftGenius nümunəsində:

  1. GPT: «Kimə hədiyyə axtarırıq?»
  2. İstifadəçi: «Qardaş, 25 yaş, stolüstü oyunları sevir».
  3. GPT: «Büdcə nə qədərdir?»
  4. İstifadəçi: «50 $-dək».
  5. GPT suggest_gifts-i çağırır, nəticələri vidcetdə göstərir və yazır: «Bir neçə variant seçdim, aşağıdakı siyahıya baxın».

Bu pattern-də App və onun vidceti çoxmərhələli dialoq üzərində vizual qat kimidir. İstifadəçi vaxtın böyük hissəsində mətn yazır, vidcet isə seçimi vizuallaşdırmağa kömək edir.

«Adaptiv vidcet» (The Adaptive Widget)

Mətn əsas kanal olaraq qalır, App isə xüsusi tapşırıqlar üçün nöqtəvi qoşulur: qrafik qurmaq, cədvəl göstərmək, məhsul kartlarını çəkib göstərmək.

Nümunə:

  • İstifadəçi: «Hədiyyə üçün üç variantı müqayisə et: stolüstü oyun, kitab, təəssürat hədiyyəsi».
  • GPT əvvəlcə mətnlə üstünlükləri və çatışmazlıqları izah edir.
  • Sonra əvvəlki siyahıdan strukturlaşdırılmış məhsul siyahısı qaytaran aləti çağırır və kiçik cədvəl və ya kartlar render edir.

Burada App — vizual əlavəsidir, “default iş rejimi” deyil.

«Görünməz agent» (Invisible Agent)

App ümumiyyətlə UI göstərməyə bilər. O, “kapot altında” data mənbəyi kimi işləyir:

  • siz DB-də hədiyyə axtaran MCP‑tool reallaşdırırsınız;
  • GPT onu çağırır, siyahı alır və nəticələri heç bir vidcet olmadan mətnlə danışır.

Bu, klassik «UI-siz plaqin» kimidir: istifadəçi sadəcə GPT-nin aktual qiymətləri və çeşidi bildiyini görür.

Bu cür pattern tool‑first App üçün faydalıdır, burada UI kritik deyil.

8. Flow App dizaynına necə təsir edir

Flow-u anlamaq təkcə fəlsəfə üçün deyil, çox praktiki qərarlar üçün də vacibdir: hansı alətləri yaratmaq, onları necə təsvir etmək, vidceti nə vaxt göstərmək və nə vaxt mətnlə cavab vermək daha yaxşıdır.

«chat‑first» prinsipi

Ekosistemin əsas ideyası: çat — əsas qarşılıqlı fəaliyyət kanalıdır, UI komponentləri isə köməkçidir.

Bu o deməkdir ki:

  • “bütöv saytı” bir vidcetə sığışdırmağa çalışmayın;
  • vidcetlər çatın əlverişsiz olduğu yerlərdə kömək etməlidir: siyahıdan seçim, filtrasiya, müqayisə, mürəkkəb formalar.

GiftGenius üçün bu:

  • hədiyyə siyahısı seçmək və istifadəçiyə kartlara “klikləmək” imkanı vermək;
  • filtrləri vizuallaşdırmaq (qiymət, kateqoriya, mövcudluq);
  • sifarişi (checkout) bir neçə anlaşılan addımda rəsmiləşdirməyə kömək etmək.

Amma vidcətdə “introvert qız üçün hədiyyə necə seçilməlidir” kimi uzun izahlar yazmaq — yaxşı fikir deyil, bu çatın işidir.

App-ı nə vaxt işə salmalı, nə vaxt yox

Daha bir nəticə: App-ı “dialoqu ələ keçirən” etməyin.

Pis pattern:

  • istifadəçi ciddi müzakirə aparır;
  • App işə düşür və xəbərdarlıq etmədən böyük fullscreen vidcet açır;
  • istifadəçi itir: «çatıma nə oldu?».

Daha yaxşısı:

  • əvvəlcə hər şeyi mətnlə müzakirə etmək, bir-iki dəqiqləşdirmə sualı vermək;
  • sonra, həqiqətən UX-i yaxşılaşdırırsa, App-ı açmağı yumşaq şəkildə təklif etmək (müqayisə, konfiqurasiya, checkout).

Alət dəstinə təsiri

Model aləti təsvirə görə seçdiyinə görə, hər alət:

  • bir aydın tapşırığı həll etməlidir;
  • “Use this when…” üslubunda yaxşı təsvirə malik olmalıdır;
  • parametrləri GPT-nin istifadəçiyə verəcəyi suallardan təbii çıxmalıdır.

GiftGenius üçün nəhəng do_everything əvəzinə məntiqli olan:

  • suggest_gifts — variantların siyahısını seçmək;
  • get_gift_details — bir ID üzrə təfərrüatlar;
  • create_order — sifarişin rəsmiləşdirilməsi.

Alətlərin dizaynı ilə modul 4-də ətraflı məşğul olacağıq, amma ümumi fikir artıq indi vacibdir: dialoq flow-u ümumiyyətlə hansı alətlərin lazım olduğunu müəyyən edir.

9. Mini nümunə: alət təsvirləri flow-a necə təsir edir (TypeScript eskizi)

Xəyali openai/app-config.ts-dən kiçik fraqment — nəzəriyyəni kodla bağlamaq üçün. Bunu SDK-nın dəqiq sintaksisi kimi qəbul etməyin (növbəti moduldə baxacağıq) — indi adlar və təsvirlər ideyası vacibdir.

// Şərti GiftGenius konfiqurasiya fraqmenti (gələcək kod)
const tools = [
  {
    name: "suggest_gifts",
    description: "Use this when the user wants gift ideas based on recipient, occasion, and budget.",
    inputSchema: {/* ... */},
  },
  {
    name: "get_gift_details",
    description: "Use this when the user asks for more information about a specific gift from a previous list.",
    inputSchema: {/* ... */},
  },
];

Əgər suggest_gifts-i run_func ilə və təsviri «Main function» ilə əvəz etsəniz, GPT:

  • bu aləti hansı sorğular üçün çağırmağın doğru olduğunu daha pis anlayacaq;
  • in‑conversation discovery-də App-ınızı daha az təklif edə bilər;
  • istifadəçinin follow‑up-larını artıq göstərilmiş hədiyyə siyahısı ilə əlaqələndirmək daha çətin olacaq.

Əksinə, yaxşı adlar və təsvirlər lazımi anda məhz sizin App-ın “üzə çıxma” şansını artırır.

10. İstifadəçi flow-u dizaynında tipik səhvlər

Xəta №1: Tam nəzarət gözləntisi — «App-ı nə vaxt işə salacağımı özüm qərar verəcəyəm».
Bəzən tərtibatçılar «hədiyyələrlə bağlı bütün sorğuları tutacağam və App-ımı qoşacağam» paradiqmasında düşünür. ChatGPT Apps dünyasında belə deyil: qərarları model verir. O, alət təsvirlərini, dialoq kontekstini, icazələrin vəziyyətini və istifadəçinin məhz sizin App-ınızın çağırılmasından nə qədər razı qalacağını nəzərə alır.

Xəta №2: Mənasız alət adları və təsvirləri.
run, main, tool1 kimi adlar və «Calls the main function» kimi təsvirlər ideal fırtına yaradır: model onların nə vaxt çağırılacağını anlamır, in‑conversation discovery demək olar ki, işləmir və App-ınız “görünməz” olur. «Use this when the user wants…» üslubunda yaxşı təsvir və anlaşılan ad — düşündüyünüzdən də vacibdir.

Xəta №3: Bir App-a “hər şeyi” yığmaq istəyi.
Əgər App-ınız eyni anda “hədiyyə seçir, otel bron edir, vergiləri hesablayır və pişik şəkilləri çıxarırsa”, model sorğuları etibarlı şəkildə marşrutlaşdıra bilməyəcək. Rəsmi tövsiyələr və praktiki gənclər «one clear job per tool/App» prinsipini vurğulayır: bir mega‑monolitdənsə, bir neçə ixtisaslaşmış tətbiq daha yaxşıdır.

Xəta №4: Agressiv olaraq ağır UI-nin avtomatik açılması.
Tərtibatçı gözəl fullscreen vidceti ilə fəxr edir və onu “hər fürsətdə” göstərmək istəyir. Nəticədə istifadəçiyə elə gəlir ki, çat “sındı” və qəribə veb‑tətbiqə çevrildi. Çox daha yaxşıdır ki, GPT əvvəlcə mətnlə danışsın, dəqiqləşdirici suallar versin və yalnız sonra App-ı açmağı təklif etsin, niyə lazım olduğunu izah edərək.

Xəta №5: GPT-nin UX qatı rolunu görməzdən gəlmək.
App-ı adi SPA kimi dizayn etmək olar: hər şeyi vidcetdə edin, guya ChatGPT “susub mane olmasın”. Amma bu, işləməyəcək. ChatGPT vidcetinizi göstərməyə də bilər, yaxud hər yeni tool çağırışında yeni vidcet göstərə bilər. Uğurlu məhsul istəyirsinizsə — platformaya uyğunlaşın, ondan sizə uyğunlaşmağı gözləməyin.

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