d003f73217
CodeBench: tyhjennä GPU-muisti jokaisen kierroksen alussa
...
clearVram()-funktio vapauttaa kaikki Ollama-mallit VRAM:sta ennen testiä.
2026-04-14 17:47:55 +03:00
882bcece06
CodeBench: kirjoita results.json jokaisen kierroksen jälkeen
...
Välitulokset näkyvät heti tiedostossa, ei tarvitse odottaa koko ajon loppua.
2026-04-14 17:45:54 +03:00
477c21efd0
CodeBench: Rust golden example — todo-rs.md + kielitietoinen valinta
...
- Luotu todo-rs.md golden example Rust-referenssitoteutuksesta
- getGoldenForModel() huomioi nyt LANG: todo.md → todo-rs.md Rust-moodissa
- Korjattu golden-compact-rs.md /:id → /{id} bugi
- Juurisyy: malli sai Python golden examplen mutta piti generoida Rustia
2026-04-14 17:37:38 +03:00
088bad7b21
CodeBench: code-rs.md — spawn_server-esimerkki, {id} vahvistus, init_db yksinkertaistus
...
- Eksplisiittinen spawn_server()-koodi testien promptiin (async move wrappaus)
- {param} reittiohje vahvistettu kahdesti, chaining-ohje
- init_db: .expect() ei Result
- "You MUST generate ALL 6 files"
2026-04-14 17:08:26 +03:00
de3e33d46e
CodeBench: code-rs.md — korjaa Rust-prompti kolmeen kriittiseen ongelmaan
...
- sqlx::query_as::<_, T>() runtime-funktiot, EI query_as!() compile-time makroja
- Route path {id} syntaksi, ei /:id (axum 0.8)
- app(pool) ottaa SqlitePool ja kutsuu .with_state(pool)
- Lisätty RETURNING, Result-palautustyypit, testiohjeistus
2026-04-14 16:40:15 +03:00
dcdb360098
Benchmark-tulokset: orkestrointi nosti 8b blogin 0p → 80p (med)
...
Orkestroitu 5 kierrosta: [0, 80, 80, 0, 80] med:80
3/5 kierrosta 100% testit läpi (11/11, 12/12, 11/11).
2/5 kaatui JSON-speksi -vaiheessa (ei orkestroinnin ongelma).
2026-04-14 15:45:27 +03:00
0b926c2cad
CodeBench Taso 3: orkestrointi — pilko entiteetti kerrallaan pienille malleille
...
Small-profiili + >1 entiteettiä → generoi entiteetti kerrallaan:
1. Author (yksi entiteetti, 8b osaa)
2. Syötä Author-koodi → generoi Post + FK
3. Yhdistä ja testaa
Large-profiili jatkaa kuten ennen (kaikki kerralla).
2026-04-14 15:00:40 +03:00
a8f731d38e
CodeBench: palautetaan 8b todo-readme.md — combined liian iso, hukkuu
...
combined-readme aiheutti uusia virheitä (POST 200 vs 201, 405).
Malli ei pysty käsittelemään kahta esimerkkiä kerralla.
2026-04-14 14:58:15 +03:00
5d0baf3ff1
CodeBench: combined-readme.md — todo + blog golden example 8b:lle
...
Molemmat esimerkit (single entity + FK relaatio) yhdessä tiedostossa.
1699 tokenia, 10.4% kontekstista. 8b näkee konkreettisen FK-patternen.
2026-04-14 14:54:12 +03:00
8e9fbc5422
CodeBench: code-small — FK update-testiesimerkki (author_id mukana PUT:ssa)
...
8b:n test_update_article palautti 422 koska author_id puuttui.
Lisätty konkreettinen test_update_post esimerkki FK-kentän kanssa.
2026-04-14 14:15:09 +03:00
06089a58b2
CodeBench: code-small — ForeignKey importin tarkennus (sqlalchemy, ei .orm)
...
8b importtaa ForeignKey väärästä paikasta (sqlalchemy.orm).
Lisätty eksplisiittinen "NOT from sqlalchemy.orm!" -varoitus.
2026-04-14 14:05:59 +03:00
a25c52cff4
CodeBench: mallikohtainen golden example (profiles.json → golden kenttä)
...
qwen3-coder:30b → todo.md (annotaatiot)
qwen3:8b → todo-readme.md (GitHub README -muoto, tutuin koulutusdata)
Golden example ladataan dynaamisesti per malli pipelinen sisällä.
2026-04-14 14:04:28 +03:00
0c3303a640
CodeBench: tyhjennä VRAM automaattisesti ennen testiajoa
2026-04-14 14:00:38 +03:00
ba48b737f2
CodeBench: --scenarios tukee yksittäistä skenaariota (todo/users/blog)
2026-04-14 13:58:38 +03:00
a3f1ead3e6
CodeBench: code-small — test_list assert >= 1 (ei == 1)
...
8b:n blog kaatui koska test_list assertoi tarkkaa määrää
vaikka testit jakavat saman tietokannan.
2026-04-14 13:58:13 +03:00
7fe72480b1
CodeBench: qwen3:8b primary-rooliin, FK-esimerkit code-small promptissa
...
profiles.json: role-kenttä (primary/backup/minimal/retired).
code-small.md: lisätty konkreettinen FK-pattern ja testi-esimerkki
relaatioille — 8b:n blog-skenaario kaatui koska ei osannut FK:ta.
2026-04-14 13:55:40 +03:00
92964e322f
CodeBench: mallikohtaiset promptiprofiilit (profiles.json)
...
- profiles.json: malli → profiili → prompti -mappaus
- code-small.md: tiivistetty prompti pienille malleille (8b, 4b)
- benchmark valitsee automaattisesti oikean promptin mallin perusteella
- qwen3-coder:30b → code.md (large), qwen3:8b → code-small.md (small)
2026-04-14 13:54:26 +03:00
e54c1b057c
Golden example: tarkat 6 testiä per entiteetti, ei ylimääräisiä
...
Malli generoi test_search, test_filter yms. joita ei ole endpointeissa.
Nyt todo.md listaa tarkalleen 6 testiä per entiteetti nimillä.
2026-04-14 12:56:50 +03:00
1de7e5c90b
CodeBench: nopea syntaksitarkistus ennen Docker-ajoa
...
py_compile tarkistaa .py-tiedostot millisekunneissa.
Syntaksivirhe → suoraan itsekorjaukseen, ohitetaan Docker (~10s säästö).
2026-04-14 12:52:03 +03:00
e360896436
CodeBench Taso 4: itsekorjaava looppi — syötä pytest-virhe mallille
...
Jos testit epäonnistuvat, LLM saa virheilmoituksen + koodin ja korjaa.
Max 3 korjauskierrosta. Testattu: qwen3:8b users 0/6 → korjaus → 6/6.
2026-04-14 12:46:06 +03:00
6a40ca5730
CodeBench: golden example markdown-muodossa (koodi + selitykset)
...
todo.md yhdistää koodin ja annotaatiot: miksi pattern on valittu,
mitä EI saa tehdä. 1567 tokenia (vs raaka 1340, compact 335).
Benchmark lataa .md-version oletuksena, fallback erillisiin tiedostoihin.
2026-04-14 12:38:25 +03:00
2d470ee418
CodeBench: deprecated-patterns.md + inline deprecated-säännöt promptissa
...
Lisätty SQLAlchemy 2.0, Pydantic v2, FastAPI ja Python deprecated →
modern patterniparit. Uusimmat dokumentaatiot tarkistettu 2026-04-14.
2026-04-14 12:28:35 +03:00
062e6af776
CodeBench: vahvista CRITICAL-sääntö — ei ylimääräisiä kenttiä
...
qwen3:14b lisäsi created_at spekin ulkopuolelta ja käytti
server_default=datetime.now (virheellinen). Nostettu CRITICAL-tasolle.
2026-04-14 12:27:10 +03:00
75870c1100
CodeBench: korjaa aikaleima-sääntö — ei lisää ylimääräisiä kenttiä, func import
...
func.now() aiheutti NameError koska mallit eivät importanneet func:ia.
Uusi lähestymistapa: kielletään ylimääräiset kentät, ja JOS speksissä
on aikaleimat niin käytetään server_default + func import.
2026-04-14 12:18:36 +03:00
6e83fad31d
CodeBench: 3 uutta promptisääntöä 5-kierroksen virheanalyysistä
...
1. Aikaleimakentät: server_default=func.now(), ei pakollisia Create-schemassa
2. Ei ylimääräisiä filter/search-endpointeja
3. Ei ylimääräisiä kenttiä spekin ulkopuolelta
2026-04-14 12:14:36 +03:00
0f3310996e
CodeBench: oletus-URL 127.0.0.1 localhostin sijaan (Node 18 IPv6-ongelma)
2026-04-14 11:08:21 +03:00
e2a16b8ff6
CodeBench: väliraportti jokaisen kierroksen jälkeen
...
Näyttää mediaanin, kaikkien kierrosten pisteet ja trendin (▲▼─).
2026-04-14 11:04:51 +03:00
a0d3748faf
CodeBench: --rounds N toistaa testiajot 1-10 kertaa
...
Kierrosyhteenveto näyttää mediaanin, min/max ja pass-raten per kierros.
Käyttö: node benchmark.mjs --models qwen3:14b --scenarios all --rounds 3
2026-04-14 11:03:00 +03:00
01b4fb8e22
CodeBench: --compact tiivistää golden examplen templaatiksi
...
Python: 1340 → 335 tokenia (−75%)
Rust: 3383 → 445 tokenia (−87%)
Käyttö: node benchmark.mjs --compact --models qwen3:4b
2026-04-14 10:59:39 +03:00
e7b33b7d6f
CodeBench: Rust-tuki (--lang rust), golden example todo-rs, Dockerfile.cargo-test
...
- golden-examples/todo-rs/: Axum 0.8 + SQLx + SQLite, 10 testiä
- prompts/code-rs.md: Rust-koodingenerointiprompt
- Dockerfile.cargo-test: rust:1.87-slim testikontti
- benchmark.mjs: --lang python|rust, kieliriippuvainen golden example,
parseri tukee cargo test -tuloksia, src/ alihakemistot
2026-04-14 10:55:50 +03:00
9da5540ca2
Golden example: todo-rs (Axum + SQLx + SQLite)
2026-04-14 10:50:16 +03:00
838d5fbd73
SUPERAGENTS.md: mallisuositukset VRAM-luokittain benchmark-datan perusteella
...
4GB qwen3:4b, 8GB qwen3:8b (95p), 16GB qwen3:14b (100p),
24GB qwen3-coder:30b (97p, 123 tok/s), 48GB molemmat rinnakkain.
Thinking-moodi huonontaa tuloksia. Yleismallit voittivat kooderimallit.
2026-04-14 10:33:35 +03:00
d02f6a51c1
CodeBench: --think lippu thinking-moodin testaamiseen
...
think:true + 3× token-raja (ajattelu vie ~2/3 tokeneista).
Käyttö: node benchmark.mjs --think --models qwen3:14b
2026-04-14 10:12:44 +03:00
8ba9ef83a3
CodeBench: num_ctx 16384 — rajoita konteksti-ikkuna VRAM-säästöksi
...
256K konteksti varaa ~15 GB KV-cachea vaikka benchmark käyttää ~3K.
16K riittää hyvin ja säästää merkittävästi VRAM:ia.
2026-04-14 09:49:30 +03:00
f50dc884a3
CodeBench: automaattinen aikaleima ja arkistointi results/-kansioon
...
Output-hakemisto /tmp/kipina-benchmark/2026-04-14T12-30/
Tulokset kopioidaan automaattisesti results/<aikaleima>.json/.html
2026-04-14 09:47:32 +03:00
7b27800390
Siirrä kipina-codebench projektin päätasolle
2026-04-14 09:44:14 +03:00
b93ae2fd1b
Golden examples: README.md — ohje uusien esimerkkien luomiseen
2026-04-14 09:44:02 +03:00
4c116428c3
kipina-codebench: itsenäinen benchmark-moduli git-submoduliksi
...
Refaktoroitu tests/-kansiosta omaksi moduliksi:
- prompts/ — kaikki promptit erillisinä .md-tiedostoina
- golden-examples/ — todo (taso 1) + blog (taso 2)
- benchmark.mjs lataa promptit ja esimerkit dynaamisesti
- Dockerfile.pytest, report-template.html, package.json, README.md
- results/ — tallennetut benchmark-tulokset
2026-04-14 09:42:20 +03:00
542230f091
Benchmark: promptisääntö — update-testidatan pitää sisältää kaikki pakolliset kentät
...
qwen3-coder:30b users 6/7: test_update_user lähetti luontipaiva=None
NOT NULL -kenttään. Uusi sääntö estää tämän.
2026-04-14 09:31:42 +03:00
c217271907
Benchmark-tulokset 2026-04-14: mistral-perhe ja top3-vertailu
...
top3: qwen3-coder:30b ★★★★★ 97p, codestral:22b ★★★★☆ 88p, qwen3.5:35b 40p
mistral: codestral:22b 80p, mistral-small3.1 30p, devstral:24b 44p
2026-04-14 09:30:40 +03:00
a08b5f3893
Benchmark: think:false — kytke ajattelu pois Ollama-kutsuissa
...
Thinking-mallit (qwen3.5) käyttivät kaikki tokenit ajatteluun
eikä content-kenttään jäänyt mitään. think:false pakottaa
suoran vastauksen ilman ajattelublokkia.
2026-04-14 08:48:03 +03:00
25b9ab0c37
Benchmark: käytä thinking-kenttää fallbackina jos content tyhjä
...
qwen3.5 palauttaa vastauksen thinking-kentässä kun content on tyhjä.
Lisätty debug-logi thinking-malleille.
2026-04-14 08:45:06 +03:00
62c9b6e17e
Benchmark: nosta token-rajoja thinking-malleja varten
...
qwen3.5 palauttaa ajattelun erillisessä thinking-kentässä,
content jää tyhjäksi jos tokenit loppuvat kesken.
Vaatimukset 1024→2048, speksi 2048→4096.
2026-04-14 08:42:32 +03:00
ad097ca712
Benchmark: HTML-raportti laskee pisteet itse (toimii vanhoilla tuloksilla)
2026-04-14 08:29:47 +03:00
868d116961
Benchmark: HTML-webbiraportit tuloksista
...
Standalone HTML-tiedosto joka sisältää:
- Yhteenvetokortit (keskiarvo, paras malli, nopein, testit)
- Mallikohtainen taulukko palkkikaavioilla
- Yksittäiset tulokset sortattavassa taulussa
- Dark mode, ei ulkoisia dependencyjä
2026-04-14 08:27:01 +03:00
02e3701d77
Benchmark: output-tokenit yhteenvetotaulussa per skenaario ja yhteensä
2026-04-14 08:20:32 +03:00
b3abf4e89f
Benchmark: mallikohtainen yhteenvetotaulu + kokonaisaika
...
Näyttää per malli: testit ja aika per skenaario, kokonaisläpäisy,
kokonaisaika, keskimääräinen tok/s ja keskipisteet.
2026-04-14 08:19:27 +03:00
9f2899b83d
Benchmark: pisteytys (0-100) ja tähtiluokitus tuloksissa
...
Pisteytys: speksi 10p + koodi 10p + testit 60p + korjaukset 20p.
Tähdet: ★★★★★ (90+), ★★★★☆ (70+), ★★★☆☆ (50+), ★★☆☆☆ (25+), ★☆☆☆☆ (1+).
Näkyy per-ajo rivillä, tulostaulussa ja yhteenvedossa.
2026-04-14 08:10:27 +03:00
4a811e4171
Benchmark: näytä kontekstin koko (promptin token-arvio) tuloksissa
2026-04-14 08:05:59 +03:00
8efbf96295
Golden example: blog (taso 2, relaatiot Author → Post)
...
13 testiä, ForeignKey-relaatio, uniikki suomalainen testidata
(Aleksis Kivi, Tove Jansson jne). Testattu Docker-kontissa.
2026-04-14 08:03:21 +03:00