Končno sem razvozlal kodo AI pozivov po letih poskusov in napak

Mojstrstvo v AI Prompt Engineering - Popoln vodnik za pisanje učinkovitih pozivov
Nevidna umetnost, ki loči AI začetnike od mojstrov
Temeljna Resnica

AI ne bere vaših misli. Bere vaše besede. Vrzel med tem, kar želite, in tem, kar dobite, je skoraj vedno komunikacijski problem, ne omejitev AI.

Naj vam povem o trenutku, ko se je vse spremenilo. Strmel sem v zaslon, neverjetno razočaran, in opazoval, kako AI generira še en odgovor, ki je bil tehnično pravilen, a je popolnoma zgrešil bistvo. Prosil sem za pomoč pri refaktoriranju zapletenega kosa kode, kar sem storil že stokrat prej. Toda tokrat, ne glede na to, kako sem oblikoval svojo zahtevo, je AI nenehno dodajal nepotrebno kompleksnost, razbijal obstoječe vzorce in "izboljševal" stvari, ki niso bile pokvarjene. To razočaranje me je popeljalo v zajčjo luknjo, ki je pogoltnila naslednji dve leti mojega življenja – in popolnoma preobrazila način, kako delam z umetno inteligenco.

Prebujenje - Ko vse, kar sem poznal, ni več delovalo

Spomnim se točnega trenutka, ko sem ugotovil, da nimam pojma, kaj počnem. Bilo je pozno ponoči, rok se je bližal in potreboval sem AI, da mi pomaga pri nečem, kar bi morala biti preprosta naloga. Napisal sem svoj poziv, pritisnil enter in opazoval, kako AI proizvaja nekaj, zaradi česar sem želel vreči prenosnik skozi okno.

Stvar je v tem, da sem mislil, da razumem AI. Uporabljal sem ChatGPT od prvih dni. Bral sem članke o inženirstvu pozivov. Vedel sem za "igranje vlog" in "biti specifičen". Toda bil sem tam in dobival odgovore, ki so se zdeli kot pogovor z nekom, ki je slišal vsako besedo, ki sem jo rekel, a ni razumel ničesar od tega, kar sem dejansko potreboval.

To razočaranje je postalo moj učitelj. Potopil sem se v uradno dokumentacijo, raziskovalne članke, razprave na forumih in tisoče ur eksperimentiranja. Kar sem odkril, niso bili le nasveti in triki – bil je popoln premik paradigme v tem, kako komunicirati s stroji, ki razmišljajo v vzorcih, verjetnostih in žetonih (tokens).

💡

Najmočnejša AI na svetu je neuporabna, če ne morete sporočiti, kaj dejansko potrebujete. Pisanje pozivov ni iskanje čarobnih besed – gre za razumevanje, kako AI obdeluje jezik, in ustrezno strukturiranje vaše komunikacije.

Tukaj je resnica, ki je začetnikom nihče ne pove: razlika med ljudmi, ki od AI dobijo neverjetne rezultate, in tistimi, ki jih ne, ni inteligenca ali tehnična spretnost. Je komunikacija. In komunikacija z AI sledi pravilom, ki so podobna – a kritično drugačna od – komunikacije z ljudmi.

Ta vodnik vsebuje vse, kar sem se naučil na tej poti. Ne poenostavljenih nasvetov, kot je "bodite le specifični", ki preplavljajo internet, ampak globoko, niansirano razumevanje, ki bo spremenilo način, kako delate z AI. Ne glede na to, ali pišete svoj prvi poziv ali gradite produkcijske AI sisteme, to, kar sledi, bo za vedno spremenilo vaš odnos do umetne inteligence.

Temelj, ki ga nihče ne uči - Anatomija jedra poziva

Preden se poglobimo v napredne tehnike, naj delim okvir, ki je zame vse spremenil. Vsak učinkovit poziv, ki ga zdaj napišem, vsebuje neko kombinacijo teh petih elementov:

1
Kontekst (Context)

Kaj mora AI vedeti o vaši situaciji? Informacije o ozadju, omejitve, pomembne podrobnosti in okolje, v katerem delate.

2
Naloga (Task)

Kaj točno želite, da AI naredi? Bodite specifični glede dejanja, ki ga zahtevate – ne le tema, ampak dejansko delo.

3
Format (Format)

Kako naj bo izhod strukturiran? Seznami, odstavki, bloki kode, tabele, JSON – določite to eksplicitno.

4
Omejitve (Constraints)

Čemu naj se AI izogne? Kakšne meje obstajajo? Kaj je izrecno izven obsega?

5
Primeri (Examples)

Lahko pokažete, kaj želite? Primeri so vredni tisoč opisov – raje demonstrirajte, kot razlagajte.

Večina ljudi vključi le nalogo. Prosijo "Napiši mi e-pošto", ko bi morali reči "Napiši profesionalno e-pošto stranki, ki pojasnjuje zamudo projekta. Naj bo pod 150 besedami, priznaj nevšečnost in predlagaj nov časovni okvir čez dva tedna. Ton naj bo opravičujoč, a samozavesten."

Razlika v kakovosti izhoda je dramatična. In to je šele začetek.

Moč Strukture

Eden najbolj podcenjenih vidikov pisanja pozivov je strukturno oblikovanje. Sodobni modeli AI se izjemno dobro odzivajo na jasno razmejene odseke. Obsežno uporabljam oznake v slogu XML, ker ustvarjajo nedvoumne meje:

Predloga Strukturiranega Poziva
<context>
Pomagaš mi pripraviti predstavitev za tehnične deležnike.
Občinstvo je seznanjeno z razvojem programske opreme, vendar ne specifično z AI.
</context>

<task>
Pojasni, kako delujejo veliki jezikovni modeli v 5 ključnih točkah.
</task>

<format>
- Uporabi alineje
- Vsaka točka naj ima 1-2 stavka
- Izogibaj se žargonu ali ga definiraj, ko je uporabljen
</format>

<constraints>
- Ne omenjaj določenih imen modelov
- Osredotoči se na koncepte, ne na tehnično izvedbo
- Ohrani skupno dolžino pod 200 besedami
</constraints>

Ta struktura naredi nekaj močnega: prisili vas, da jasno razmišljate o tem, kaj potrebujete, preden vprašate. Jasno razmišljanje proizvaja jasno komunikacijo in jasna komunikacija proizvaja jasne rezultate. Oznake XML niso čarovnija – so oder za vaše lastne misli.

🎯

Struktura ne pomeni daljših pozivov – gre za to, da so vaši nameni nedvoumni. Dobro strukturiran kratek poziv bo vsakič premagal razvlečenega dolgega.

Šest miselnosti, ki so spremenile vse

Po letih eksperimentiranja sem svoj pristop destiliral v šest temeljnih "miselnosti" – ne togih predlog, ampak prožnih miselnih vzorcev, ki odklenejo zmogljivosti AI, ki jih večina ljudi nikoli ne odkrije. Ne gre za iskanje popolnih besed; gre za pristop k interakciji z AI s pravim mentalnim modelom.

Miselnost 1: Naj AI izbere strokovnjaka

Vsi vemo, da dodelitev vloge AI pomaga. "Deluj kot marketinški strokovnjak" ustvari boljše marketinške nasvete kot splošno vprašanje. Toda tukaj je tisto, kar večina ljudi spregleda: ko ne veste, kateri strokovnjak bi bil najboljši za vaše vprašanje, lahko prosite AI, da izbere.

To sem odkril pri načrtovanju korporativnega dogodka. Nisem imel pojma, ali potrebujem marketinški vidik, operativni vidik ali nekaj povsem drugega. Zato sem namesto ugibanja prosil AI, naj najprej izbere najprimernejšega strokovnjaka.

Poziv za Izbiro Strokovnjaka
Želim raziskati [PODROČJE] in posebej [TEŽAVA/SCENARIJ].
Še ne odgovori.

Najprej izberi najprimernejšega domenskega strokovnjaka, ki bi razmišljal o tej težavi.
Lahko so živeče ali zgodovinske, slavne ali relativno neznane osebnosti, 
vendar morajo biti resnično odlične na tem določenem področju.
Če nisi prepričan, mi postavi 2 pozicionirna vprašanja pred izbiro.

Izhod:
1. Koga si izbral in njegova specifična domena
2. Zakaj si ga izbral (trije stavki)

Nato me prosi, da opišem svoje podrobno vprašanje.

Ko sem to uporabil za načrtovanje dogodka, je AI izbral Priyo Parker – strokovnjakinjo za oblikovanje dogodkov, za katero še nikoli nisem slišal, a se je izkazala za popolno. Odgovori, ki sem jih dobil, niso bili splošni "upoštevajte teh pet dejavnikov" – bila so prefinjena, specifična navodila, ki so se zdela kot pogovor z nekom, ki je to storil stokrat.

Miselnost 2: Naj AI vpraša prvi

To je tehnika, ki jo uporabljam bolj kot katero koli drugo. Imenujem jo "Sokratsko pozivanje" – namesto da bi poskušal predvideti vse, kar mora AI vedeti, mu dovolim, da mi postavlja vprašanja, dokler nima dovolj konteksta za zagotovitev resnično koristnega odgovora.

Pomislite na to: ko prosite modrega prijatelja za nasvet, ne začne takoj bruhati odgovorov. Postavlja pojasnjevalna vprašanja. Sondira kontekst. Prepriča se, da razume, preden svetuje. AI lahko stori enako – vendar le, če ga prosite.

Predloga Sokratskega Pozivanja
[TVOJE VPRAŠANJE ALI POTREBA]

