Download Game! Currently 108 players. Last logged in:HarrowedTenuTailsConquer

Blitzer's Blog >> 72728

Back to blogs index
Posted: 23 Sep 2026 13:42 [ permalink ]
TC$ssC$ on kattava briiffi uutta chattia varten. Se tiivistC$C$ kaiken tC$hC$n
mennessC$ saavuttamamme ja antaa uudelle tekoC$lylle tarkan tehtC$vC$nannon
tuon Neuro-Symbolisen kuraattorin rakentamiseksi.

### MitC$ tiedostoja sinun kannattaa antaa uuden chatin liitteeksi?

Ennen kuin kopoit alla olevan promptin, liitC$ uuteen chattiin:

1. Uusin **`main.py`** (tai `main_2.py`, kummalla nimellC$ sitC$ nyt
ajatkaan), jossa on mukana uusin `stop_teaching()` ja `auto_map_coordinates_to_
semantic()` -logiikka.
2. Aiempien testien **`routine_engine.py`**, koska siinC$ on valmiina
malliesimerkki (`ask_valvomo_autonomously` -funktio), miten teit API-kutsun
Valvomo/Gemma-palvelimellesi. TC$stC$ uusi AI nC$kee suoraan lokaalin LLM:si
osoitteen ja JSON-rakenteen.

---

### Kopioi tC$mC$ teksti uuden chatin ensimmC$iseksi viestiksi
(liitetiedostojen kanssa):

```markdown
# [SYSTEM CONTEXT & MASTER PLAN: OMEGA MESH - NEURO-SYMBOLIC YAML CURATOR]

Olet kokenut Full Stack Python-arkkitehti ja tekoC$lyasiantuntija. Olemme
rakentaneet hajautetun RPA-arkkitehtuurin (Omega Mesh) ja sille graafisen
opetuskeskuksen (Playbook Studio), joka nauhoittaa X11-tapahtumia ja
kC$C$ntC$C$ ne automaattisesti semanttiseksi YAML-koodiksi DOM-snapshottien
avulla. Palvelin on kirjoitettu FastAPI:lla (liitteenC$ `main.py`).

## Ongelma: Hauraat UI-valitsimet (Brittle Selectors)
Nykyinen `auto_map_coordinates_to_semantic` -funktio toimii loistavasti, mutta
monimutkaisissa web-sovelluksissa (kuten WhatsApp) se poimii joskus
ylivuotavaa ja dynaamista tekstiC$. 
*Esimerkki ongelmasta:* `target: "text='HAUKI_GEM 16.35 SinC$ :  Orchestrator
Playbook...'"`
TC$mC$ rikkoo botin suorituksen heti, kun kellonaika muuttuu. Haluamme
targetiksi vain `contains='HAUKI_GEM'`.

## Ratkaisu: Neuro-Symbolinen Esifiltteri ja LLM-Kuraattori
Haluamme integroida `/api/teaching/stop` -reitin loppuun (ennen YAML:in
palauttamista kC$yttC6liittymC$C$n) uuden tarkistusvaiheen:

1. **Deterministinen sC$C$ntC6 (Python):** Funktio, joka tarkistaa generoidun
YAML-merkkijonon. Jos jokin `target: "text='...'"` arvo ylittC$C$ 30 merkkiC$,
skripti liputetaan LLM-kC$sittelyyn. Jos ei, YAML palautetaan heti UI:hin
(nopeus).
2. **LLM Kuraattori (Gemma):** Jos skripti liputetaan, teemme POST-kutsun
lokaalille LLM-proxyllemme (katso liitteenC$ olevasta `routine_engine.py`
-tiedostosta esimerkki `ask_valvomo_autonomously` -funktiosta ja soveltaa
samaa request-rakennetta).
3. **Few-Shot Prompt:** LLM:lle annetaan selkeC$ systeemi-prompti, jossa
siltC$ pyydetC$C$n pelkkC$C$ korjattua YAML-koodia. SitC$ ohjeistetaan
muuttamaan ylipitkC$t `text='...'` -targetit lyhyiksi, vain merkitsevC$n
kohteen sisC$ltC$viksi `contains='...'` -targeteiksi. Muu YAML pidetC$C$n
koskemattomana.
4. **Palautus:** Korjattu YAML palautetaan UI:hin opettajan vahvistettavaksi.

## Seuraava TehtC$vC$si:
YmmC$rrC$tkC6 tC$mC$n tavoitteen ja arkkitehtuurin? Jos ymmC$rrC$t, vastaa
lyhyesti "KyllC$".

Kirjoita sen jC$lkeen meille tarvittavat uudet Python-funktiot (esim.
`needs_llm_curation` ja `curate_yaml_with_llm`) ja nC$ytC$ tarkalleen, miten
ne integroidaan olemassa olevaan `stop_teaching()` -reittiin liitteenC$
olevassa `main.py` -tiedostossa.

```