Prompts in the Wild: A Large Analyzed Collection of Transactional Prompts in Code
Dit artikel introduceert een gestructureerde ontologie om een grote collectie van 57.500 unieke transactionele prompts van GitHub te analyseren, waarbij deze worden getransformeerd naar rijk gestructureerde linguïstische objecten om diverse gebruikspatronen over talen en domeinen heen te onthullen, terwijl de kwaliteit van de annotatie wordt gevalideerd door middel van een uitgebreide foutenanalyse.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Stel je voor dat je een superintelligente robot probeert te leren hoe hij een specifieke taak moet uitvoeren, zoals het schrijven van een gedicht of het oplossen van een bug in een computerprogramma. Je geeft de robot geen formele programmeercode; in plaats daarvan schrijf je een reeks instructies in gewone Engelse taal. Deze set instructies wordt een prompt genoemd. Denk aan een prompt als een receptenkaart voor een chef-kok. Als het recept vaag is ("maak iets lekkers"), kan de chef het mis begrijpen. Maar als het recept gedetailleerd is ("snipper twee uien, fruit ze vijf minuten, voeg zout toe"), weet de chef precies wat hij moet doen. Lange tijd hebben wetenschappers de "chef" (het AI-model) in grote detail bestudeerd om hem slimmer te maken. Ze hebben echter weinig aandacht besteed aan de "receptenkaarten" (de prompts) zelf, waarbij ze deze behandelden als slordige, informele aantekeningen in plaats van iets dat serieus de moeite waard is om te bestuderen. Dit artikel betoogt dat deze prompts eigenlijk een nieuw soort "taal" zijn die mensen gebruiken om AI te programmeren, en dat ze geanalyseerd moeten worden zoals elke andere taal of code.
De onderzoekers achter deze studie besloten de prompts te behandelen als een wetenschappelijk object. Ze gingen op zoek in de publieke code-repositories op GitHub, wat een soort gigantische bibliotheek is waar softwareontwikkelaars hun werk delen. Ze zochten naar een specifiek type prompt dat een transactionele prompt wordt genoemd. Om het verschil te begrijpen: stel je een informeel gesprek voor met een vriend waarbij je vraagt: "Wat is het weer?" en hij antwoordt. Dat is een "interactieve" prompt. Een transactionele prompt is anders; het is als een vooraf geschreven instructie die op een machine is geplakt en automatisch draait elke keer dat er op een knop wordt gedrukt. Het is ontworpen om herhaald te worden, robuust te zijn en deel uit te maken van een groter softwaresysteem. Het team verzamelde 57.500 van deze unieke, echte prompts om te zien hoe ze eruitzien, hoe ze gestructureerd zijn en wat mensen daadwerkelijk aan AI vragen.
Om orde te scheppen in deze enorme berg tekst, bouwden de auteurs een speciale "kaart" of ontologie. Stel je voor dat je een rommelige zolder probeert te organiseren met willekeurige voorwerpen. Zonder systeem is het gewoon chaos. De ontologie is als een set gelabelde dozen en tags waarmee ze de prompts in categorieën kunnen verdelen: In welke taal is het geschreven? Wat is de taak? Is er een specifieke format vereist? Geeft de prompt de AI aan wat het niet moet doen? Door deze ongestructureerde tekst om te zetten in deze rijke, gestructureerde datapunten, konden ze serieuze vragen gaan stellen.
Wat hebben ze gevonden? Ten eerste laat de data een enorme variëteit zien, maar het volgt een patroon dat bekend staat als een Zipf-achtige verdeling. Denk hierbij aan de populatie van een stad: een paar grote steden (zoals Engels) hebben miljoenen inwoners, terwijl duizenden kleine dorpjes (andere talen) er heel weinig hebben. In de wereld van prompts is Engels de gigantische stad, die ongeveer 84,66% van de prompts beslaat. Er zijn echter nog steeds 62 verschillende talen vertegenwoordigd, en zelfs in deze Engelse prompts noemen mensen voortdurend andere talen (zoals vragen om de AI te "vertalen naar het Spaans"), wat een verborgen laag van linguïstische diversiteit laat zien.
De studie onthulde ook dat deze prompts verrassend complex zijn. Het zijn niet alleen simpele zinnen. Gemiddeld bevat elke prompt ongeveer 6,85 afzonderlijke "instructieblokken". Deze blokken zijn als de stappen in een recept. De meest voorkomende stappen zijn zaken als "hier is de context", "maak het antwoord niet te lang" of "geef het resultaat als een JSON-bestand". Interessant genoeg bevat ongeveer 31% van de prompts "negatieve instructies" — het vertellen van de AI wat hij niet moet doen, zoals "hallucineer niet" of "gebruik geen extra tekst". Dit suggereert dat ontwikkelaars constant proberen de neiging van de AI om te veel te praten of dingen te verzinnen, in toom te houden.
De onderzoekers keken ook naar hoe mensen deze prompts structureren. Ze ontdekten dat de meest voorkomende opzet een tweeledig gesprek is: een "System"-bericht (dat de regels bepaalt, zoals "Je bent een behulpzame assistent") en een "User"-bericht (dat de specifieke taak geeft). Dit "System-User"-duo is de standaard geworden voor transactionele prompts en komt in 64% van de gevallen voor. Het lijkt erop dat ontwikkelaars de System-rol zien als een statische configuratielaag en de User-rol als de dynamische input, in plaats van de AI te gebruiken voor complexe, meerkeurige rollenspellen binnen een enkel script.
Wat betreft wat mensen daadwerkelijk doen: NLP-taken (Natural Language Processing, zoals het samenvatten van tekst of het beantwoorden van vragen) zijn het populairst, waarbij de top vier taken bijna de helft van alle data beslaan. Echter, de "long tail" van de data laat zien dat mensen AI gebruiken voor allerlei vreemde en wonderlijke dingen, van spelstrategie tot beleidsgeneratie. De data suggereert ook dat de meeste van deze prompts "gegrond" zijn, wat betekent dat ze vertrouwen op specifieke context die in de prompt wordt verstrekt (zoals een document of een stuk code) in plaats van alleen op het interne geheugen van de AI. Ongeveer 89,25% van de gevallen maakt gebruik van deze vorm van gronding.
De auteurs merken er voorzichtig bij op dat hun bevindingen afkomstig zijn van een specifiek deel van het internet (publieke GitHub-projecten die specifieke Python-bibliotheken gebruiken), dus het vertegenwoordigt misschien niet elke prompt die bestaat. Ze gebruikten ook AI om de data te labelen en te analyseren, wat betekent dat er fouten kunnen zijn, hoewel ze de kwaliteit controleerden en vonden dat de nauwkeurigheid voor de meeste categorieën vrij hoog was (vaak boven de 90%).
Uiteindelijk geeft dit artikel ons niet alleen een lijst met prompts; het geeft ons een toolkit. De auteurs hebben de dataset en een speciale website uitgebracht waar iedereen de prompts kan bekijken, doorzoeken en verkennen op basis van hun kenmerken. Ze hopen dat dit wetenschappers, ingenieurs en taalkundigen zal helpen begrijpen hoe mensen echt met AI communiceren. Door prompts te behanden als wetenschappelijke objecten van de eerste klasse, kunnen we beginnen met het herkennen van de patronen, de "onuitgesproken normen" en de creatieve manieren waarop mensen het gedrag van deze krachtige machines vormgeven. Het is een stap naar het begrijpen van de nieuwe taal die we uitvinden om met onze digitale partners te praten.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.