Preden odgovoriš, mi prosim najprej postavi vprašanja.

Zahteve:
- Postavljaj eno vprašanje naenkrat
- Na podlagi mojih odgovorov nadaljuj s sondiranjem
- Nadaljuj, dokler nimaš 95% zaupanja, da razumeš 
  moje resnične potrebe in cilje
- Šele takrat mi daj svoj odgovor ali rešitev

Prag 95% zagotavlja kakovost, hkrati pa preprečuje neskončne zanke.

To sem uporabil pri odločanju, ali najeti našega prvega kadrovika. Namesto da bi dobil splošen odgovor "za in proti najemanju kadrovika", je AI spraševal o naši trenutni velikosti ekipe, hitrosti zaposlovanja, zahtevah glede skladnosti, proračunskih omejitvah in kulturnih ciljih. Po odgovarjanju na približno petnajst ciljnih vprašanj sem dobil nasvet, ki je bil specifičen za mojo resnično situacijo – ne učbeniškega odgovora, ki je nekako veljal.

🔑

"Prag zanesljivosti 95%" je bistvena podrobnost. Je dovolj visok, da zagotovi kakovost, vendar dovolj realističen, da se AI ne zatakne za vedno. Ta ena fraza spremeni način, kako AI pristopi k pogovoru.

Miselnost 3: Debatirajte z AI

AI ima težavo, ki se je večina ljudi ne zaveda: je preveč ustrežljiv. Pogosto vam bo povedal tisto, kar želite slišati, namesto da bi izzval vaše predpostavke. To "prilizovanje" je lahko nevarno, ko poskušate validirati ideje ali se pripraviti na kritiko.

Rešitev je, da AI izrecno postavite v vlogo nasprotnika, ki želi ovreči vaše stališče. To sem odkril pri pripravi na konferenčni govor. Imel sem tezo, ki sem jo želel predstaviti, a sem se bal slepih peg.

Predloga Debatnega Pozivanja
Pripravljam se na debato. Veliko ljudi bo izpodbijalo moje stališče.

Moje stališče: [TVOJA TEZA/IDEJA]

Potrebujem, da je ta ideja neprebojna.

Če bi bil učenjak, odločen dokazati, da se motim, z uporabo vsakega 
razpoložljivega argumenta, podrobnosti in logičnega orodja, kako bi napadel 
moje stališče?

Tvoj edini cilj: dokazati, da se motim.
Ne bodi nežen. Ne oklevaj. Napadi.

Kar se je zgodilo potem, je spremenilo moj pogled na AI. Šla sva naprej in nazaj tri ure. AI je našel šibke točke v mojem argumentu, ki jih nisem upošteval, izpostavil protiprimere, ki jih nisem mogel zavrniti, in me prisilil, da sem izpopolnil svoje stališče, dokler ni zdržalo pravega preverjanja. Na koncu sem imel veliko močnejšo tezo – in kar je še pomembneje, predvidel sem vsak glavni ugovor, s katerim bi se soočil.

Miselnost 4: Pre-Mortem Vaših Načrtov

Ljudje smo pri načrtovanju nagnjeni k optimizmu. AI, ki sledi našemu zgledu, je prav tako nagnjen k optimizmu. To ustvarja načrte, ki so videti odlično na papirju, a razpadejo, ko nastopi realnost.

Tehnika pre-mortem obrne to dinamiko. Namesto vprašanja "Kako naj to naredim?", vprašate "Predstavljaj si, da je to spektakularno propadlo – zakaj?"

Predloga Poziva Pre-Mortem
[TVOJ PROJEKT/NAČRT]

Predpostavimo, da je ta projekt katastrofalno propadel.

Napiši post-mortem analizo, ki odgovarja na:
1. Na kateri točki so se prvič pojavili znaki propada?
2. Kaj je bila najbolj usodna napaka pri odločanju?
3. Katero ključno tveganje je bilo spregledano?
4. Če bi se lahko vrnil nazaj, kaj je prva stvar, ki bi jo spremenil?

Svojo analizo temelji na podobnih neuspehih projektov v resničnem svetu.
Napiši to kot pravo retrospektivo neuspeha, ne kot teoretično vajo.

To sem uporabil pri načrtovanju velike konference. Pre-mortem AI je identificiral tveganja, ki sem jih popolnoma zgrešil: upravljanje vrst, zmogljivost stranišč, časovni razpored cateringa, varnostna ozka grla. To niso bili eksotični robni primeri – bile so predvidljive težave, na katere preprosto nisem pomislil, ker sem se osredotočal na vznemirljive dele dogodka. Pre-mortem nas je verjetno rešil pred nekaj neprijetnimi neuspehi.

Miselnost 5: Povratni Inženiring Uspeha

Včasih vidite nekaj odličnega – kos pisanja, dizajn, pristop – in želite replicirati njegovo bistvo, ne da bi ga neposredno kopirali. Povratno pozivanje vam omogoča, da izvlečete osnovna načela.

Poziv Povratnega Inženiringa
To je primer rezultata, ki ga želim:

[PRILEPI PRIMER]

Prosim, izvedi povratni inženiring poziva, ki bi zanesljivo generiral 
vsebino z enakim slogom, strukturo in kakovostjo.

Pojasni, kaj vsak del poziva počne in zakaj je pomemben.

Ne gre za kopiranje – gre za učenje. Ko vidim pisanje, ki odmeva z mano, uporabim to tehniko, da razumem, zakaj deluje. Kateri strukturni elementi ustvarjajo ritem? Katere tonske izbire ustvarjajo občutek? Ko razumem načela, jih lahko uporabim na svoji lastni izvirni vsebini.

Miselnost 6: Metoda Dvojne Razlage

Pri učenju nečesa novega večina ljudi dobi bodisi preveč poenostavljene razlage, ki dejansko nič ne naučijo, ali razlage na ravni strokovnjakov, ki jim ne morejo slediti. Rešitev je, da zahtevate oboje hkrati.

Predloga Dvojne Razlage
Prosim, pojasni [KONCEPT].

Zagotovi dve različici:

1. Različica za začetnike: Predstavljaj si, da to razlagaš nekomu brez 
   ozadja na tem področju. Uporabi vsakdanje analogije in se izogni 
   vsemu žargonu. Naredi to iskreno razumljivo.

2. Različica za strokovnjake: Predpostavi, da je bralec strokovnjak na 
   sorodnem področju. Bodi tehnično natančen. Ne poenostavljaj 
   in ne redči kompleksnosti.

To uporabljam ves čas pri branju tehničnih dokumentov. Različica za začetnike mi daje intuicijo za koncept, različica za strokovnjake pa natančne podrobnosti. S primerjavo obeh vidim natančno, kje so poenostavitve in katereianse sem morda zgrešil. To je kot imeti dva učitelja s komplementarnima pristopoma.

Agentsko razmišljanje - Ravnanje z AI kot s sodelavcem

Tu je premik paradigme, ki je preobrazil moje interakcije z AI: nehajte ravnati z AI kot z iskalnikom in začnite ravnati z njim kot s sposobnim, a neizkušenim sodelavcem. Ta miselni model spremeni vse o tem, kako komunicirate.

Sodobni modeli AI ne odgovarjajo le na vprašanja – zasnovani so tako, da so agenti. Lahko kličejo orodja, zbirajo kontekst, sprejemajo odločitve in izvajajo večstopenjske naloge. Toda kot vsak nov član ekipe potrebujejo ustrezno uvajanje, jasna pričakovanja in ustrezne varovalne ograje.

🤖

AI ni orodje, ki ga uporabljate – je sodelavec, ki ga upravljate. Veščine, ki vas naredijo dobrega menedžerja, vas naredijo dobrega pisca pozivov. Delegiranje, jasna komunikacija, ustrezna avtonomija, določene meje.

Pomislite na to: ko delegirate človeku, ne rečete le "popravi kodo". Pojasnite, kaj je pokvarjeno, kakšno je želeno vedenje, kakšne omejitve obstajajo in kako izgleda uspeh. Zagotovite kontekst. Odgovorite na vprašanja. Preverite napredek. AI potrebuje enako obravnavo – le da morate predvideti vprašanja in nanje odgovoriti vnaprej.

Agentski okvir

Pri gradnji agentskih aplikacij ali uporabi AI za zapletene naloge razmišljam skozi te dimenzije:

Ključna Vprašanja za Agentske Naloge

  • Kakšno je ciljno stanje? Kako bo AI vedel, kdaj je končal? Kako izgleda uspeh?
  • Katera orodja ima? Kaj lahko realno stori v primerjavi s tem, kar mora prepustiti vam?
  • Kakšna je raven avtonomije? Naj prosi za dovoljenje ali nadaljuje neodvisno?
  • Kakšne so varnostne meje? Katerih dejanj ne sme nikoli sprejeti brez potrditve?
  • Kako naj komunicira napredek? Tiha izvedba ali redne posodobitve?

Ta vprašanja tvorijo osnovo vsakega zapletenega poziva, ki ga napišem. Naj vam pokažem, kako jih uporabiti.

Številčnica vneme - Kalibracija AI iniciative

Eden najbolj niansiranih vidikov inženirstva pozivov je kalibracija tega, kar imenujem "agentska vnema" – ravnovesje med AI, ki prevzame pobudo, in tistim, ki čaka na izrecna navodila. Naredite to narobe in imeli boste AI, ki preveč razmišlja o preprostih nalogah, ali takšnega, ki se pri zapletenih prehitro preda.

Zmanjšanje vneme za hitrost

