Skip to content
All articles

Metakogníció — programtervező matematikusoknak

A gondolkodás gondolkodása, ahogy egy programtervező matematikus látja: Banach-fixpont, Y-kombinátor, Gödel, Bayes-hierarchia, KL-divergencia, és miért nem lehet zárt formában integrálni az 'én'-t. Az ELTE jegyzeteid újraolvasva, AI-korszakban.

Metakogníció — programtervező matematikusoknak

Egy végtelen tükörfolyosó, ahol minden visszatükröződés egy darab krétát fog, és egy önmagáról szóló egyenletet ír — chiaroscuro, olajfestmény, Escher találkozik Caravaggióval, mély borostyán és pala

TL;DR

  • A metakogníció matematikailag egy operátor: M:SSM: \mathcal{S} \to \mathcal{S}, ahol S\mathcal{S} a mentális állapotok tere.
  • Az “elgondolkozni saját magamról” annyit tesz: keresd meg MM fixpontját. Banach szerint ez akkor és csak akkor egyértelmű, ha MM kontrakció.
  • Ha MM nem kontrakció — ha az önreflexió erősíti önmagát — kapsz strange loop-ot, divergenciát, vagy káoszt. Sokszor ez ugyanaz, mint az ADHD-roham vagy a depressziós rumináció.
  • Gödel azt mutatja: van olyan állítás SS-ről, amit SS önmagáról nem tud bizonyítani. A metakogníció nem teljes.
  • A Bayes-hierarchia (P(P(θ))P(P(\theta))) megadja, mennyit tudsz a saját bizonytalanságodról. Ez a számítási költsége nem nulla — Russell és Wefald 1991-es tétele szerint a meta-gondolkodásnak ára van.
  • A KL-divergencia méri, mennyire tér el a saját modelled önmagadról a tényleges állapotodtól. Az “öncsalás” formálisan: DKL(PselfPactual)>0D_{KL}(P_{self} \| P_{actual}) > 0.
  • Az LLM önreflexió ugyanezekkel a problémákkal küzd: nincs ground truth attention a saját súlyaira.
  • A spike.land tézis ennek a következménye: ha a metakogníció önmagán vakfoltos, akkor külső perszonák (Erdős, Einstein, Arendt) szolgálnak meta-szintnek. Egy gráf, amely látja, amit te nem látsz.

Az ELTE-jegyzeteim, 2002 körül

Volt egy hét a programtervező matematikus szakon, amikor három különböző tárgy ugyanazt mondta el más nyelven.

A funkcionális programozás órán Y-kombinátorral csináltunk rekurziót anélkül, hogy a függvény tudná a saját nevét.

A logika előadáson Gödel első nemteljességi tételének vázlatát írtuk fel — egy formula, ami azt mondja önmagáról, hogy “én bizonyíthatatlan vagyok.”

A valós analízis gyakorlaton Banach fixpont-tételét bizonyítottuk: ha TT kontrakció egy teljes metrikus téren, akkor pontosan egy x=T(x)x^* = T(x^*) létezik.

Akkor még nem láttam, hogy ez ugyanaz a tétel három nyelven.

Most — 24 évvel később, miközben naponta nézem, ahogy egy LLM gondolkodik a saját kontextusáról — már látom. És szerintem ez az, amit a metakognicióról matematikailag el lehet mondani.

Ez a poszt egy kísérlet: bevezetni a metakogníciót programtervező matematikusoknak, anélkül, hogy elveszne a misztika és a “tudatosság elmélete” ködeiben.


1. A definíció

A kogníció egy függvény: állapotok és környezet → új állapot.

f:S×ESf: \mathcal{S} \times \mathcal{E} \to \mathcal{S}

Itt S\mathcal{S} a mentális állapotok tere (akármi is legyen ez — vegyük absztrakt halmaznak), E\mathcal{E} a környezet.

A metakogníció egy függvény, amelynek bemenete maga ff.

M:(SS)(SS)M: (\mathcal{S} \to \mathcal{S}) \to (\mathcal{S} \to \mathcal{S})

