1. Utangulizi na Muhtasari
Makala hii inashughulikia kikwazo muhimu katika ukuzaji wa wasaidizi wa kivitendo maalum kwa uhandisi wa programu: ukosefu wa seti za data za mazungumzo za hali ya juu, zenye lengo maalum. Ingawa wasaidizi wa jumla (k.m., Siri, Alexa) wanafanikiwa kwa data kubwa na mbalimbali, nyanja maalum kama programu za API zinakumbwa na ukosefu wa data. Waandishi walifanya jaribio la Wizard of Oz (WoZ), wakiiga msaidizi wa kivitendo wa msaada wa API unaoendeshwa na wataalamu wa kibinadamu waliofichika, ili kukusanya na kuweka alama kwenye mkusanyiko wa mwingiliano wa programu-misaidizi. Mchango mkuu sio seti ya data tu, bali ni mfumo uliopangwa wa uwekaji alama ulioundwa kufafanua mikakati changamano ya mazungumzo inayotumiwa na watengenezaji programu wanapotafuta ujuzi wa API.
2. Mbinu na Ubunifu wa Jaribio
Utafiti huu ulitumia mfano wa WoZ uliodhibitiwa ili kuvuta mazungumzo ya asili bila vikwazo vya AI ya mfano dhaifu.
2.1. Itifaki ya Wizard of Oz
Watengenezaji programu 30 wa kitaaluma walikodiwa kukamilisha kazi za programu kwa kutumia API mbili zisizobainishwa. Waliingiliana na kile walichodhani kuwa msaidizi wa kivitendo wa AI. Bila kujua, "msaidizi" huyo alikuwa mtaalamu wa kibinadamu ("Wizard") anayejibu kwa wakati halisi kupitia kiolesura cha gumzo. Njia hii inapita tatizo la kuanza baridi la AI, na kuwezesha kukusanywa kwa mazungumzo tajiri yenye lengo ambayo yanaonyesha mahitaji halisi ya mtumiaji na mifumo ya mazungumzo.
2.2. Uchaguzi wa Washiriki na Kazi
Washiriki walikuwa watengenezaji programu walio na uzoefu. Kazi ziliundwa kuwa za kiwango cha juu, zinazohitaji uchunguzi wa kina wa API na utatuzi wa matatizo, na kuhakikisha mazungumzo yalikuwa na aina mbalimbali za maswali na mahitaji ya habari zaidi ya kutafuta tu muundo rahisi.
3. Mfumo wa Uwekaji Alama wa Data
Mkusanyiko wa mazungumzo ghafi uliwekewa alama kwenye vipimo vinne muhimu, na kuunda mtazamo wa pande nyingi kwa kila usemi.
3.1. Vipimo vya Kitendo cha Mazungumzo
- Dhamira ya Kiutendaji: Lengo la kimatumizi (k.m., ombi, taarifa, thibitisha).
- Aina ya Habari ya API: Kategoria ya ujuzi wa API inayotafutwa (k.m., dhana, kazi, kigezo, mfano).
- Kazi Inayotazamia Nyuma: Jinsi usemi unavyohusiana na mazungumzo ya awali (k.m., jibu, ufafanuzi, marekebisho).
- Ufuatiliaji wa Vipengele vya API: Kuweka ramani mazungumzo kwenye vipengele maalum na halisi katika nyaraka za API.
3.2. Mpango wa Uwekaji Alama
Mpango huu wa pande nyingi unapita zaidi ya uainishaji rahisi wa dhamira. Unashika utata wa kimuundo na kurejelea wa mazungumzo ya kiufundi, na kutoa mpango wa kujifunza kwa mifano ambayo inaelewa sio tu kile kinachoombwa, bali muktadha na mfumo wa ontolojia wa swali.
4. Matokeo Muhimu na Ufahamu wa Takwimu
Kiwango cha Washiriki
30
Watengenezaji Programu Waalimu
API Zilizotumiwa
2
API Tofauti za Kazi
Vipimo vya Uwekaji Alama
4
Tabaka za Kitendo cha Mazungumzo
Utafiti huu ulitoa mkusanyiko unaoonyesha anuwai ya mwingiliano. Uchambuzi wa awali ulifunua kuwa maswali ya watengenezaji programu mara nyingi yalihusisha aina changamano za habari na yalihitaji majibu ya zamu nyingi, yenye misingi ya muktadha. Kipimo cha ufuatiliaji kilithibitika kuwa muhimu, kikasisitiza hitaji la wasaidizi wa AI wa baadaye kuunganishwa kwa kina na kufikiri kuhusu nyaraka zilizopangwa za API, sawa na jinsi mifumo ya uzalishaji ulioimarishwa kwa utaftaji (RAG) inavyoweka majibu katika msingi wa ujuzi wa nje.
5. Uchambuzi wa Kiufundi na Mfumo wa Kihisabati
Mchakato wa uwekaji alama unaweza kuwekwa rasmi. Acha mazungumzo $D$ yawe mlolongo wa usemi $\{u_1, u_2, ..., u_n\}$. Kila usemi $u_i$ unawekewa alama kama vekta: $$\mathbf{a}_i = [I_i, T_i, B_i, R_i]$$ ambapo:
- $I_i$ ∈ $\mathcal{I}$: Dhamira ya kiutendaji (seti finiti ya lebo).
- $T_i$ ∈ $\mathcal{P}(\mathcal{T})$: Seti ya Aina za Habari za API (seti ya nguvu za lebo za aina).
- $B_i$ ∈ $\mathcal{B}$: Lebo ya kazi inayotazamia nyuma.
- $R_i$ ⊆ $\mathcal{C}$: Seti ya vipengele vya API vinavyoweza kufuatiliwa kutoka kwenye seti inayojulikana $\mathcal{C}$.
6. Mfumo wa Uchambuzi: Mfano wa Utafiti wa Kesi
Hali: Mtengenezaji programu anajaribu kuthibitisha utambulisho wa mtumiaji kwa kutumia `OAuth2Library` lakini anakumbana na hitilafu kuhusu `scope` batili.
Kipande cha Mazungumzo na Uwekaji Alama:
- Mtengenezaji Programu: "Wito wa `authenticate_user` unashindwa kwa 'scope batili'. Ni mipaka gani halali?"
- Dhamira: Ombi.
- Aina ya Habari: Kigezo/Kizuizi, Maana ya Hitilafu.
- Kazi ya Nyuma: Swali Jipya (lilisababishwa na hitilafu).
- Ufuatiliaji: `OAuth2Library.authenticate_user`, kigezo `scope`.
- Wizard/Msaidizi: "Mipaka halali ni 'read', 'write', na 'admin'. Hitilafu inamaanisha mfuatano uliopita sio mojawapo ya hizi. Uliweka `OAuth2Config` object?"
- Dhamira: Taarifa, Pendekeza.
- Aina ya Habari: Thamani ya Orodha, Mwongozo wa Dhana.
- Kazi ya Nyuma: Jibu, Ufafanuzi.
- Ufuatiliaji: nyaraka za kigezo `scope`, darasa la `OAuth2Config`.
Mfano huu unaonyesha mantiki ya kuruka nyingi inayohitajika: kutoka kwa ujumbe wa hitilafu, hadi thamani halali za kigezo, hadi kitu cha usanidi kinachohusiana. Mfano rahisi wa QA ungekosa; mfano uliofunzwa kwenye mkusanyiko huu uliowekewa alama unajifunza uhusiano huu.
7. Matumizi ya Baadaye na Mwelekeo wa Utafiti
- Vijalizo Maalum vya IDE: Seti ya data inachochea moja kwa moja ukamilishaji wa msimbo unaoendeshwa na AI na mifumo ya Q&A ndani ya IDE ambayo inaelewa muktadha maalum wa mradi, sawa na mageuzi ya GitHub Copilot kutoka Codex lakini kwa msingi wa kina wa API.
- Uboreshaji wa Otomatiki wa Nyaraka: Mifumo ya mazungumzo inaweza kutambua mapungufu au utata katika nyaraka za API. Kwa mfano, maswali ya mara kwa mara kuhusu kigezo `X` yanaonyesha nyaraka duni za `X`.
- Ujumuishaji wa Vipengele vya API: Je, mikakati ya mazungumzo iliyojifunza kwa API moja (k.m., Java Streams) inaweza kuhamishiwa hadi nyingine (k.m., Python Pandas)? Hii inahitaji kujifunza sera za mazungumzo za kiwango cha juu, zisizotegemea nyanja.
- Ujumuishaji na LLM & RAG: Mkusanyiko huu uliowekewa alama ni kiwango bora cha mafunzo na tathmini kwa mifumo ya Uzalishaji Ulioimarishwa kwa Utaftaji katika nyanja ya programu, na kujaribu uwezo wao wa kurejesha vipengele sahihi vya API na kutoa majibu yenye msingi na ya kusaidia.
- Usaidizi wa Kukabiliana: Zaidi ya Q&A ya kukabiliana, wasaidizi wa baadaye wanaweza kuchambua muktadha wa msimbo na kutoa mapendekezo muhimu ya API, mwelekeo unaoonyeshwa na zana kama Amazon CodeWhisperer.
8. Marejeo
- McTear, M., Callejas, Z., & Griol, D. (2016). The Conversational Interface: Talking to Smart Devices. Springer.
- Serban, I. V., et al. (2015). A survey of available corpora for building data-driven dialogue systems. arXiv preprint arXiv:1512.05742.
- Rieser, V., & Lemon, O. (2011). Reinforcement Learning for Adaptive Dialogue Systems: A Data-driven Methodology for Dialogue Management and Natural Language Generation. Springer.
- Chen, M., et al. (2021). Evaluating Large Language Models Trained on Code. arXiv preprint arXiv:2107.03374. (Codex/Copilot)
- Lewis, P., et al. (2020). Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. NeurIPS.
- OpenAI. (2023). GPT-4 Technical Report. arXiv preprint arXiv:2303.08774.
- Allamanis, M., et al. (2018). A survey of machine learning for big code and naturalness. ACM Computing Surveys.
9. Uchambuzi wa Asili wa Mtaalamu
Ufahamu Mkuu: Makala hii ni shambulio la upasuaji kwenye tatizo la msingi la miundombinu ya AI-kwa-SE: data. Waandishi wanatambua kwa usahihi kwamba maendeleo ya kuvutia katika mifano ya lugha kubwa (LLM) kama GPT-4 au Codex, kwa nyanja maalum, yamezuiliwa na ukosefu wa data ya hali ya juu, iliyopangwa, ya mazungumzo yenye lengo maalum. Kazi yao sio kuhusu "hila" ya "Wizard" bali zaidi kuhusu mfumo wa uwekaji alama—juhudi ya kimakusudi na ya kitaaluma ya kujenga "Jiwe la Rosetta" la kutafsiri maswali yasiyo na mpangilio ya watengenezaji programu kuwa lugha iliyopangwa ambayo mashine zinaweza kujifunza kutoka kwake. Hii ndio msingi muhimu, usio na mvuto, unaotangulia programu yoyote thabiti ya AI, ukidhibitisha falsafa ya AI inayozingatia data inayotangazwa na Andrew Ng.
Mtiririko wa Kimantiki na Mchango: Mantiki ni kamili: 1) Tatizo: Hakuna data ya hali ya juu ya mazungumzo ya SE. 2) Mbinu: Tumia WoZ kuiga AI bora, ukikusanya data ya asili. 3) Uchambuzi: Weka mpango mkali wa pande nyingi ili kufanya data iweze kusomeka na mashine. 4) Matokeo: Seti ya data ya msingi na mpango wa kufundisha mifano ya baadaye. Mchango mkuu sio mazungumzo 30; ni uthibitisho kwamba mazungumzo kama hayo yanaweza kukamatwa na kuwekwa katika mfumo kwa utaratibu. Inatoa mpango wa mbinu wa kuunda seti sawa za data kwa kazi nyingine za SE (urekebishaji hitilafu, ubunifu, uhamisho), sawa na jinsi ImageNet ilivyotoa kiolezo cha seti za data za kuona.
Nguvu na Mapungufu: Nguvu iko katika ukali wa mbinu na utabiri wake. Mpango wa uwekaji alama wa pande nne una makini, ukishughulikia tabaka za kimatumizi (dhamira) na za kisemantiki (ufuatiliaji wa API). Hata hivyo, kiwango ni kikwazo wazi. Watengenezaji programu 30 na API 2 ni utafiti wa majaribio. Jaribio halisi ni uwezo wa kuongezeka na utofauti: je, mpango huo unashikilia kwa watengenezaji programu 300 katika API 20 mbalimbali (k.m., API za chini za mfumo dhidi ya mifumo ya juu ya wavuti)? Zaidi ya hayo, ingawa njia ya WoZ inavuta maswali ya asili, majibu ya "Wizard", ingawa ya kitaaluma, ni sehemu moja ya upendeleo unaowezekana—jibu "bora" huenda si la pekee au bora zaidi. Utafiti pia unapita changamoto kubwa ya uhandisi ya kuunganisha ujuzi huu uliopangwa katika msaidizi unaoendeshwa kwa wakati halisi na unaoweza kuongezeka, changamoto iliyokuzwa katika utekelezaji wa mifumo kama Microsoft's IntelliCode.
Ufahamu Unaoweza Kutekelezwa: Kwa watafiti: Rudia na ongeza kiwango cha mbinu hii mara moja. Nyanja inahitaji "SE-DialogueNet." Kwa waundaji wa zana: Tumia mpango huu wa uwekaji alama kurekebisha au kuunda kwa urahisi LLM zilizopo. Badala ya maswali ya jumla, panga pembejeo kama `[Dhamira: Ombi; Aina_ya_Habari: Kigezo; Ufuatiliaji_kwa: lib.foo.bar]`. Kwa watengenezaji wa API: Utafiti huu ni mzunguko wa maoni moja kwa moja kwenye mkakati wako wa nyaraka. Kipimo cha "ufuatiliaji" kinaweka ramani moja kwa moja mapungufu ya nyaraka. Mwishowe, kazi hii inasema kwa uthabiti kwamba mafanikio yanayofuata katika zana za ukuzaji zinazoendeshwa na AI hayatakuja kutoka kwa LLM kubwa zaidi ya jumla, bali kutoka kwa mfano uliorekebishwa kwa ustadi kwenye mkusanyiko wa hali ya juu, uliopangwa kama ule ambao makala hii inaongoza. Mbio sasa zimeanza kuijenga.