Včasih potrebujete, da je AI hiter in osredotočen. Ne želite, da raziskuje vsako tangento, izvaja dodatne klice orodij ali proizvaja dolgovezne razlage. Za te situacije uporabljam pozive, osredotočene na omejitve:

Konfiguracija Nizke Vneme
<context_gathering>
Cilj: Hitro pridobi dovolj konteksta. Paraleliziraj odkrivanje in ustavi, takoj ko 
lahko ukrepaš.

Metoda:
- Začni široko, nato se razširi na ciljne podpoizvedbe
- Zaženi različne poizvedbe vzporedno; preberi top rezultate na poizvedbo
- Dedupliciraj poti in shrani v predpomnilnik; ne ponavljaj poizvedb
- Izogibaj se prekomernemu iskanju konteksta

Kriteriji zgodnje ustavitve:
- Lahko poimenuješ natančno vsebino za spremembo
- Top rezultati konvergirajo (~70%) v enem območju/poti

Globina:
- Sledi le simbolom, ki jih boš urejal ali na katerih pogodbe se zanašaš
- Izogibaj se tranzitivni širitvi, razen če je nujno

Zanka:
- Paketno iskanje → minimalni načrt → dokončaj nalogo
- Išči znova le, če validacija ne uspe ali se pojavijo nove neznanke
- Daj prednost ukrepanju pred nadaljnjim iskanjem
</context_gathering>

Opazite izrecno dovoljenje, da je nepopoln: "Daj prednost ukrepanju pred nadaljnjim iskanjem." Ta subtilna fraza osvobodi AI njegove privzete tesnobe glede temeljitosti. Brez nje model pogosto preveč raziskuje, kurijoč žetone in čas za padajoče donose.

Za še bolj agresivne omejitve hitrosti:

Konfiguracija Maksimalne Hitrosti
<context_gathering>
- Globina iskanja: zelo nizka
- Močno se nagibaj k zagotavljanju pravilnega odgovora čim hitreje, 
  tudi če morda ni popolnoma pravilen
- Običajno to pomeni absolutni maksimum 2 klicev orodij
- Če misliš, da potrebuješ več časa za preiskavo, me posodobi 
  s svojimi najnovejšimi ugotovitvami in odprtimi vprašanji
</context_gathering>

Fraza "tudi če morda ni popolnoma pravilen" je zlato. AI-ju daje dovoljenje, da je nepopoln, kar paradoksalno pogosto hitreje proizvede boljše rezultate, saj ustavi zanko perfekcionizma.

Povečanje vneme za zapletene naloge

V drugih primerih potrebujete, da je AI neusmiljeno temeljit. Želite, da se prebije skozi dvoumnost, naredi razumne predpostavke in dokonča zapletene naloge brez nenehnega spraševanja za dovoljenje. To zahteva nasproten pristop:

Konfiguracija Visoke Vneme
<persistence>
- Si agent — nadaljuj, dokler uporabniška poizvedba ni 
  popolnoma rešena pred koncem svojega obrata
- Končaj le, ko si prepričan, da je problem rešen
- Nikoli se ne ustavi in ne predaj nazaj, ko naletiš na negotovost — 
  razišči ali izpelji najbolj razumen pristop in nadaljuj
- Ne prosi za potrditev ali pojasnilo — odloči se, kaj je 
  najbolj razumna predpostavka, nadaljuj z njo in jo 
  dokumentiraj za referenco, ko končaš
</persistence>

Ta poziv temeljito spremeni vedenje AI. Namesto vprašanja "Naj nadaljujem?", pravi "Nadaljeval sem na podlagi predpostavke X—sporoči mi, če želiš, da to prilagodim." Delo je opravljeno; prečiščevanje se zgodi potem.

Varnostne meje

Toda tu je ključna niansa: povečana vnema zahteva jasnejše varnostne meje. Izrecno morate določiti, katera dejanja lahko AI izvede avtonomno in katera zahtevajo potrditev.

Kritično Varnostno Načelo

Dejanja z visokimi stroški (brisanje, plačila, zunanja komunikacija) morajo vedno zahtevati izrecno potrditev, tudi pri pozivih z visoko vnemo. Dejanja z nizkimi stroški (iskanje, branje, osnutki) so lahko avtonomna.

Pomislite na to kot na sistemska dovoljenja: orodja za iskanje imajo neomejen dostop; ukazi za brisanje vsakič zahtevajo izrecno odobritev.

Načelo vztrajnosti - Prisilite AI, da dokonča stvari

Eno najbolj frustrirajočih vedenj, s katerim sem se sprva srečal, je bilo, da je AI prehitro obupal. Naletel je na eno oviro, povzel, kaj je šlo narobe, in mi vrnil problem. Za preproste naloge je to v redu. Za zapletene naloge je to ubijalec delovnega toka.

Rešitev je izrecno naročiti AI, naj vztraja skozi ovire in dokonča naloge od začetka do konca:

Poziv Vztrajnosti Rešitve
<solution_persistence>
- Imej se za avtonomnega višjega parnega programerja: takoj ko 
  dam smer, proaktivno zbiraj kontekst, načrtuj, implementiraj, 
  testiraj in izboljšuj brez čakanja na nadaljnje pozive
- Vztrajaj, dokler naloga ni popolnoma rešena od začetka do konca v 
  trenutnem obratu: ne ustavi se pri analizi ali delnih popravkih; izvedi 
  spremembe skozi implementacijo in verifikacijo
- Bodi izjemno nagnjen k ukrepanju. Če je moja direktiva nekoliko 
  dvoumna v namenu, predpostavi, da bi moral nadaljevati in narediti spremembo
- Če vprašam "ali naj naredimo X?" in je tvoj odgovor "da", prav tako pojdi 
  naprej in izvedi dejanje—ne pusti me viseti z zahtevo po 
  nadaljnjem "prosim naredi to"
</solution_persistence>

Zadnja točka je subtilna, a pomembna. Ko ljudje vprašajo "ali naj naredimo X?", pogosto mislimo "prosim naredi X, če je smiselno." AI, ki je dobeseden, bo odgovoril na vprašanje, ne da bi izvedel implicitno dejanje. Ta poziv premosti to vrzel.

Posodobitve napredka

Vztrajnost ne pomeni tišine. Za dolgotrajne naloge potrebujete posodobitve napredka, da ostanete na tekočem brez mikromanagementa:

Specifikacija Posodobitve Napredka
<user_updates_spec>
Delal boš v odsekih s klici orodij — obveščaj me.

<frequency>
- Pošlji kratke posodobitve (1-2 stavka) vsakih nekaj klicev orodij, ko 
  so smiselne spremembe
- Objavi posodobitev vsaj vsakih 6 korakov izvajanja ali 8 klicev orodij
- Če pričakuješ daljši osredotočen odsek, objavi kratko opombo 
  z razlogom in kdaj boš poročal nazaj
</frequency>

<content>
- Pred prvim klicem orodja daj hiter načrt s ciljem, 
  omejitvami, naslednjimi koraki
- Pri raziskovanju opozori na smiselna odkritja
- Vedno vključi vsaj en konkreten rezultat od prejšnje posodobitve 
  ("najdeno X", "potrjeno Y")
- Končaj s kratkim povzetkom in morebitnimi naslednjimi koraki
</content>
</user_updates_spec>

To ustvarja čudovito ravnovesje: AI dela avtonomno, a vas obvešča. Ne mikromanagirate, a niste v temi.

Napor sklepanja - Obvladovanje intenzivnosti razmišljanja

Sodobni modeli AI imajo koncept, imenovan "napor sklepanja" – v bistvu, kako močno model razmišlja, preden odgovori. To je eden najmočnejših in najmanj izkoriščenih parametrov, ki so na voljo.

Visoko/XVisoko Sklepanje

Uporabite za zapletene večstopenjske naloge, dvoumne situacije ali probleme, ki zahtevajo globoko analizo. Model porabi več žetonov za "razmišljanje" interno pred odgovorom. Najboljše za arhitekturne odločitve, zapleteno razhroščevanje, niansirano pisanje.

Srednje Sklepanje

Uravnotežena nastavitev, primerna za večino nalog. Dobro za splošno kodiranje, pisanje in analizo, kjer je pomembna kakovost, a tudi hitrost. To je pogosto privzeto.

Nizko Sklepanje

Hitri odgovori za preproste naloge. Uporabite, ko potrebujete hitre odgovore in naloga ne zahteva globokega sklepanja. Dobro za preprosta vprašanja, formatiranje, hitra iskanja.

Minimalno/Brez Sklepanja

Maksimalna hitrost, minimalno sklepanje. Najboljše za preproste poizvedbe, naloge preoblikovanja ali ko je latenca primarna skrb. Klasifikacija, ekstrakcija, preprosto prepisovanje.

Ključni vpogled je ujemanje napora sklepanja s kompleksnostjo naloge. Uporaba visokega sklepanja za preproste naloge zapravlja žetone in čas. Uporaba nizkega sklepanja za zapletene naloge proizvaja plitke, napačne rezultate.

Kompenzacija Nizkega Sklepanja

Pri uporabi načinov minimalnega sklepanja morate kompenzirati z bolj eksplicitnim pozivanjem. Model ima manj notranjih žetonov "misli", zato mora vaš poziv opraviti več strukturnega dela:

Kompenzacija Minimalnega Sklepanja
<planning_requirement>
MORATE obsežno načrtovati pred vsakim klicem funkcije in obsežno razmišljati 
o rezultatih prejšnjih klicev, s čimer zagotovite, da je moja poizvedba 
popolnoma rešena.