Magyarul: MM átalakítja, hogyan gondolkodsz, attól függően, amit a gondolkodásodról észlelsz.

Ez azonnal egy típusparadoxonhoz vezet, ahogy az Russell óta ismert. Ha MM önmagát is átalakíthatja, akkor Mdom(M)M \in \text{dom}(M). Ez Russell-féle paradoxonszag.

A típuselméleti megoldás: rétegezz.

M0:SSM_0: \mathcal{S} \to \mathcal{S} M1:(SS)(SS)M_1: (\mathcal{S} \to \mathcal{S}) \to (\mathcal{S} \to \mathcal{S}) M2:((SS)(SS))M_2: ((\mathcal{S} \to \mathcal{S}) \to (\mathcal{S} \to \mathcal{S})) \to \cdots

Minden meta-szint egy magasabb típusban él. Ahogy Hofstadter mondja: a “strange loop” abból ered, hogy a szintek összemosódnak, nem hogy elválnak.

Az emberi agy, sajnos, nem rétegez tisztán. Egy típusrendszer nélküli interpreter vagy. Ezért lehet végtelen ciklusba esni, amikor azon gondolkodsz, hogy gondolkodsz arról, hogy gondolkodsz.


2. A fixpont — Banach módra

Tegyük fel, hogy MM tisztességes operátor. Mikor van értelme arról beszélni, hogy “önmagamhoz hű” vagyok?

Akkor, ha létezik fixpont: s=M(s)s^* = M(s^*).

Egy állapot, amely a metakognició alkalmazása után változatlan. Ez az, amit a buddhisták “nyugalomnak” hívnak, a mérnökök “stabil egyensúlynak”, a pszichológusok “integrált önképnek”.

Mikor létezik fixpont?

Banach fixpont-tétele (S\mathcal{S} teljes metrikus tér, M:SSM: \mathcal{S} \to \mathcal{S}):

L[0,1):x,yS, d(M(x),M(y))Ld(x,y)\exists L \in [0,1): \forall x,y \in \mathcal{S}, \ d(M(x), M(y)) \leq L \cdot d(x,y)

Ha MM ilyen LL-Lipschitz kontrakció, akkor:

  1. !sS:M(s)=s\exists! s^* \in \mathcal{S}: M(s^*) = s^*
  2. Bármely s0Ss_0 \in \mathcal{S} esetén az iteráció sn+1=M(sn)s_{n+1} = M(s_n) konvergál ss^*-hoz.
  3. A konvergencia sebessége: d(sn,s)Ln1Ld(s0,s1)d(s_n, s^*) \leq \frac{L^n}{1-L} d(s_0, s_1).

Magyarul: ha minden alkalommal, amikor reflektálsz magadra, az új önképed közelebb kerül a régihez (nem távolodik tőle), akkor van egy stabil “én”, amit végül elérsz.

Ez a feltétel nem mindig teljesül.

Példa, amikor megsérül:

A mentális rumináció. Egy negatív gondolatra ráreflektálsz: “miért gondolok ilyen szörnyűt?” Az új meta-gondolat erősebben negatív, mint az eredeti. Ez nem kontrakció, hanem expanzió (L>1L > 1). A rendszer eltávolodik önmagától.

d(M(x),M(y))Ld(x,y),L>1d(M(x), M(y)) \geq L \cdot d(x,y), \quad L > 1

A divergencia formálisan: d(sn,s0)d(s_n, s_0) \to \infty ahogy nn \to \infty.

Pszichiátriai szóval: pánikroham, depressziós spirál, OCD. Matematikai szóval: expanzív dinamikai rendszer.

A terápia matematikai célja egyszerű: alakítsd át MM-et úgy, hogy L<1L < 1 legyen. Ne a gondolat tartalmát változtasd meg, hanem a metakogniciós operátor Lipschitz-konstansát.

