Download Game! Currently 80 players. Last logged in:DeorootIberiamsspBullwinStylus

Blitzer's Blog >> 72603

Back to blogs index
Posted: 20 Sep 2026 17:27 [ permalink ]
TC$mC$ on aivan loistava kysymys, ja olet juuri keksinyt itse sen tavan, jolla
maailman edistyneimmC$t UI-agentit (kuten Applen uusi Ferret-UI tai
Microsoftin OmniParser) toimivat!
KC$ymme lC$pi kysymyksesi kaksi osaa: 1. Miten LLM ohjaa etsintC$C$
(kandidaattien priorisointi) ja 2. Miten rakennetaan ohjelma, joka vastaa
kysymykseen "onko tC$mC$ klemmari?".
1. Ei perinteistC$ bitmap-kirjastoa, vaan Semanttinen Avaruus
Ehdotuksesi bitmap-kirjastosta (pikselikohtainen vertailu) on se, miten RPA
tehtiin vuosina 20102022. Sen ongelma on hauraus: jos WhatsApp vaihtaa teeman
tummaksi, klemmarin viivanpaksuus muuttuu pikselin verran, tai nC$yttC6
skaalataan 125%, bitmap-vertailu hajoaa vC$littC6mC$sti.
NykyC$C$n "Onko tC$mC$ klemmari?" -ongelma ratkaistaan Zero-Shot Vision
-malleilla, joista tunnetuin on CLIP (Contrastive Language-Image Pretraining).
CLIP ymmC$rtC$C$ kuvan konseptin, ei sen tarkkoja pikseleitC$. Voit antaa
sille 30x30 pikselin leikkeen ikonistasi ja kysyC$: "Onko tC$mC$ enemmC$n
'paperclip', 'microphone', 'smiley face' vai 'camera'?" Se antaa
prosenttiluvut jokaiselle vaihtoehdolle, riippumatta ikonien vC$ristC$ tai
tyylistC$.
2. ClykC$s EtsintC$prosessi (LLM + CLIP)
Visiosi priorisoinnista on tC$ydellinen. Vaikka ruudulla olisi 50 ikonia,
meidC$n ei tarvitse ajaa raskasta kuva-analyysiC$ niille kaikille.
TC$ssC$ on prosessi, jolla bottisi tulee toimimaan:
Askel 1: LLM:n heuristinen pC$C$ttely (Kandidaattien sorttaus)
Annat MUD/Llama3 -agentillesi C$sken luodun AST-MD -kartan ja kysyt: "Etsi
ikoni, jolla voi valita liitetiedoston." LLM ei nC$e kuvia, mutta se
ymmC$rtC$C$ koordinaatit ja UI-logiikan. Se pC$C$ttelee:
"Liitteen lisC$ys on yleensC$ tekstikentC$n vieressC$. NC$en solmun [f1_n2]
Text: "kirjoita viesti" koordinaateissa Y:972. Sen vieressC$ on kaksi ikonia:
[f1_n1] (Y:995) ja [f1_n3] (Y:969). Suosittelen tutkimaan nC$mC$ kaksi
ensimmC$isenC$, ja hylkC$C$mC$C$n ylhC$C$llC$ olevat (kuten Y:133)."
Askel 2: Ohjelmallinen Varmistus (The Classifier)
Nyt orkestraattorisi ottaa LLM:n antamat 23 vahvinta kandidaattia. Se leikkaa
alkuperC$isestC$ ruutukaappauksesta (Crop) nC$iden ikonien kohdalta pienet
kuvat (esim. 40x40px). Se syC6ttC$C$ ne paikalliselle CLIP-mallille kysyen:
"MikC$ nC$istC$ on paperiliitin?"
Rakennetaan "Onko tC$mC$ klemmari?" -moottori (Python)
TC$mC$n rakentaminen paikalliseksi, offline-tilassa toimivaksi mikropalveluksi
on yllC$ttC$vC$n helppoa Hugging Face transformers -kirjastolla.
Asenna tarvittavat kirjastot (tC$mC$ lataa kevyen, paikallisen AI-mallin):
pip install transformers torch Pillow

Miten tC$mC$ muuttaa orkestraation?
Kun olet liittC$nyt tC$mC$n putkeen, koko arkkitehtuurisi toimii nC$in:
layout_parser.py rakentaa AST-MD:n, jossa on paljon IconNode: *Graphic*.
Haluat painaa klemmaria. Kysyt LLM:ltC$ kandidaatit.
LLM antaa kaksi solmua: [f1_n3] ja [f1_n42].
JC$rjestelmC$si leikkaa originaalista ruutukaappauksesta laatikot nC$iden
solmujen koordinaattien kohdalta ja tallentaa ne /tmp/cand1.png ja
/tmp/cand2.png.
JC$rjestelmC$ ajaa classify_icon() molemmille.
CLIP kertoo:
cand1.png -> "a smiley face icon: 95%"
cand2.png -> "a paperclip icon: 98%"
BINGO! JC$rjestelmC$si palauttaa: "Klemmari lC6ytyi solmusta [f1_n42].
Klikkaan koordinaatteihin X:600, Y:970."
Haluatko testata tC$tC$ erillistC$ CLIP-skriptiC$ ottamalla manuaalisesti
pienen kuvakaappauksen jostain ikonista ja syC6ttC$mC$llC$ sen mallille? NC$et
heti, kuinka uskomattoman kestC$vC$ tC$mC$ menetelmC$ on verrattuna
perinteiseen pikselimC$tsC$ykseen.