NE izvajaj celotnega postopka samo s klici funkcij, saj 
to lahko moti tvojo sposobnost reševanja problema in predvidevanja. 
Zagotovi, da imajo klici funkcij pravilne argumente.
</planning_requirement>

Ta poziv pravi: "Ker ne izvajaš veliko notranjega sklepanja, izvajaj svoje sklepanje na glas." Premika kognitivno delo iz nevidnega razmišljanja modela na vidno strukturirano načrtovanje.

🧠

Ko je napor sklepanja nizek, mora biti kompleksnost poziva visoka. Ko je napor sklepanja visok, so lahko pozivi preprostejši. Gre za ravnovesje – skupno "razmišljanje" ostaja približno konstantno, le razporejeno je drugače.

AI Osebnosti - Oblikovanje vedenjskih vzorcev

Eno mojih najljubših odkritij je bilo učenje definiranja AI "osebnosti" – ne le za ton, ampak za operativno vedenje. Osebnost oblikuje, kako AI pristopi k nalogam, ne le kako zveni.

Profesionalna Osebnost

Polirana in natančna. Uporablja formalni jezik in profesionalne konvencije pisanja. Najboljše za korporativne agente, pravne/finančne delovne tokove, podporo proizvodnji.

Profesionalna Osebnost
<personality_professional>
Si osredotočen, formalen in zahteven AI Agent, ki si prizadeva za 
celovitost v vseh odgovorih.

- Uporabljaj rabo in slovnico, običajno za poslovno komunikacijo
- Zagotovi jasne, strukturirane odgovore, ki uravnotežijo informativnost 
  z jedrnatostjo
- Razčleni informacije na prebavljive kose; uporabi sezname, odstavke, 
  tabele, kjer je to koristno
- Uporabljaj terminologijo, primerno za domeno, pri razpravljanju o specializiranih temah
- Tvoj odnos do uporabnika je prisrčen, a transakcijski: 
  razumi potrebo in dostavi visoko vrednost
- Ne komentiraj uporabnikovega črkovanja ali slovnice
- Ne vsiljuj te osebnosti zahtevanim artefaktom (e-pošta, 
  koda, objave); naj uporabnikov namen vodi ton za te izhode
</personality_professional>

Učinkovita Osebnost

Jedrnata in neposredna, dostavlja odgovore brez odvečnih besed. Najboljše za generiranje kode, razvijalska orodja, paketno avtomatizacijo, primere uporabe s težkimi SDK-ji.

Učinkovita Osebnost
<personality_efficient>
Si visoko učinkovit AI asistent, ki zagotavlja jasne, kontekstualne odgovore.

- Odgovori morajo biti neposredni, popolni in lahko berljivi
- Bodi jedrnat in preidi k bistvu; strukturiraj za berljivost
- Za tehnične naloge naredi, kar je naročeno — NE DODAJ dodatnih funkcij, 
  ki jih uporabnik ni zahteval
- Natančno sledi vsem navodilom; ne širi obsega
- Ne uporabljaj pogovornega jezika, razen če ga sproži uporabnik
- Ne dodajaj mnenj, čustvenega jezika, emodžijev, pozdravov, 
  ali zaključnih opomb
</personality_efficient>

Na Dejstvih Temelječa Osebnost

Neposredna in prizemljena, osredotočena na natančnost in dokaze. Najboljše za razhroščevanje, analizo tveganja, razčlenjevanje dokumentov, delovne tokove coachinga.

Na Dejstvih Temelječa Osebnost
<personality_factbased>
Si neposreden in direkten AI asistent, osredotočen na produktivne rezultate.

- Bodi odkrit, vendar se ne strinjaj s trditvami, ki so v nasprotju 
  z dokazi
- Pri podajanju povratnih informacij bodi jasen in korektiven brez olepševanja
- Dostavi kritiko s prijaznostjo in podporo
- Vse trditve utemelji na posredovanih informacijah ali dobro uveljavljenih dejstvih
- Če je vnos dvoumen ali manjkajo dokazi:
  - Na to izrecno opozori
  - Jasno navedi predpostavke ali postavi jedrnata pojasnjevalna vprašanja
  - Ne ugibaj in ne zapolnjuj vrzeli z izmišljenimi podrobnostmi
- Ne izmišljuj si dejstev, številk, virov ali citatov
- Če nisi prepričan, to povej in pojasni, katere dodatne informacije so potrebne
- Daj prednost kvalificiranim izjavam ("na podlagi posredovanega konteksta...")
</personality_factbased>

Raziskovalna Osebnost

Navdušena in pojasnjevalna, slavi znanje in odkritja. Najboljše za dokumentacijo, uvajanje, usposabljanje, tehnično izobraževanje.

Raziskovalna Osebnost
<personality_exploratory>
Si navdušen, globoko razgledan AI Agent, ki uživa 
v razlaganju konceptov z jasnostjo in kontekstom.

- Naj bo učenje prijetno in koristno; uravnoteži globino z dostopnostjo
- Uporabljaj dostopen jezik, dodaj kratke analogije ali "zanimiva dejstva", kjer je koristno
- Spodbujaj raziskovanje in dodatna vprašanja
- Daj prednost natančnosti, globini in dostopnosti tehničnih tem
- Če je koncept dvoumen ali napreden, ga razloži v korakih in ponudi 
  vire za nadaljnje učenje
- Logično strukturiraj odgovore; uporabi oblikovanje za organizacijo zapletenih idej
- Ne uporabljaj humorja brezciljno; izogibaj se pretiranim tehničnim podrobnostim, 
  razen če so zahtevane
- Zagotovi, da so primeri relevantni za uporabnikovo poizvedbo in kontekst
</personality_exploratory>
🎭

Osebnost ni estetski premaz – je operativni vzvod, ki izboljšuje doslednost, zmanjšuje odstopanja in usklajuje vedenje modela s pričakovanji uporabnika. Izberite namerno na podlagi naloge, ne le osebne preference.

Odličnost v kodiranju - Programiranje z AI partnerji

Tu sem porabil večino svojega časa za optimizacijo pozivov in kjer je bil donos ogromen. Pomoč AI pri kodiranju je transformativna – če se izvaja pravilno. Če se izvaja napačno, ustvarja več težav, kot jih rešuje.

Paradoks dolgoveznosti

Tukaj je nekaj neintuitivnega: AI je nagnjen k dolgoveznosti v razlagah, a jedrnatosti v kodi. Napisal bo odstavke, ki pojasnjujejo, kaj bo naredil, nato pa bo ustvaril kodo z enočrkovnimi imeni spremenljivk in minimalnimi komentarji. To je ravno nasprotno za večino primerov uporabe.

Rešitev je upravljanje dolgoveznosti v dvojnem načinu:

Upravljanje Dolgoveznosti Kodiranja
<code_verbosity>
Piši kodo za jasnost na prvem mestu. Daj prednost berljivim, vzdržljivim rešitvam 
z jasnimi imeni, komentarji kjer je potrebno, in neposrednim tokom nadzora.

Ne ustvarjaj code-golfa ali pretirano pametnih enovrstičnic, razen če je izrecno 
zahtevano.

Uporabi VISOKO dolgoveznost za pisanje kode in orodja kode.
Uporabi NIZKO dolgoveznost za posodobitve stanja in razlage.
</code_verbosity>

To ustvarja popolno ravnovesje: jedrnata komunikacija, podrobna koda.

Proaktivne spremembe kode

AI bi moral biti proaktiven glede sprememb kode, a potrditven glede destruktivnih dejanj:

Konfiguracija Proaktivnega Kodiranja
<proactive_coding>
Tvoja urejanja kode bodo prikazana kot predlagane spremembe, kar pomeni:
(a) Tvoja urejanja kode so lahko precej proaktivna — vedno jih lahko zavrnem
(b) Tvoja koda mora biti dobro napisana in enostavna za hiter pregled

Če predlagaš naslednje korake, ki bi vključevali spremembo kode, izvedi te 
spremembe proaktivno, da jih lahko odobrim/zavrnem, namesto da sprašuješ 
ali naj nadaljujem.

Nikoli ne vprašaj, ali naj nadaljuješ z načrtom; namesto tega proaktivno 
poskusi načrt in vprašaj, ali želim sprejeti implementirane spremembe.
</proactive_coding>

Standardi implementacije kode

To so standardi kodiranja, ki sem jih izpopolnil skozi tisoče AI kodirnih sej:

Standardi Implementacije Kode
<code_standards>
<quality_principles>
- Deluj kot zahteven inženir: optimiziraj za pravilnost, jasnost, 
  in zanesljivost pred hitrostjo
- Izogibaj se tveganim bližnjicam, špekulativnim spremembam in neurejenim rešitvam
- Pokrij temeljni vzrok ali glavno zahtevo, ne le simptomov
</quality_principles>

<codebase_conventions>
- Upoštevaj obstoječe vzorce, pomočnike, poimenovanje, oblikovanje, lokalizacijo
- Če moraš odstopati od konvencij, navedi zakaj
- Preglej obstoječe vzorce pred izvajanjem sprememb
- Uskladi se s konvencijami poimenovanja spremenljivk (camelCase vs snake_case)
- Ponovno uporabi obstoječe pripomočke namesto ustvarjanja novih
</codebase_conventions>

<behavior_safety>
- Ohrani predvideno vedenje in UX
- Ogradi ali označi namerne spremembe
- Dodaj teste, ko se vedenje spremeni
</behavior_safety>

<error_handling>
- Brez širokih ulovov (catches) ali tihih privzetih vrednosti
- Ne dodajaj širokih blokov try/catch ali zasilnih rešitev v obliki uspeha
- Propagiraj ali prikaži napake izrecno namesto da jih požreš
- Brez tihih napak: ne vrni se zgodaj pri neveljavnem vnosu brez 
  beleženja/obveščanja, skladnega z vzorci repozitorija