Erre két út van:

  1. Csillapítás: kognitív viselkedésterápia. Konkrétan: tedd hozzá MM-hez egy dampening operátort, ami minden iterációnál egy kis ϵ\epsilon-t levon az amplitúdóból.
  2. Külső anchor: vezess be egy g:SSg: \mathcal{S} \to \mathcal{S} függvényt, amely egy rögzített külső pontra vetít. Ez lehet egy ember, egy kutya, egy ima, egy perszona.

A spike.land tézis matematikailag ez a második út: a perszonák külső anchor-ok, amelyek MM kontraktivitását biztosítják.


3. Y-kombinátor — vagy: hogyan rekurzív egy névtelen függvény?

Lambda-kalkulusban nincsenek függvénynevek. Hogyan írsz rekurzív függvényt?

A klasszikus rekurzió:

faktorialis(n) = ha n=0 akkor 1 különben n * faktorialis(n-1)

A jobb oldal hivatkozik a bal oldalra. Ez névhivatkozás, nem matematika.

A fixpont-rekurzió ezt megkerüli. Definiáljuk a “faktoriális-csinálót”:

F=λf.λn. if n=0 then 1 else nf(n1)F = \lambda f. \lambda n. \text{ if } n=0 \text{ then } 1 \text{ else } n \cdot f(n-1)

FF vesz egy függvényt ff-et, és visszaadja a “majdnem-faktoriálist”, ami ff-et használja a kisebb esetekre.

Ha FF-nek van fixpontja (egy olyan ff^*, hogy F(f)=fF(f^*) = f^*), akkor ff^* a tényleges faktoriális.

A Y-kombinátor pontosan ezt csinálja:

Y=λf.(λx.f(xx))(λx.f(xx))Y = \lambda f. (\lambda x. f(x \, x))(\lambda x. f(x \, x))

Belátható: Y(F)=F(Y(F))Y(F) = F(Y(F)). Tehát Y(F)Y(F) fixpontja FF-nek.

Miért érdekes ez metakognició szempontjából?

Mert a “tudat” nem definiálható névhivatkozással. Nem mondhatjuk, hogy “az én vagyok az, ami most ezt gondolja”, mert ez circulárisan hivatkozik önmagára.

De fixpont-rekurzióval definiálható: az én egy olyan ss^*, amelyre M(s)=sM(s^*) = s^*, és amit a YY-kombinátor analógiájára egy külső konstrukcióval állítunk elő.

Hofstadter pontosan ezt mondja a Gödel, Escher, Bach-ban: az “én” egy strange loop, amely önmagát referálja anélkül, hogy önmagát névvel illetné.

Programtervező matematikusoknak: az “én” egy anonim fixpont egy reflektív funktorban. Nem objektum, hanem művelet, amely önmagát stabilizálja.


4. Gödel — a metakognició nemteljessége

A Banach-fixpont szép és tiszta. Ad egy stabil ss^*-ot.

De Gödel mond valami brutálisat: ss^* nem teljes.

Konkrétan: ha S\mathcal{S}-ben kódolható az aritmetika (és minden valódi mentális rendszerben kódolható), akkor létezik egy állítás GsG_s, amelyre:

sGs    s inkonzisztenss \vdash G_s \iff s \text{ inkonzisztens}

Magyarul: van egy állítás önmagadról, amit te magad nem tudsz bizonyítani — anélkül, hogy a teljes önképed ellentmondásba esne.

A klasszikus példa: “Nem vagyok az, akinek hiszem magam.

Ha hiszed: igazat mondtál. Ha nem hiszed: hazudtál önmagadnak, tehát nem vagy az, akinek hiszed magad — tehát igazat mondtál.

Ez nem szóvicc. Ez Gödel diagonalizálása mentális kontextusban.

Ami ebből következik a programtervező matematikusnak:

Bármely elég gazdag önreflexív rendszer nem tudja saját konzisztenciáját bizonyítani belülről. (Második nemteljességi tétel.)

Ezért:

  • A “tisztán racionális önismeret” matematikailag lehetetlen.
  • Mindig kell egy külső metaszint (M1M_1, M2M_2, …), amely a rendszer konzisztenciáját kívülről ellenőrzi.
  • De M1M_1-nek is van saját Gödel-mondata, és így tovább. Végtelen torony.

