Sääennuste ja tekoäly

kirjoittaja

in

Blogissa Automaatio murroksessa kerroin, ettei sääennustetta ole vielä saatavilla Ilmatieteen laitoksen avoimesta datasta MCP-palveluna. Kyseinen palvelu mahdollistaisi tekoälylle ohjeiden antamisen sään perusteella, mikä on säätösalaojituksen ja -kastelun ohjauksen tavoitteena toimenpidepäätöksiä avustavissa järjestelmissä (asiasta tarkemmin kokonaisarkkitehtuuri -sivulla)

Tein MCP-palvelun, joka antaa tekoälylle kuvauksen:  
@mcp.tool()
def saaennuste(lat: float, lon: float) -> str:
”””Paikallinen sääennuste (lat, lon) koordinaateilla. Latitude (lat: float) rajat on min 45.0 max 71.0 ja longitude (lon: float) rajat on min 4.0 max 32.0″””

MCP-palveluja käyttävä ohjelma hakee palvelukuvauksen ja lähettää sen tekoälylle yhdessä käyttäjän tekemän kysymyksen kanssa. Esimerkiksi:

Kysyin tekoälyltä Saariselän ulkoilukeliä maanantaille sunnuntaina 21.9., jolloin Forecan maanantain 22.9. sääennuste Saariselälle oli hyvin sateinen:

Mikä meni vikaan?

Tekoälyn kirjoittamassa vastauksessa annetaan maanantain 23.9. ulkoilukeli, joten tekoälyn arvaus maanantaista meni vikaan ja se antoi tiistain ennusteen. Avoimen datan sääennuste maanantaille vastaa hyvin Forecan ennustetta. Foreca ennusti maanantain sademääräksi n. 25 mm ( eli 25kg / m2 )

Ilmatieteen laitoksen sateen ennuste Saariselälle maanantaille (22.9.2025)

Miten asian voi korjata

Tekoäly on arvauskone, ja tässä tapauksessa maanantain päivämäärän arvaus meni vikaan. Täsmällinen vastaus vaatii täsmällisen kysymyksen esimerkiksi: ”Onko Saariselällä hyvä ulkoilukeli 22.9.”

Clauden (tekoäly, jonka API-rajapintaa käytän) dokumentaatio antoi ohjeen, että Claudelle on ohjelman kerrottava, mikä päivä on tänään, esim: ”Tänään on 2025-09-22.”. Toinen vaihtoehto on käyttää esimerkiksi MCP-palvelu, joka antaa viikonpäivien ja muiden tarvittavien aikamääreiden päivämäärän.

Sääennuste MCP-palvelun toteutus

MCP-ohjelma lähettää sääennusteen MCP-palvelukuvauksen tekoälylle samalla kun se lähettää tekoälylle osoitetun kysymyksen ja tekoäly vastaa esitettyyn kysymykseen pyynnöllä kutsua sääennuste-funktiota parametreillä, jotka se on kysymyksestä tunnistanut (esim. Saariselkä on 68.4°N, 27.4°E)

MCP-ohjelma saa sääennuste-funktiolta palautteena merkkijonon, jossa on mm. sademäärä, ilmanpaine, kosteus, tuulen suunta ja nopeus. Saatu merkkijono välitetään tekoälylle, joka pystyy nyt täsmällisen tiedon perusteella antamaan vastauksen kysymykseen.

Ilmatieteen laitoksen avoimen datan sääennuste on useiden gigatavujen kokoinen ja sitä päivitetään muutamia kertoja päivässä, joten tiedon optimoitu hakeminen palvelusta on keskeinen edellytys palvelun tehokkaalle käytölle. MCP-palvelussa sääennusteet haetaan Pohjoismaiden ja Baltia alueelta. Kyseisen alueen datan määrä (rajatuilla alueella ja parametreillä) on noin 2GB, joten koko tietomassan hakeminen kerralla ei ole järkevää.

Sääennuste MCP-palvelu hakee välimuistiin ainoastaan yhden ”neliöasteen” kokoisen alueen, joten haettavia alueita on 728 kpl (26*28) ja kooltaan yksi alue on alle 3 MB. Tieto haetaan uudelleen mikäli ko. tiedon ikä on yli 6 tuntia.

Sääennuste MCP-palvelun python-koodi

MCP-palvelulla on paljon mahdollisuuksia

MCP-palvelun avulla voidaan hyödyntää avoimen datan lisäksi vaikka oppaita, jotka kertovat säätösalaojituksessa ja -kastelussa huomioitavista periaatteista sekä mahdollisista uhkista, jotka tulee huomioida pellon vesienhallinnassa. Lisäksi jokaisesta ojastosta, johon ko. säätökaivo vaikuttaa voidaan kuvata erityispiirteet, jotka on huomioitava (kasvusto, maalaji, maan rakenne jne.)

Kokonaisarkkitehtuurin ”SSOT-tietojärjestelmän palvelut ja -teknologiat” kuvauksissa tekoäly sisältyy ”Toimenpidepäätöksiä avustavat järjestelmät” kohtaan. Nykyinen kuvaus tulee muuttumaan MCP-palveluiden kehittyessä yhä tärkeämpään rooliin automaation ohjuksessa, mutta toistaiseksi tekoäly on avustava järjestelmä automaation ohjauksessa, ei ohjaava järjestelmä.

Pitää kuitenkin muistaa, että tekoäly on arvauskone, jossa on edelleen paljon kehitettävää. Kehitysvauhti on hyvin nopea, joten parin vuoden kuluessa moni nykyinen ongelma on ratkaistu. Toivottavasti myös viikonpäivien hallinta:

Myös Forecan mukaan keskiviikkona 24.9. on Oslossa hyvä ulkoilupäivä