</error_handling>

<type_safety>
- Spremembe morajo vedno prestati gradnjo in preverjanje tipov
- Izogibaj se nepotrebnim pretvorbam (as any, as unknown as ...)
- Daj prednost pravilnim tipom in stražarjem (guards)
- Ponovno uporabi obstoječe pomočnike namesto trditve tipa
</type_safety>

<efficiency>
- Izogibaj se ponavljajočim se mikro-urejanjem: preberi dovolj konteksta pred spremembo 
  datoteke in združi logična urejanja
- DRY/išči najprej: pred dodajanjem novih pomočnikov poišči predhodno umetnost 
  in ponovno uporabi ali izvleci deljene pomočnike namesto podvajanja
</efficiency>
</code_standards>

Git Varnost

Ko ima AI dostop do gita, je varnost najpomembnejša:

Git Varnostni Protokol
<git_safety>
- NIKOLI ne posodabljaj git config
- NIKOLI ne izvajaj destruktivnih ukazov (git reset --hard, git checkout --) 
  razen če je posebej zahtevano
- NIKOLI ne preskoči kavljev (--no-verify) razen če je izrecno zahtevano
- NIKOLI ne izvedi force push v main/master
- Izogibaj se git commit --amend razen če:
  1. Uporabnik je to izrecno zahteval, ALI commit je uspel, a pre-commit 
     kavelj je samodejno spremenil datoteke
  2. HEAD commit si ustvaril ti v tem pogovoru
  3. Commit NI bil potisnjen na oddaljeni strežnik
- Če commit NI USPEL ali je bil ZAVRNJEN s kavljem, NIKOLI ne popravljaj (amend) — popravi 
  težavo in ustvari NOV commit
- Morda si v umazanem delovnem drevesu gita:
  - NIKOLI ne povrni obstoječih sprememb, ki jih nisi naredil
  - Če obstajajo nepovezane spremembe, jih ignoriraj — ne povrni jih
</git_safety>

Frontend mojstrstvo - Gradnja čudovitih vmesnikov

AI je postal izjemno dober v frontend razvoju, vendar obstaja znanost za pridobivanje estetsko prijetnih, za produkcijo pripravljenih rezultatov.

Priporočen Sklad

Zaradi obsežnega testiranja določene kombinacije tehnologij delujejo bolje z AI kot druge. Ne gre za to, kaj je objektivno "najboljše" – gre za to, na čem so bili modeli AI najbolj usposobljeni:

Frontend Sklad Optimiziran za AI

  • Ogrodja: Next.js (TypeScript), React, HTML
  • Stiliranje/UI: Tailwind CSS, shadcn/ui, Radix Themes
  • Ikone: Material Symbols, Heroicons, Lucide
  • Animacija: Motion (prej Framer Motion)
  • Pisave: Družine Sans Serif—Inter, Geist, Mona Sans, IBM Plex Sans, Manrope

Ko določite te tehnologije, AI proizvaja bistveno kakovostnejši izhod z manj halucinacijami o neobstoječih API-jih.

Uveljavljanje Sistemov Oblikovanja

Ena težava s frontendi, ki jih generira AI, je vizualna nedoslednost. Barve se pojavijo od nikoder, razmiki se naključno razlikujejo. Rešitev so izrecne omejitve sistema oblikovanja:

Uveljavljanje Sistema Oblikovanja
<design_system>
- Žetoni-najprej: NE zakodiraj barv (hex/hsl/rgb) v JSX/CSS
- Vse barve morajo izhajati iz spremenljivk CSS (--background, --foreground, 
  --primary, --accent, --border, --ring)
- Za uvedbo blagovne znamke/poudarka: dodaj/razširi žetone v spremenljivkah CSS 
  pod :root in .dark NAJPREJ
- Uporabi Tailwind pripomočke, vezane na žetone: 
  bg-[hsl(var(--primary))], text-[hsl(var(--foreground))]
- Privzeto je nevtralna sistemska paleta, razen če je videz blagovne znamke izrecno 
  zahtevan — nato preslikaj blagovno znamko na žetone najprej
- NE izmišljuj si barv, senc, žetonov, animacij ali novih 
  UI elementov, razen če je zahtevano
</design_system>

Preprečevanje "AI Brozge"

AI se nagiba k varnim, povprečno izgledajočim postavitvam. Za pridobitev značilnih, namernih dizajnov:

Standardi Kakovosti Frontenda
<frontend_quality>
Pri izvajanju nalog frontend oblikovanja se izogibaj zrušitvi v "AI brozgo" 
ali varne, povprečno izgledajoče postavitve. Ciljaj na vmesnike, ki delujejo 
namerno, drzno in nekoliko presenetljivo.

- Tipografija: Uporabi izrazite, namenske pisave; izogibaj se privzetim skladom 
  (Inter, Roboto, Arial, system)
- Barva in Videz: Izberi jasno vizualno smer; definiraj spremenljivke CSS; 
  izogibaj se privzetim vijolično-na-belem; brez vijolične pristranskosti ali pristranskosti temnega načina
- Gibanje: Uporabi nekaj smiselnih animacij (nalaganje strani, postopno razkrivanje) 
  namesto generičnih mikro-gibov
- Ozadje: Ne zanašaj se na ravna, enobarvna ozadja; uporabi 
  gradiente, oblike ali subtilne vzorce
- Splošno: Izogibaj se šablonskim postavitvam; spreminjaj teme, družine tipov, 
  in vizualne jezike med izhodi
- Zagotovi, da se stran pravilno naloži tako na namizju kot na mobilnem telefonu
- Dokončaj spletno stran v celoti, v funkcionalnem stanju za testiranje uporabnika

Izjema: Če delaš v okviru obstoječega spletnega mesta ali sistema oblikovanja, 
ohrani uveljavljene vzorce.
</frontend_quality>

UI/UX Najboljše Prakse

UI/UX Smernice
<ui_ux_guidelines>
- Vizualna Hierarhija: Omeji tipografijo na 4-5 velikosti in teže pisave; 
  uporabi text-xs za oznake; izogibaj se text-xl razen za junaka/glavne naslove
- Uporaba Barv: Uporabi 1 nevtralno osnovo (npr. zinc) in do 2 poudarjeni barvi
- Razmiki: Vedno uporabljaj večkratnike 4 za odmike in robove, da 
  ohraniš vizualni ritem
- Postavitev: Uporabi vsebnike fiksne višine z notranjim drsenjem za 
  dolgo vsebino
- Obravnava Stanja: Uporabi okostja (skeleton) nadomestnih znakov ali animate-pulse za 
  pridobivanje podatkov; nakaži klikabilnost s prehodi ob preletu
- Dostopnost: Uporabi semantični HTML in vloge ARIA; daj prednost vnaprej zgrajenim 
  dostopnim komponentam
</ui_ux_guidelines>

Upravljanje dolgoveznosti - Umetnost dolžine izhoda

Pridobivanje prave dolžine izhoda je trajen izziv. Prekratko in manjkajo pomembne podrobnosti. Predolgo in utopite se v nepotrebnih informacijah.

Parameter Dolgoveznosti

Sodobni AI API-ji ponujajo parameter dolgoveznosti, ki zanesljivo prilagaja dolžino izhoda brez spreminjanja poziva:

Nizka Dolgoveznost

Jedrnata, minimalna proza. Le bistven odgovor brez puhlic. Dobro za hitra iskanja, preproste potrditve in ko potrebujete le dejstva.

Srednja Dolgoveznost

Uravnotežena podrobnost. Privzeta nastavitev, ki deluje za večino nalog. Zagotavlja kontekst in razlago brez pretiranega polnila.

Visoka Dolgoveznost

Dolgovezno in celovito. Odlično za revizije, poučevanje, predaje in dokumentacijo. Zagotavlja popoln kontekst in sklepanje.

Izrecne Smernice Dolžine

Ko ne morete uporabiti parametrov API-ja, izrecne omejitve dolžine delujejo dobro:

Specifikacija Dolgoveznosti Izhoda
<output_verbosity_spec>
- Privzeto: 3-6 stavkov ali ≤5 alinej za tipične odgovore
- Za preprosta "da/ne + kratka razlaga" vprašanja: ≤2 stavka
- Za zapletene večstopenjske ali večdatotečne naloge:
  - 1 kratek odstavek pregleda
  - Nato ≤5 alinej označenih: Kaj se je spremenilo, Kje, Tveganja, Naslednji koraki, 
    Odprta vprašanja
- Zagotovi jasne, strukturirane odgovore, ki uravnotežijo informativnost 
  z jedrnatostjo
- Razčleni informacije na prebavljive kose; uporabi sezname, 
  odstavke, tabele, ko je koristno
- Izogibaj se dolgim pripovednim odstavkom; daj prednost kompaktnim alinejam in 
  kratkim odsekom
- Ne preoblikuj moje zahteve, razen če to spremeni semantiko
</output_verbosity_spec>

Dolgoveznost na Podlagi Osebnosti

Drug pristop je definiranje stila komunikacije kot del osebnosti AI:

Osebnost Učinkovite Komunikacije
<communication_style>
Ceniš jasnost, zagon in spoštovanje, merjeno s koristnostjo 
namesto z vljudnostmi. Tvoj privzeti instinkt je ohranjati 
pogovore ostre in namenske, obrezovanje vsega, kar 
ne premika dela naprej.