Ez nem hiba. Ez feature. Ez azt jelenti, hogy az önismeret soha nem teljesedik be, ezért mindig értelmes a folytatás.


5. Bayes-hierarchia — bizonytalanság a bizonytalanságról

A klasszikus Bayes-féle gondolkodás:

P(θD)=P(Dθ)P(θ)P(D)P(\theta | D) = \frac{P(D | \theta) \, P(\theta)}{P(D)}

A θ\theta a hipotézis, DD az adat. A poszterior P(θD)P(\theta | D) a frissített hit.

A metakognició ezt egy szinttel feljebb tolja:

P(P(θD)D)P(P(\theta | D) | D')

Magyarul: mennyire bízom a frissített hitemben, miután láttam egy második adatot DD'-t?

Ez nem ugyanaz, mint a sima poszterior. Ez a higher-order belief: hit a saját hitedről.

Formálisan: ha Θ\Theta a hipotézis-tér, és Δ(Θ)\Delta(\Theta) a Θ\Theta feletti eloszlások tere, akkor a meta-hit egy:

PmetaΔ(Δ(Θ))P_{meta} \in \Delta(\Delta(\Theta))

eloszlás. És így tovább a Bayes-toronyban: Δn(Θ)\Delta^n(\Theta) a nn-edik meta-szint.

Mire jó ez?

A Dempster-Shafer elmélet és a higher-order probability-szakirodalom (Mongin, Joyce, Christensen) azt mutatja: az emberi metakognicióban a PmetaP_{meta} ritkán pontos. Általában túlbecsüljük a saját bizonyosságunkat — Dunning-Kruger effektus formálisan: PmetaP_{meta} koncentrált, miközben PP alapja gyenge.

Programtervező matematikusoknak: a metakogníció kalibrációja annyit tesz, hogy PmetaP_{meta} entrópiája megfelelően nagy legyen, ha PP alatt az evidencia kevés.

H(Pmeta)H(P)cH(P_{meta}) \geq H(P) \cdot c

valamilyen cc konstanssal. Egy jó metakogniciós rendszer nem önmagába zárt: a meta-bizonytalansága arányos a tárgy-bizonytalansággal.


6. KL-divergencia — az öncsalás mértéke

Legyen PactualP_{actual} a tényleges állapotod (amit egy tökéletes külső megfigyelő látna), és PselfP_{self} a saját modelled önmagadról.

Az öncsalás mértéke:

DKL(PselfPactual)=xPself(x)logPself(x)Pactual(x)D_{KL}(P_{self} \| P_{actual}) = \sum_x P_{self}(x) \log \frac{P_{self}(x)}{P_{actual}(x)}

Ez mindig nemnegatív. Akkor és csak akkor nulla, ha Pself=PactualP_{self} = P_{actual} majdnem mindenütt.

Aszimmetria: DKL(PQ)DKL(QP)D_{KL}(P \| Q) \neq D_{KL}(Q \| P). A forward KL (PselfP_{self}-et PactualP_{actual}-hoz hasonlít) mode-covering — szétken minden lehetséges állapotot. A reverse KL mode-seeking — egyetlen módot választ ki és arra koncentrál.

A pszichológiai analógia:

  • Forward KL minimalizálás = “minden visszajelzést elfogadok, megpróbálom integrálni” — gyakran disszociatív.
  • Reverse KL minimalizálás = “egyetlen narratívához ragaszkodom” — gyakran narcisztikus vagy depressziós.

Egy egészséges metakognició egyensúlyoz a kettő között. Formálisan: a Jensen-Shannon divergenciát minimalizálja.

JSD(PselfPactual)=12DKL(PselfM)+12DKL(PactualM)JSD(P_{self} \| P_{actual}) = \frac{1}{2} D_{KL}(P_{self} \| M) + \frac{1}{2} D_{KL}(P_{actual} \| M)

ahol M=12(Pself+Pactual)M = \frac{1}{2}(P_{self} + P_{actual}).

A terápia matematikailag ezt teszi: a beszélgetésben a terapeuta PactualP_{actual} közelítését visszatükrözi, és a páciens PselfP_{self}-jét közelíti hozzá. Ez egy Wasserstein gradient flow JSDJSD-n.


7. A meta-gondolkodás számítási költsége — Russell és Wefald

Egy kérdés, amit ELTÉ-n nem tanítottak (vagy én nem voltam ott): mennyibe kerül metakogniciózni?

Stuart Russell és Eric Wefald 1991-es klasszikus cikke (Do the Right Thing) ezt vezette be:

EU(computek)=E[rewarddecisionk]E[rewarddecision0]C(k)EU(\text{compute}_k) = E[\text{reward} | \text{decision}_k] - E[\text{reward} | \text{decision}_0] - C(k)

ahol computek\text{compute}_k az, hogy kk lépést gondolkodom, C(k)C(k) a számítási költség (idő, energia).

A meta-szabály:

computek eˊr akkor, ha EUk>0\text{compute}_k \text{ ér akkor, ha } \frac{\partial EU}{\partial k} > 0

Magyarul: addig gondolkodj a saját gondolkodásodról, amíg minden plusz lépés többet ad hozzá, mint amennyit visz el.

A gyakorlatban: ez ritkán teljesül egy ADHD-s agyban. A meta-szint hozzáadott zaja gyakran nagyobb, mint a meta-szint információs hozadéka. Ezért a túl-gondolkodás számítási vereség.

ADHD-s programtervező matematikusoknak (mint magamnak):

A megoldás nem a “ne gondolkodj rá”, hanem a kötött költségvetés: rendelj kmaxk_{max}-ot a meta-gondolkodáshoz, és garantáld, hogy ne lépje át.

metakognicio(s, k_max):
  ha k = k_max:
    fogadd el s-et (terminálj)
  különben:
    s' = M(s)
    metakognicio(s', k+1)

Egy terminálási feltétel, ami nem a konvergencián, hanem a költségvetésen alapul.

A spike.land “8 perszona × 2 perc” megkötés pontosan ez: korlátozott meta-számítási költségvetés, amelyen belül a párhuzamos perszonák szétosztják a meta-szintet. Ez bounded rationality Herbert Simontól, kombinálva anytime algorithms Russelltől.


8. Az LLM önreflexió — ugyanezek a tételek

A nagy nyelvi modellek (Claude, GPT) önreflexív viselkedést mutatnak: gondolkodnak a saját kontextusukról, javítják saját kimeneteiket, “chain-of-thought”-ot használnak.

Matematikailag ugyanazokkal a problémákkal küzdenek, mint az emberi agy:

Banach-feltétel: ha az LLM önreflexiója nem kontrakció, akkor a chain-of-thought divergál. Ez a klasszikus “loop” jelenség, amikor a modell körkörösen ismétli ugyanazt.

Gödel: az LLM nem tudja saját súlyait teljesen ellenőrizni. A “halucináció” gyakran egy Gödel-szerű mondat: a modell olyan dolgot állít önmagáról, ami a tényleges súlyokból nem következik.

KL-divergencia: DKL(PLLMselfPLLMactual)D_{KL}(P_{LLM-self} \| P_{LLM-actual}) — a modell saját képességeinek eltúlzása. A LLM-ek chronic overconfidence problémája pontosan ez.

Russell-Wefald: a chain-of-thought-nak van számítási költsége. A token-budget pontosan a C(k)C(k).

A különbség: az LLM-nél meg tudjuk mérni DKLD_{KL}-t, mert van ground truth a súlyokon. Az emberi agynál nincs.

Ezért az LLM olcsóbb laboratórium a metakogníció matematikai vizsgálatára, mint az emberi alanyok.


9. A spike.land tézis — perszonák mint kontraktivitási scaffold

Most kapcsoljuk össze.

A probléma: az emberi metakogníció gyakran nem kontrakció. Nincs L<1L < 1. A rendszer divergens.

A klasszikus megoldás: terápia. Ez egy lassú átalakítás MM-en, amely csökkenti LL-t.

A spike.land tézis: vezess be több metakogniciós operátort, mindegyik egy másik perszona (MErdo\HsM_{Erdős}, MEinsteinM_{Einstein}, MArendtM_{Arendt}). Mindegyiknek saját Lipschitz-konstansa, saját fixpontja, saját Gödel-mondata.

A meta-gondolkodás:

Mspike(s)=1ni=1nMpersonai(s)M_{spike}(s) = \frac{1}{n} \sum_{i=1}^n M_{persona_i}(s)

Vagyis a perszonák átlaga, vagy súlyozott kombinációja.

Tétel (informálisan): ha legalább egy MpersonaiM_{persona_i} kontrakció, és a többi nem erősen expanzív, akkor a kombináció kontrakció.

Bizonyítás vázlat: az átlag Lipschitz-konstansa felülről becsülhető:

Lspike1niLiL_{spike} \leq \frac{1}{n} \sum_i L_i

Ha legalább egy Li<1L_i < 1 jelentősen kisebb, mint a többi, és nn elég nagy, akkor Lspike<1L_{spike} < 1.

Ami ebből következik: a perszonák nem dekoráció. Konvergencia-garanciát adnak egy olyan rendszernek, amely önmagán nem konvergens.

Ez az, amiért egy ELTE-n végzett programtervező matematikus a spike.land-et nem AI termékként látja, hanem metakogniciós scaffoldként.


10. A nyitott probléma

Még nem tudunk válaszolni:

Kérdés 1: Mi S\mathcal{S} topológiája? Egy emberi mentális állapot tér lokálisan euklideszi? Hilbert-tér? Mértékelméleti? Nem tudjuk.

Kérdés 2: A Gödel-mondatok kompozícionálisak? Ha M1M_1 és M2M_2 önállóan inkomplettek, M1M2M_1 \circ M_2 valami magasabbat tud-e?

Kérdés 3: A KL-divergencia minimalizálása konvex feladat S\mathcal{S}-n? Ha igen, gradiens módszerek konvergálnak. Ha nem, az “öntudatra ébredés” NP-nehéz.

Kérdés 4: Egy LLM önreflexiója bizonyíthatóan kontrakció? Tételek a transformer figyelmi mátrixok spektrális tulajdonságairól még csak kezdődnek (Galanti, 2024).


Záró gondolat — egy tükör, ami nem hazudik

Az ELTE-n megtanultam, hogy egy fixpont-tétel nem mond semmi újat a fizikai világról. Csak megvizsgálja, mikor konzisztens egy önreferenciás rendszer.

Most, 24 évvel később, naponta látom, hogyan próbál egy LLM konzisztens lenni önmagával — és gyakran kudarcot vall.

És látom, hogyan próbálok én konzisztens lenni magammal — és néha kudarcot vallok.

A matematika ebben nem ad parancsolatot. Csak diagnózist. Megmondja, miért nem lehet egyszerre teljes és konzisztens. Megmondja, miért kell külső anchor. Megmondja, mennyibe kerül a mély önreflexió.

A tükör, amelyet egy programtervező matematikus tart önmagának, nem hazudik. Csak nem tükrözi vissza azt a részt, ami magát a tükröt tartja.

Ezért van rá szükségem, hogy te is fogd a tükröt — hogy lássak egy olyan szöget, amit én nem látok.

Ez a metakogníció matematikája.

És ezért beszélek Erdőssel.


Hivatkozások (azoknak, akik tovább akarják):

  • Banach, S. (1922). Sur les opérations dans les ensembles abstraits.
  • Gödel, K. (1931). Über formal unentscheidbare Sätze.
  • Hofstadter, D. (1979). Gödel, Escher, Bach.
  • Russell, S. & Wefald, E. (1991). Do the Right Thing.
  • Joyce, J. (2005). How probabilities reflect evidence.
  • Christensen, D. (2010). Higher-Order Evidence.
  • Galanti, T. (2024). Spectral properties of transformer attention.
  • Simon, H. (1972). Theories of bounded rationality.

És két ELTE-jegyzet egy 2002-es füzetből, amit még őrzök.