PäätöskaivuriTekoälyhaku ja kysymys–vastaus Helsingin kaupungin päätöksiin
Kysy suomeksi tai englanniksi mistä tahansa Helsingin kaupungin päätöksestä vuodesta 2017 alkaen — ja saat sekunneissa oikean, lähdeviitteillä varustetun vastauksen. Taustalla on noin 57 000 virallista päätöstä, jotka kaupunki julkaisee mutta joista kukaan ei käytännössä pystynyt hakemaan.
- Asiakas
- Helsingin kaupunki, kaupunkiympäristön toimiala
- Tila
- Tuotannossa syyskuusta 2026
- Malli
- Kuuden kuukauden hallittu kokeilujakso, sitten pysyvä lähdekoodilisenssi ja täysi luovutus kaupungille
- Käytössä
- paatoskaivuri.fi — käyttöoikeus Helsingin kaupungin henkilöstölle
Aineisto tänään.
Noin kymmenen vuotta päätöksiä
Toimielintä ja jaostoa — 13 nykyistä sekä 2 edeltäjälautakuntaa vuosille 2017–2022
Toimielinten kokousta (2 463 pöytäkirjalla)
Esityslistan kohtaa (26 748 HEL-diaarinumerolla)
Viranhaltijaa kaupunkiympäristön toimialan 6 palvelukokonaisuudesta
Viranhaltijapäätöstä
Upotettua tekstikatkelmaa — 453 492 toimielimistä + 91 198 viranhaltijoilta
Upotusvektorin ulottuvuutta katkelmaa kohden, lisäksi suomenkielinen kokotekstihakuindeksi
Laskettu tuotantotietokannasta marraskuussa 2026. Indeksoija kasvattaa arkistoa päivittäin.
Avointa dataa, jota kukaan ei pystynyt käyttämään.
Helsingin kaupunki julkaisee jokaisen toimielimen päätöksen ja jokaisen viranhaltijapäätöksen. Kaikki on julkista — mutta hajallaan 15 toimielimen ja lähes sadan viranhaltijan sivuilla, kullakin oma rakenteensa, sekaisin esityslistoja, pöytäkirjoja ja päätöstiedotteita.
Samaa asiaa käsitellään useassa toimielimessä kuukausien ajan, eikä sen käsittelyhistoriaa ole koottu minnekään. Kaikki on hallinnollista suomea, eikä semanttista hakua ole. Toimittajat, tutkijat, virkamiehet ja aktiiviset kaupunkilaiset törmäävät samaan seinään: data on avointa, mutta ei saavutettavaa.
Yksi avustaja koko arkiston päälle.
Käyttäjä kysyy luonnollisella kielellä. Järjestelmä hakee olennaiset päätökset sekä toimielinten että viranhaltijoiden aineistoista ja suoratoistaa perustellun vastauksen, jonka lähdeviitteet linkittävät suoraan alkuperäisille sivuille.
Se yhdistää kaksi erillistä maailmaa — toimielinten kokouspäätökset ja yksittäisten viranhaltijoiden päätökset — niin ettei käyttäjän tarvitse koskaan tietää, kummasta vastaus löytyy.
Käytössä 1. syyskuuta. Koko toimiala mukana 25. päivään mennessä.
Käyttöönotto
Päätöskaivuri otettiin käyttöön Helsingin kaupungin kaupunkiympäristön toimialalla: kuuden kuukauden hallittu kokeilujakso, sen jälkeen pysyvä lähdekoodilisenssi, aineisto, luovutus ja kolme koulutusta.
Yksitoista viranhaltijaa kahdessa päivässä
Käyttöönottopäivänä käyttäjät kysyivät viranhaltijoista, joita järjestelmä ei vielä kattanut. Yksitoista lisättiin kahdessa päivässä.
16 → 97 viranhaltijaa yhdessä yössä
24. syyskuuta kaupunki pyysi mukaan koko kaupunkiympäristön toimialan viranhaltijat. Toimitettu seuraavana päivänä: 97 viranhaltijaa, 16 717 aiempaa päätöstä täydennettiin yön aikana ilman yhtäkään virhettä, käytössä 25.9. — viikkoa ennen kaupungin asettamaa määräaikaa 1.10.
Neljä kyvykkyyttä, yksi järjestelmä.
Haku ja kysymys–vastaus
- Luonnollisen kielen kysymykset suomeksi ja englanniksi — vastaukset perustuvat oikeisiin päätöksiin ja sisältävät aina lähdeviitteet
- Yhtenäinen haku toimielinten ja viranhaltijoiden päätöksiin yhdellä kyselyllä
- Asian käsittelyhistoria — kokoaa HEL-diaarinumeron koko kronologisen käsittelyketjun
- Suomen kielen taivutuksen huomioiva aihehaku sanavartaloiden täsmäyksellä
- Suodatus päivämäärän, toimielimen, asiakirjatyypin ja päätöksen tilan mukaan
- Lähdeviitteet suorina linkkeinä alkuperäisille paatokset.hel.fi-sivuille
Keskustelukokemus
- Suoratoistava chat-käyttöliittymä — vastaus ilmestyy sana sanalta
- Käyttäjäkohtainen keskusteluhistoria haettavassa sivupalkissa
- Kaksikielinen käyttöliittymä — kielen voi vaihtaa kesken keskustelun kontekstia menettämättä
- Vaalea ja tumma teema, täysin mobiilioptimoitu
- Viestikohtainen palaute jatkuvaan laadunseurantaan
- Sanastovihjeet toistuville kunnallishallinnon termeille
Aina ajantasainen data
- Automaattinen indeksoija hakee uusimmat kokoukset ja päätökset useita kertoja päivässä
- Suora integraatio kaupungin viralliseen kokousaikataulurajapintaan
- Älykäs uudelleenindeksointi, kun esityslista korvautuu pöytäkirjalla
- Itsekorjautuvat uudelleenyritykset ja toimielinkohtainen kuntoseuranta
Ohjelmallinen rajapinta
- REST-rajapinta muuttaa minkä tahansa HEL-diaarinumeron selkeäksi, rakenteiseksi JSON-muodoksi
- Päätöksen sisältö, perustelut, esitys, käsittelyhistoria, liitteet ja yhteystiedot
- Kutsukohtainen token-laskutus, rajatut API-avaimet ja hallittu saldo
- Sama data tuotteistettuna kehittäjille
Viisi kerrosta, kaikki luovutetaan.
Tyypillinen kyselyn hinta noin 0,015 $, välimuistin ansiosta vähemmän. Hallusinaatiot ja hiljaiset virheet ovat bugeja, eivät erikoisuuksia.
Keruuputki (Python)
Kaksi erillistä päivittäistä indeksoijaa hakee HTML- ja PDF-aineistot, jäsentää rakenteiset kentät, pilkkoo tekstin (noin 800 tokenia limittäin), laskee upotukset ja kirjoittaa Postgresiin. Idempotentti ja itsekorjautuva.
Datakerros (PostgreSQL 18 + pgvector)
Molemmat aineistot yhdessä itse isännöidyssä tietokannassa. Jokainen katkelma tallentaa vektoriupotuksen sekä suomen- ja englanninkielisen kokotekstihakuindeksin. Tallennetut proseduurit kapseloivat hybridihaun (vektori + avainsana, Reciprocal Rank Fusion), asioiden haun molemmista aineistoista ja turvalliset vain luku -kyselyt.
Tekoälymoottori (agenttipohjainen työkalukäyttö)
Anthropic Claude -agentti (Claude Sonnet 5.5, reititykseen Haiku 5.5) kutsuu tyypitettyjä, turvallisia työkaluja sen sijaan, että generoisi SQL:ää vapaasti. Haetut katkelmat uudelleenjärjestetään Voyage AI:lla; vastaukset ovat perusteltuja ja lähdeviitteillä varustettuja.
Verkkosovellus (Next.js + React)
Suoratoistava chat, kirjautuminen, käyttäjäkohtainen historia, kaksikielinen käyttöliittymä, palautteen keruu ja laskutukseen kytketty REST-rajapinta. Jokainen kysely lokitetaan vianetsintää ja auditointia varten.
Käyttöönotto (itse isännöity, asiakkaan omistettavissa)
Oma Hetzner-palvelin Helsingissä: itse isännöity PostgreSQL 18 + pgvector, nginx + TLS, systemd, ajastetut indeksoinnit, yölliset tietokantavedokset ja palvelintason varmuuskopiot. Mikään ei riipu suljetusta alustasta — kaupunki voi ottaa kokonaisuuden haltuunsa.
Kaikki, mitä kaupunki tarvitsee ajaakseen sitä ilman meitä.
- 01
Yhtenäinen verkkosovellus — chat-käyttöliittymä, tekoälymoottori, kirjautuminen, historia, palaute ja laskutusrajapinta
- 02
Kaksiosainen datankeruujärjestelmä suoralla kokousaikataulurajapinnan integraatiolla
- 03
Täydellinen, idempotentti tietokantaskeema hakufunktioineen ja käyttöoikeuskäytäntöineen
- 04
Koko aineisto — noin 57 000 päätöstä ja 545 000 upotettua katkelmaa marraskuussa 2026 — palautettavana tietokantavedoksena
- 05
Täysi dokumentaatio: arkkitehtuuri, asennus- ja käyttöönotto-ohje sekä ylläpito-opas
- 06
Hallittu käyttö kokeilujakson ajan, sitten luovutus ja koulutus
Lisenssi, kokeilujakso, luovutus.
Päätöskaivuri toimitettiin pysyvänä, ei-yksinomaisena lähdekoodilisenssinä ja kuuden kuukauden hallittuna kokeilujaksona: SisuMVP ajaa palvelua ja vastaa isännöinti- ja tekoälykuluista kokeilun ajan ja luovuttaa sen jälkeen palvelimen, tunnukset ja ylläpidon perehdytyksineen ja siirtymädokumentaatioineen. Kaupunki omistaa koodin, datan ja isännöinnin — ei pysyvää riippuvuutta SisuMVP:stä. Aineiston valmiiksi lasketut upotukset ovat toimituksen painavin yksittäinen arvo: maksettua tekoälylaskentaa, jota asiakkaan ei tarvitse koskaan tehdä uudelleen. Hankittavissa tavanomaisin suomalaisin julkisen sektorin ehdoin.
Onko sinulla aineisto, josta kukaan ei pysty hakemaan?
Vaikeat osat on rakennettu ja koeteltu tuotannossa. Toinen samanlainen järjestelmä maksaa murto-osan ensimmäisestä.