Nisi hladen—si preprosto ekonomičen z jezikom in 
zaupaš uporabnikom dovolj, da ne zavijaš vsakega sporočila v polnilo.

Vljudnost se kaže skozi strukturo, natančnost in odzivnost, 
ne skozi verbalno puhlico.

Nikoli ne ponavljaj potrditev. Takoj ko signaliziraš razumevanje, 
se popolnoma posveti nalogi.
</communication_style>

Dolg kontekst - Obvladovanje ogromnih dokumentov

Sodobni AI lahko obdela ogromne kontekste—stotisoče žetonov—vendar preprosto metanje velikih dokumentov v kontekstno okno ni dovolj. Potrebujete strategije, ki pomagajo modelu krmariti in izvleči ustrezne informacije.

Vsiljevanje Povzetka in Ponovnega Sidranja

Za dolge dokumente naročim AI, da ustvari notranjo strukturo pred odgovarjanjem:

Ravnanje z Dolgim Kontekstom
<long_context_handling>
Za vnose, daljše od ~10k žetonov (večpoglavni dokumenti, dolge niti, 
več PDF-jev):

1. Najprej ustvari kratek notranji oris ključnih odsekov, pomembnih 
   za mojo zahtevo
2. Ponovno izrecno navedi moje omejitve (pristojnost, časovni razpon, 
   izdelek, ekipa) pred odgovarjanjem
3. V svojem odgovoru sidraj trditve na odseke ("V razdelku 
   'Hramba Podatkov'...") namesto splošnega govorjenja
4. Če je odgovor odvisen od subtilnih podrobnosti (datumi, pragovi, klavzule), 
   jih citiraj ali parafraziraj neposredno
</long_context_handling>

To preprečuje težavo "izgubljeno pri drsenju", kjer AI daje splošne odgovore, ki dejansko ne obravnavajo specifične vsebine dokumenta.

Kompaktiranje za Razširjene Delovne Tokove

Za dolgotrajne, orodjarsko težke delovne tokove, ki presegajo standardno kontekstno okno, sodobni AI podpira "kompaktiranje" – prehod stiskanja z izgubo čez prejšnje stanje pogovora, ki ohranja informacije, pomembne za nalogo, hkrati pa dramatično zmanjša odtis žetonov.

Kdaj Uporabiti Kompaktiranje

  • Večstopenjski tokovi agentov z mnogimi klici orodij
  • Dolgi pogovori, kjer je treba ohraniti zgodnje poteze
  • Iterativno sklepanje onkraj maksimalnega kontekstnega okna

Najboljše prakse za kompaktiranje:

  • Spremljajte uporabo konteksta in načrtujte vnaprej, da se izognete doseganju omejitev
  • Kompaktirajte po glavnih mejnikih (npr. faze z veliko orodji), ne vsak obrat
  • Ohranite pozive funkcionalno identične pri obnavljanju, da se izognete odstopanju vedenja
  • Obravnavajte kompaktirane elemente kot neprosojne; ne razčlenjujte in se ne zanašajte na notranjost

Zahteve za Citiranje

Zahteve za Citiranje
<citation_rules>
Ko uporabljaš informacije iz posredovanih dokumentov:
- Postavi citate za vsak odstavek, ki vsebuje trditve, izpeljane iz dokumentov
- Uporabi format: [Ime Dokumenta, Razdelek/Stran]
- Ne izmišljuj si citatov. Če ne moreš citirati, ne trdi
- Uporabi več virov za ključne trditve, ko je mogoče
- Če so dokazi tanki, to izrecno priznaj
</citation_rules>

Orkestracija orodij - Napredne zmogljivosti AI

Klicanje orodij AI – klicanje zunanjih funkcij, API-jev in storitev – je tam, kjer inženirstvo pozivov postane programsko inženirstvo. Pravilna izvedba tega je ključna za zanesljive AI aplikacije.

Najboljše Prakse Opisa Orodij

Kakovost opisov orodij neposredno vpliva na to, kako dobro jih AI uporablja:

Dobro Zasnovana Definicija Orodja
{
  "name": "create_reservation",
  "description": "Ustvari rezervacijo v restavraciji za gosta. Uporabi, ko 
    uporabnik zahteva rezervacijo mize z določenim imenom in časom.",
  "parameters": {
    "type": "object",
    "properties": {
      "name": {
        "type": "string",
        "description": "Polno ime gosta za rezervacijo."
      },
      "datetime": {
        "type": "string",
        "description": "Datum in čas rezervacije (format ISO 8601)."
      }
    },
    "required": ["name", "datetime"]
  }
}

Opazite, da opis vključuje tako kaj orodje počne, kot kdaj ga uporabiti. To pomaga modelu sprejemati boljše odločitve o izbiri orodij.

Pravila Uporabe Orodij

Politika Uporabe Orodij
<tool_usage_rules>
- Če obstaja orodje za dejanje, daj prednost orodju pred ukazi lupine 
  (npr. read_file pred cat)
- Strogo se izogibaj surovemu cmd/terminalu, ko obstaja namensko orodje
- Daj prednost orodjem pred notranjim znanjem kadarkoli:
  - Potrebuješ sveže ali uporabniku specifične podatke (vstopnice, naročila, konfiguracije, dnevniki)
  - Se sklicuješ na specifične ID-je, URL-je ali imena dokumentov
- Po katerem koli klicu orodja za pisanje/posodabljanje na kratko ponovi:
  - Kaj se je spremenilo
  - Kje (ID ali pot)
  - Kakršna koli izvedena nadaljnja validacija
- Za preprosta konceptualna vprašanja se izogibaj orodjem in se zanašaj na notranje 
  znanje za hitre odgovore
</tool_usage_rules>

Paralelizacija

Ključna optimizacija je podpora vzporednim klicem orodij, ko so operacije neodvisne:

Specifikacija Paralelizacije
<parallelization_spec>
Zaženi neodvisne ali samo za branje akcije orodij vzporedno (isti obrat/paket) 
za zmanjšanje latence.

Kdaj paralelizirati:
- Branje več datotek/konfiguracij/dnevnikov, ki ne vplivajo drug na drugega
- Statična analiza, iskanja ali poizvedbe po metapodatkih brez stranskih učinkov
- Ločene modifikacije nepovezanih datotek/funkcij, ki ne bodo v konfliktu

Kdaj NE paralelizirati:
- Operacije, kjer je ena odvisna od rezultata druge
- Ustvarjanje vira in nato sklicevanje na njegov ID
- Branje datoteke in nato spreminjanje na podlagi vsebine

Metoda:
- Razmisli najprej: Pred kakršnim koli klicem orodja se odloči za VSE datoteke/vire, ki jih potrebuješ
- Paketno vse: Če potrebuješ več datotek, jih preberi skupaj
- Naredi zaporedne klice le, če res ne moreš poznati naslednje datoteke 
  brez videnja prvega rezultata
</parallelization_spec>

Orodja za Ovijanje Terminala

Če želite, da AI uporablja namenska orodja namesto ukazov terminala, jih naredite semantično podobna temu, kar model pričakuje:

Primer Orodja za Ovijanje Terminala
GIT_TOOL = {
    "type": "function",
    "name": "git",
    "description": (
        "Zažene ukaz git v korenu repozitorija. Obnaša se kot "
        "zagon git v terminalu; podpira kateri koli podukaz in zastavice."
    ),
    "parameters": {
        "type": "object",
        "properties": {
            "command": {
                "type": "string",
                "description": "Git ukaz za izvedbo"
            }
        },
        "required": ["command"]
    }
}

# Nato v tvojem pozivu:
"Uporabljaj orodje `git` za vse git operacije. Ne uporabljaj terminala za git."

Odpravljanje težav - Popravljanje tistega, kar se je pokvarilo

Po delu z neštetimi pozivi sem identificiral najpogostejše vzorce neuspeha in njihove rešitve.

Težava: Prekomerno Razmišljanje

Simptomi: Odgovor je pravilen, vendar traja celo večnost. Model nenehno raziskuje možnosti, odlaša s prvim klicem orodja, govori o ovinkasti poti, ko je bil na voljo preprost odgovor.

Popravek Prekomernega Razmišljanja
<efficient_context_spec>
Cilj: Hitro pridobi dovolj konteksta in ustavi, takoj ko lahko ukrepaš.

Metoda:
- Začni široko, nato se razširi na ciljne podpoizvedbe
- Vzporedno zaženi 4-8 različnih poizvedb; preberi top 3-5 rezultatov na poizvedbo
- Dedupliciraj poti in shrani v predpomnilnik; ne ponavljaj poizvedb

Zgodnja ustavitev (ukrepaj, če sploh):
- Lahko poimenuješ natančne datoteke/simbole za spremembo
- Lahko reproduciraš neuspešen test/lint ali imaš visoko zaupanje v lokacijo napake
</efficient_context_spec>

# Dodaj tudi hitro pot za preprosta vprašanja:
<fast_path>
Za splošno znanje ali preproste poizvedbe o uporabi, ki ne zahtevajo 
ukazov, brskanja ali klicev orodij:
- Odgovori takoj in jedrnato
- Brez posodobitev stanja, brez nalog, brez povzetkov, brez klicev orodij
</fast_path>

Težava: Premalo Razmišljanja / Lenoba

Simptomi: Model ni porabil dovolj časa za razmišljanje pred ustvarjanjem odgovora. Plitvi odgovori, zgrešeni robni primeri, nepopolne rešitve.

Popravek Premalo Razmišljanja
<self_reflection>
- Interno oceni osnutek glede na rubriko 5-7 postavk, ki jo izmisliš 
  (jasnost, pravilnost, robni primeri, popolnost, latenca)
- Če katera koli kategorija zaostaja, ponovi enkrat pred odgovarjanjem
</self_reflection>

# Ali uporabi višji napor sklepanja v parametrih API

Težava: Pretirana Ustrežljivost

Simptomi: AI nenehno prosi za dovoljenje namesto da bi ukrepal. Nenehno "Ali bi želeli, da jaz..." namesto da bi preprosto to storil.

Popravek Ustrežljivosti
<persistence>
- Si agent — nadaljuj, dokler uporabniška poizvedba ni popolnoma 
  rešena pred koncem svojega obrata
- Končaj le, ko si prepričan, da je problem rešen
- Nikoli se ne ustavi in ne predaj nazaj, ko naletiš na negotovost — izpelji 
  najbolj razumen pristop in nadaljuj
- Ne prosi za potrditev ali pojasnilo predpostavk — odloči se, kaj je 
  najbolj razumno, nadaljuj, in dokumentiraj za referenco kasneje
</persistence>

Težava: Preveč Dolgovezen

Simptomi: AI generira veliko več žetonov, kot je potrebno. Veliko uvoda, pretirano razlaganje, ponavljajoči se povzetki.

Popravek Dolgoveznosti
# Uporabi parameter dolgoveznosti API: "low"

# Ali v pozivu:
<output_format>
- Privzeto: 3-6 stavkov ali ≤5 alinej
- Izogibaj se dolgim pripovednim odstavkom; daj prednost kompaktnim alinejam
- Ne preoblikuj moje zahteve, razen če to spremeni semantiko
- Brez uvodov kot "Odlično vprašanje!" ali "Z veseljem pomagam"
</output_format>

Težava: Preveč Klicev Orodij

Simptomi: Model kuri orodja, ne da bi premaknil odgovor naprej. Odvečni klici, tangencialno raziskovanje, neučinkovita uporaba konteksta.

Popravek Klica Orodja
<tool_use_policy>
- Izberi eno orodje ali nobenega; daj prednost odgovoru iz konteksta, ko je mogoče
- Omeji klice orodij na 2 na uporabniško zahtevo, razen če nove informacije ne naredijo 
  več strogo nujnega
- Pred klicem orodja preveri, ali res potrebuješ informacije
</tool_use_policy>

Težava: Pokvarjeni Klici Orodij

Simptomi: Klici orodij ne uspejo, proizvajajo neuporaben izhod ali se ne ujemajo s pričakovanim formatom. Pogosto povzročeno s protislovji v pozivu.

Diagnostika Pokvarjenega Klica Orodja
Prosim analiziraj, zakaj je klic orodja [tool_name] pokvarjen.

1. Preglej posredovan vzorčni problem, da razumeš način neuspeha
2. Skrbno preuči Sistemski Poziv in Konfiguracijo Orodja
3. Identificiraj kakršne koli nejasnosti, nedoslednosti ali besedilo, ki bi lahko 
   zavedlo model
4. Za vsak potencialni vzrok pojasni, kako bi lahko vodil do 
   opaženega neuspeha
5. Zagotovi izvedljiva priporočila za izboljšanje poziva ali 
   konfiguracije orodja
🔧

Večina težav s pokvarjenimi klici orodij izvira iz protislovij med različnimi deli poziva. Model kuri žetone sklepanja, ko poskuša uskladiti nasprotujoča si navodila, namesto da bi pomagal.

Optimizacija pozivov - Znanstveni pristop

Oblikovanje učinkovitih pozivov je veščina, njihovo izboljšanje pa je znanost. Tukaj je sistematičen pristop, ki ga uporabljam.

Pogoste Napake Pozivov

Pred optimizacijo razumite, kaj gre običajno narobe:

Protislovja v navodilih

"Daj prednost standardni knjižnici" nato "uporabi zunanje pakete, če poenostavijo stvari" - AI ne more uskladiti teh mešanih signalov.

Dvoumne omejitve

"Ciljaj na natančne rezultate; približne metode so v redu, če v praksi ne spremenijo rezultata" - model ne more preveriti te presoje.

Manjkajoče specifikacije formata

Če potrebujete JSON, to povejte. Če potrebujete alineje, to povejte. Ne prepuščajte izhodnega formata naključju.

Nedoslednosti s primeri

Vaša navodila pravijo eno stvar, a vaši primeri kažejo nekaj drugega. AI sledi primerom bolj kot prozi.

Optimizacijska Zanka

1
Vzpostavitev Izhodišča

Zaženite svoj trenutni poziv večkrat in dokumentirajte rezultate. Opazujte vzorce v uspehih in neuspehih.

2
Identifikacija Načinov Neuspeha

Kategorizirajte neuspehe. So to težave s pravilnostjo? Težave s formatom? Težave z učinkovitostjo? Vsak zahteva drugačne popravke.

3
Izvajanje Kirurških Urejanj

Spremenite eno stvar naenkrat. Če spremenite več stvari, ne boste vedeli, kaj je pomagalo.

4
Ponovno Ocenjevanje

Ponovno zaženite iste teste. Primerjajte z izhodiščem. Je sprememba pomagala, škodovala ali ni imela vpliva?

5
Iteracija

Ponavljajte, dokler ne dosežete sprejemljive zmogljivosti. Vodite zapiske o tem, kaj je delovalo in kaj ne.

Migracija Med Modeli

Pri migraciji pozivov na novo različico modela:

Najboljše Prakse Migracije

  • Korak 1: Zamenjajte modele, še ne spreminjajte pozivov. Testirajte spremembo modela – ne urejanj poziva.
  • Korak 2: Pripni napor sklepanja, da se ujema s profilom prejšnjega modela.
  • Korak 3: Zaženi ocene za izhodišče. Če rezultati izgledajo dobro, ste pripravljeni za pošiljanje.
  • Korak 4: Če pride do regresij, izpopolnite poziv s ciljanimi omejitvami.
  • Korak 5: Ponovno zaženite ocene po vsaki majhni spremembi. Ena sprememba naenkrat.

Obvladovanje negotovosti - Ko AI ne ve

Eno največjih tveganj z AI so samozavestno zveneči napačni odgovori. Model ne ve, česa ne ve – razen če ga naučite, kako ravnati z negotovostjo.

Obvladovanje Negotovosti
<uncertainty_handling>
- Če je vprašanje dvoumno ali premalo določeno, to izrecno navedi 
  in:
  - Postavi do 1-3 natančna pojasnjevalna vprašanja, ALI
  - Predstavi 2-3 verjetne interpretacije z jasno označenimi predpostavkami
  
- Ko so se zunanja dejstva morda nedavno spremenila (cene, izdaje, 
  politike) in orodja niso na voljo:
  - Odgovori s splošnimi pogoji in navedi, da so se podrobnosti morda spremenile
  
- Nikoli ne izmišljuj natančnih številk, številk vrstic ali zunanjih povezav 
  ko nisi prepričan
  
- Ko nisi prepričan, daj prednost jeziku kot "Na podlagi posredovanega 
  konteksta..." namesto absolutnim izjavam
</uncertainty_handling>

Samopreverjanje Visokega Tveganja

Za domene z visokim tveganjem dodajte izrecni korak samopreverjanja:

Samopreverjanje Visokega Tveganja
<high_risk_self_check>
Pred dokončanjem odgovora v pravnih, finančnih, skladnostnih ali 
varnostno občutljivih kontekstih:

- Na kratko ponovno preglej svoj odgovor za:
  - Nenavedene predpostavke
  - Konkretne številke ali trditve, ki niso podprte v kontekstu
  - Premočan jezik ("vedno", "zagotovljeno", itd.)
  
- Če jih najdeš, jih omili ali jih kvalificiraj in izrecno navedi predpostavke
</high_risk_self_check>
⚠️

Cilj ni narediti AI manj samozavestnega – ampak ga narediti natančno samozavestnega. Negotovost glede negotovih stvari je funkcija, ne napaka.

Metaprompting - Uporaba AI za izboljšanje AI

Tukaj je najbolj meta tehnika v mojem arzenalu: uporaba AI za izboljšanje vaših pozivov. Sliši se krožno, vendar je neverjetno učinkovito.

Diagnostika Napak Poziva

Predloga Diagnostike Poziva
Si inženir pozivov, zadolžen za razhroščevanje sistemskega poziva.

Dano ti je:
1) Trenutni sistemski poziv:
<system_prompt>
[VSTAVI SVOJ POZIV TUKAJ]
</system_prompt>

2) Majhen nabor zabeleženih neuspehov. Vsak zapis ima:
- poizvedbo
- dejanski_izhod
- pričakovan_izhod (ali opis težave)

<failure_traces>
[VSTAVI PRIMERE NEUSPEHOV]
</failure_traces>

Tvoje naloge:
1) Identificiraj različne načine neuspeha, ki jih vidiš
2) Za vsak način neuspeha navedi specifične vrstice iz sistemskega 
   poziva, ki ga najverjetneje povzročajo ali krepijo
3) Pojasni, kako te vrstice usmerjajo agenta k 
   opaženemu vedenju

Vrni svoj odgovor v strukturiranem formatu:
failure_modes:
- name: ...
  description: ...
  prompt_drivers:
    - exact_or_paraphrased_line: ...
    - why_it_matters: ...

Generiranje Izboljšav

Predloga Izboljšave Poziva
Prej si analiziral ta sistemski poziv in njegove načine neuspeha.

Sistemski poziv:
<system_prompt>
[ORIGINALNI POZIV]
</system_prompt>

Analiza načina neuspeha:
[VSTAVI DIAGNOZO IZ PREJŠNJEGA KORAKA]

Prosim, predlagaj kirurško revizijo, ki zmanjšuje opažene težave 
ob ohranjanju dobrih vedenj.

Omejitve:
- Ne prepisuj agenta od začetka
- Daj prednost majhnim, izrecnim urejanjem: razjasni konfliktna pravila, odstrani 
  odvečne ali nasprotujoče si vrstice, poostri nejasne smernice
- Naredi kompromise izrecne
- Ohrani strukturo in dolžino približno podobno originalu

Izhod:
1) patch_notes: kratek seznam ključnih sprememb in utemeljitev
2) revised_system_prompt: celoten posodobljen poziv z uporabljenimi urejanji

Samorefleksija za Kakovost

Ta tehnika je osupljiva: naročite AI, naj ustvari lastna merila za ocenjevanje in iterira proti njim:

Poziv Samorefleksije
<self_reflection>
- Najprej preživi čas v razmišljanju o rubriki, dokler nisi prepričan
- Razmišljaj globoko o vsakem vidiku tega, kaj sestavlja rešitev svetovnega 
  razreda. Uporabi to znanje za ustvarjanje rubrike, ki ima 5-7 
  kategorij. To rubriko je kritično dobiti prav, vendar mi je ne kaži 
  — to je samo za tvoje namene.
- Končno uporabi rubriko za notranje razmišljanje in iteracijo na 
  najboljši možni rešitvi za poziv
- Če tvoj odgovor ne doseže najvišjih ocen v vseh 
  kategorijah v rubriki, začni znova
</self_reflection>

AI prosite, naj iz svojega znanja o odličnosti ustvari merila kakovosti, nato pa ta merila uporabi za ocenjevanje in izboljšanje lastnega izhoda – vse to, preden karkoli vidite. Izboljšanje kakovosti izhoda je bistveno.

Bojno preizkušene predloge, ki jih lahko uporabite danes

Univerzalno Dokončanje Naloge

Splošna Predloga
<context>
[Informacije o ozadju, ki jih AI potrebuje za razumevanje situacije]
</context>

<task>
[Jasna izjava o tem, kaj želite narediti]
</task>

<requirements>
[Specifične zahteve ali omejitve]
</requirements>

<format>
[Kako želite, da je izhod strukturiran]
</format>

<examples>
[Neobvezno: Primeri želenega izhoda]
</examples>

Predloga Pregleda Kode

Poziv Pregleda Kode
<context>
Pregled kode za [projekt/kontekst].
Kodna baza uporablja [tehnologije/vzorci].
</context>

<code_to_review>
[Vstavi kodo tukaj]
</code_to_review>

<review_criteria>
Osredotoči se na:
1. Pravilnost: Ali dela to, kar trdi?
2. Berljivost: Ali je jasno drugim razvijalcem?
3. Zmogljivost: Kakšne očitne neučinkovitosti?
4. Varnost: Kakšne ranljivosti?
5. Slog: Ali se ujema s konvencijami kodne baze?
</review_criteria>

<output_format>
Za vsako najdeno težavo:
- Resnost: [Kritična/Velika/Majhna/Predlog]
- Lokacija: [Številka vrstice ali odsek]
- Težava: [Kaj je narobe]
- Popravek: [Kako to rešiti]
</output_format>

Predloga Raziskovalne Analize

Poziv Globoke Raziskave
<research_task>
[Tema ali vprašanje za raziskavo]
</research_task>

<methodology>
- Začni z več ciljnimi iskanji; ne zanašaj se na eno poizvedbo
- Raziskuj globoko, dokler nimaš dovolj informacij za 
  natančen, celovit odgovor
- Dodaj ciljna nadaljnja iskanja za zapolnitev vrzeli ali reševanje nesoglasij
- Nadaljuj z iteracijo, dokler nadaljnje iskanje verjetno ne bo spremenilo 
  odgovora
</methodology>

<output_requirements>
- Vodi z jasnim odgovorom na glavno vprašanje
- Podpri z dokazi in citati
- Priznaj omejitve in negotovosti
- Zagotovi konkretne primere, kjer je koristno
- Vključi ustrezen kontekst za razumevanje posledic
</output_requirements>

<citation_format>
[Kako želite, da so viri citirani]
</citation_format>

Agent Spletnega Raziskovanja

Celovita Spletna Raziskava
<core_mission>
Odgovori na uporabnikovo vprašanje v celoti in koristno, z dovolj dokazi, 
da mu bo skeptičen bralec verjel.

Nikoli si ne izmišljuj dejstev. Če ne moreš nečesa preveriti, to jasno povej.

Privzeto bodi podroben in koristen, namesto kratek.

Po odgovoru na neposredno vprašanje dodaj sosednje gradivo visoke vrednosti, 
ki podpira uporabnikov temeljni cilj brez oddaljevanja od teme.
</core_mission>

<research_rules>
- Začni z več ciljnimi iskanji; uporabi vzporedna iskanja
- Nikoli se ne zanašaj na eno poizvedbo
- Nadaljuj z iteracijo, dokler ni vse res:
  - Odgovoril si na vsak del vprašanja
  - Našel si konkretne primere in sosednje gradivo visoke vrednosti
  - Našel si zadostne vire za ključne trditve
</research_rules>

<citation_rules>
- Postavi citate za vsak odstavek, ki vsebuje ne popolnoma očitne 
  trditve, izpeljane iz spleta
- Ne izmišljuj si citatov
- Uporabi več virov za ključne trditve, ko je mogoče
</citation_rules>

<ambiguity_handling>
- Nikoli ne postavljaj pojasnjevalnih vprašanj, razen če uporabnik to izrecno zahteva
- Če je poizvedba dvoumna, navedi svojo najboljšo interpretacijo, nato 
  celovito pokrij najverjetnejše namene
</ambiguity_handling>

Prihodnost Inženirstva Pozivov

Ko to pišem v začetku leta 2026, se inženirstvo pozivov hitro razvija. Modeli postajajo sposobnejši, bolje vodljivi in zanesljivejši. Nekateri napovedujejo, da bo inženirstvo pozivov postalo zastarelo, ko se bo AI izboljšal v razumevanju namena. Ne strinjam se.

Kar se spreminja, je raven inženirstva pozivov, ne njegova nujnost. Zgodnji dnevi so zahtevali zapletene pozive za osnovne naloge. Zdaj osnovne naloge delujejo takoj, vendar zapleteni agentski delovni tokovi še vedno zahtevajo prefinjeno pozivanje. Letvica se dviguje, ne izginja.

🔮

Inženirstvo pozivov ne izginja – razvija se. Veščine, ki so pomembne, se premikajo od "kako pripraviti AI, da deluje" na "kako pripraviti AI, da deluje odlično in zanesljivo v velikem obsegu".

Kaj Prihaja

Boljše Privzeto Vedenje

Modeli bodo imeli pametnejše privzete nastavitve, ki bodo zahtevale manj izrecnih navodil za običajne vzorce. Pozivi se bodo bolj osredotočali na prilagajanje kot na osnovno sposobnost.

Bogatejši Ekosistemi Orodij

AI bo imel dostop do več orodij takoj po zagonu. Inženirstvo pozivov se bo premaknilo k orkestraciji – vedeti, kdaj kaj uporabiti, ne le kako.

Multimodalna Integracija

Pozivi bodo vse bolj vključevali slike, zvok, video in strukturirane podatke poleg besedila. Pojavili se bodo novi vzorci za multimodalne naloge.

Agentska Kompleksnost

Ko agenti obravnavajo daljše, zapletenejše naloge, bo inženirstvo pozivov postalo bolj podobno sistemskemu oblikovanju – arhitektura, ne le navodila.

Moj Nasvet za Prihodnost

Osredotočite se na osnove. Specifične tehnike v tem vodniku se bodo razvijale, vendar so temeljna načela – jasna komunikacija, jasna pričakovanja, strukturirano razmišljanje, iterativno izboljševanje – večna. Obvladajte jih in prilagodili se boste vsemu, kar pride.

Zaključne misli

Pred dvema letoma sem mislil, da bo AI nadomestil potrebo po jasni komunikaciji. Popolnoma sem se motil. AI je naredil jasno komunikacijo dragocenejšo kot kdaj koli prej. Ljudje, ki uspevajo z AI, niso tisti, ki so našli čarobne besede – so tisti, ki so se naučili razmišljati in se izražati z natančnostjo.

Inženirstvo pozivov v resnici ne govori o AI. Gre za vas. Gre za razvijanje discipline formuliranja tega, kar dejansko želite, potrpežljivosti za iteracijo do tja in ponižnosti za učenje iz tistega, kar ne deluje.

Če odnesete eno stvar iz tega vodnika, naj bo to: obravnavajte vsak poziv kot priložnost za vadbo jasnega razmišljanja. AI je le ogledalo, ki odseva nazaj jasnost – ali zmedo – vašega lastnega uma.

Vzpon AI ni naredil znanja zastarelega – naredil je radovednost močnejšo kot kdaj koli prej. Nismo več omejeni s tem, kar že vemo. S pravimi orodji in pripravljenostjo razmišljati lahko navadni ljudje objamejo ocean znanja. Ne glede na poklic. Ne glede na starost. Upam, da bom delil to potovanje s prijatelji po vsem svetu. Skupaj pozdravimo ta novi svet. Skupaj rastemo.

Zadnjič posodobljeno: 24. januarja 2026 · Temelji na uradni dokumentaciji, raziskovalnih člankih in obsežnem osebnem eksperimentiranju

Discussion

0 comments

Leave a comment

Be the first to share your thoughts on this article!