Gervigreindarforrit án vefþjóns, án reiknings, og ekkert fer úr símanum
Laugardagur í fjölskyldudagatalinu: „Piscine 10h avec Tom“. Sama kvöld fær barnið franska upplestraræfingu um sundlaugarferðina með Tom, skrifaða á þess getustigi, sem æfir samræmisregluna sem það hafði rangt fyrir sér um í síðustu viku.
Ekkert frá þeim laugardegi fer úr símanum. Hvorki dagatalsfærslan, né eiginnafn barnsins, né villurnar þess. Það er enginn reikningur til að stofna, enginn vefþjónn til að hringja í, engin tölfræði. Settu tækið í flugstillingu og forritið hegðar sér nákvæmlega eins og mínútu fyrr.
Forritið heitir Dictée Ludique. Ég skrifaði það, það er í App Store, og það er skýrasta svarið sem ég á við spurningu sem viðskiptavinir spyrja mig núna næstum í hverri viku: getum við gert gervigreindarhlutann án þess að senda gögn notenda okkar eitthvert?
Á vélbúnaði Apple er svarið já, og það er til í dag. Afgangurinn hér fjallar um hvað þurfti til, hvað það kostaði mig, og hverju iOS 27 breytir í september.
Af hverju ekki bara spyrja spjallmenni
Þetta er augljósa spurningin, og allt forritið varð til út frá henni.
Ég byrjaði eins og hver sem er. Ég bað spjallmenni um að skrifa upplestraræfingu fyrir níu ára barn, og það skrifaði eina. Meira að segja ágæta.
Svo gerði ég það aftur vikuna eftir og sá hvað ég var í rauninni með. Spjallmenni gefur þér texta. Það gefur þér ekki kerfi. Það veit ekki að þetta barn var öruggt með samræmi lýsingarháttar í nóvember og hafði misst það í janúar, að samhljóða orð hafi aldrei verið prófuð einu sinni, eða að síðustu þrír textar fjölluðu allir um sama fríið. Það var ég sem bar allt þetta og sló það inn aftur í hverja einustu fyrirmæli. Skrifin voru ókeypis. Bókhaldið var öll vinnan.
Það sem ég vildi var vélbúnaðurinn í kringum skrifin. Fimmtán stafsetningarfærni úr námskránni, fylgt eftir fyrir hvert barn, hver sett á náð, í vinnslu, valt eða ekki séð enn. Leiðréttingarskref eftir hverja æfingu sem færir þau stig og tekur foreldrið um fimmtán sekúndur. Svo næsti texti sem miðar fyrst á það valta og síðan á það sem hefur ekki komið upp enn, með lengd og þéttleika sem fylgja síðustu niðurstöðu, og án einnar einustu stillingar sem einhver þarf að setja upp.
Það þurfti líka að vera eins og leikur, sem er hinn helmingur nafnsins. Ekki stig og merki. Það er vísvitandi engin heildareinkunn neins staðar í forritinu, því meðaltal yfir fimmtán færniþætti þýðir ekkert og væri eina talan sem barn myndi muna. Leikurinn er sá að barnið fær þrjú spjöld og velur eitt, og að textinn fjallar um þess eigin laugardag frekar en ókunnugs. Barn skrifar öðruvísi þegar æfingin fjallar um afmælið þess frekar en köttinn hjá nágrannanum.
Textagerðin reyndist litli hlutinn. Lykkjan í kringum hana er forritið, og hún réð öllu hér fyrir neðan.
Af hverju skýið kom aldrei til greina
Það er regluverksástæða, og svo er ástæðan sem ég hafði í raun.
Regluverksástæðan er venjuleg. Þetta er barnaforrit selt í Evrópu, svo spurningar um persónuvernd koma með fyrsta foreldrinu sem opnar persónuverndarskjáinn, ekki eftir fjármögnunarlotu. Að safna engu þýðir ekkert að tilkynna, ekkert að leka og ekkert að útskýra.
Sú sem réð þessu í raun: forritið les fjölskyldudagatal. Það er persónulegasta skráin í síma. Þar eru sjúkrahústímar, afhendingar í sameiginlegu forræði, atvinnuviðtöl, vikan þegar einhver flutti út. Ég ætlaði ekki að leggja pípu þaðan í gagnaver sem ég á ekki, og engin persónuverndarstefna sem ég hefði getað skrifað hefði látið mér líða vel með það.
Takmörkunin kom því fyrst, og högunin varð að lifa með henni.
Dagatalið er síað áður en líkanið sér það
Þetta er hlutinn sem allir gera ráð fyrir að gervigreindin sjái um. Hún gerir það ekki.
Hrár titill viðburðar nær aldrei líkaninu. Það sem nær því er staðlaður nafnliður úr lokuðum lista með sjötíu og þremur þekktum myndum. „Piscine 10h avec Tom“ kemur út sem „la sortie piscine“. „Anniv de Tom“ kemur út sem „l’anniversaire de Tom“, og það eiginnafn, gripið af vísvitandi þröngu mynstri, er eini frjálsi textinn í allri keðjunni.
Borið er saman við orðamörk, sem hljómar smásmugulegt þar til maður sér hvað það kemur í veg fyrir. „ski“ má ekki kvikna á „Kandinsky“. „colo“, franska styttingin fyrir sumarbúðir, má ekki kvikna á „coloscopie“. Lengsta myndin vinnur, svo „sortie scolaire“ slær beran „sortie“.
Annar listi með sextíu og tveimur orðum dæmir allan viðburðinn úr leik strax: sjúkrahús, jarðarför, skilnaður, atvinnuleysi, fangelsi, og restin af þeim sviðum sem fjölskyldudagatal er fullt af. „Anniversaire de mamie à l’hôpital“ er ekki nothæft afmæli, þótt orðið afmæli standi þarna.
Það sem listinn þekkir ekki heldur engu nafni. Það birtist á foreldraskjánum sem tillaga án merkimiða, og það er ekki hægt að nota fyrr en foreldrið slær sjálft inn nafn á það. Hafnað einu sinni er það aldrei boðið aftur.
Lesglugginn er ósamhverfur af ásettu ráði: tvö ár aftur fyrir staka viðburði, tvær vikur fram, og aðeins ein vika aftur fyrir allt sem endurtekur sig. Barn man ferðalag árum saman. Júdótími fyrir átján mánuðum er hávaði.
Allt þetta er venjulegt Swift. Það er algildisbundið, það er þakið prófunum, og það er hlutinn sem vinnur raunverulegu persónuverndarvinnuna. Líkanið er síðasta skrefið, ekki það fyrsta.
Líkanið skrifar textann og ekkert annað
Textagerðin keyrir á líkani Apple í tækinu í gegnum Foundation Models umgjörðina, sem kom með iOS 26. Úttakið er stýrt: @Generable strúktúr með stuttum titli og fylki af setningum, með þak við tólf.
Setningar sem fylki frekar en ein blokk af texta, því líkanið heldur marklengd miklu betur þegar það telur setningarnar sjálft.
Líkanið er aldrei spurt hvar stafsetningargildrurnar liggja. Það er verk algildisbundins greinis með eigin prófunum. Líkan sem merkir eigið úttak hefur rangt fyrir sér öðru hverju án þess að nokkur taki eftir því, og það er verra en að hafa hávaðasamlega rangt fyrir sér.
Það sér heldur ekkert snið. Handskrifaða safnið verður að þjóna hvaða barni sem er, svo það ber staðgengla og samræmisvélbúnað. Hér þekkir forritið þegar eiginnafnið og málfræðilegt kyn þess, svo það biður um „Léa est partie“ í stað „{ENFANT} est parti{E_ENFANT}“. Heill flokkur villna hverfur.
Enginn myndaður texti fær frípassa
Hver myndaður texti fer í gegnum sömu sjö þrepa staðfestingu og handskrifaða safnið: orðaforði stilltur að bekkjarstigi, leyfðar tíðir, setningalengd, bönnuð svið, færnin sem barnið á að æfa, þess eigið eiginnafn, og dagatalsstundin sem er raunverulega nefnd.
Myndaður texti hefur engan forgang fram yfir texta sem manneskja las yfir. Hann hefur meira að segja aðeins minna, því hann þurfti þak sem safnið þurfti aldrei.
Þegar fimm tilraunir mistakast ber forritið fram texta úr safninu og segir ekkert. Barnið kemst aldrei að því að líkanið átti slæma mínútu.
Hvað líkanið í tækinu kostaði mig í raun
Þessi hluti er ekki í neinni WWDC kynningu, svo hér eru tölurnar úr annálum míns eigin tækis.
- Ein textagerð hljóp á sig í 48,9 sekúndur áður en hún dó á „Exceeded model context window size“. Hinar fjórar tilraunirnar, með sömu fyrirmælum, komu til baka á 2 til 3,5 sekúndum. Inntakið var aldrei vandamálið. Úttakið vildi ekki hætta. Þaðan kemur þakið við tólf setningar.
- Fyrsta uppkastið nær reglulega þriðjungi umbeðinnar lengdar. Mælt í einni lotu: 29 orð, svo 184, svo 34, gegn fyrirmælum sem báðu um 55 til 75. Að hækka hitastigið hristir aðeins upp í tilviljuninni. Að segja líkaninu á skýrri frönsku hvað það klikkaði á virkar. Endurtekningarlykkjan sendir því núna til baka setningu sem útskýrir frávikið, í stað þess að snúa bara upp á hitastigið.
- Líkanið framleiddi texta sem stóðst hverja einustu athugun og var samt rangur fyrir lesandann. Ellefu setningar fyrir níu ára barn, orðafjöldi innan marka, hver setning undir hámarki, og barnið fær skeyti. Manneskja hafði skrifað hvert snið í safninu, svo sú villa var aldrei til þar. Líkanið gerir hana af eftirtektarverðri þrautseigju, þaðan kemur þakið á setningafjölda.
- Varnir Apple fara í gang án þess að segja hvers vegna. Villan hljóðar „Detected content likely to be unsafe“ og ekkert annað. Fimm endurtekningar við hækkandi hitastig með sama inntaki mistakast fimm sinnum á sama hátt. Það sem forritið gerir núna er að fjarlægja hluti í röð: fyrst dagatalsstundina, því hún er eina efnið sem forritið skrifaði ekki sjálft, síðan efnisregluna í fyrirmælunum. Þrepið sem opnar er greiningin, og það fer í annálinn sem slíkt.
- EventKit kostaði mig eftirmiðdag af ástæðum sem höfðu ekkert með gervigreind að gera. EKEventStore sem er búið til fyrir leyfið heldur tómu skyndiminni allan líftíma ferlisins, svo dagatalslesturinn skilar núll viðburðum jafnvel eftir að foreldrið hefur ýtt á Leyfa. Og authorizationStatus(for:) dregst aftur úr veitingunni: á iPad kom beiðnin til baka sem true á meðan staðan, lesin þrettán millisekúndum síðar, sagði enn notDetermined. Hvort tveggja lítur nákvæmlega út eins og leyfisvilla og hvorugt er það.
Ein síðasta takmörkun mótaði forritið meira en allar hinar. Fimm tilraunir eru þakið þegar barn horfir á skjá sem segir „við skrifum æfinguna þína“. Forritið myndar því fyrirfram. Að lesa æfingu upphátt tekur mínútur, og myndarinn vinnur í þeim glugga, með þak við tíu umferðir á lotu, tengdur lestrarskjánum og stöðvaður þegar honum er lokað. Ekkert óstaðfest kemst nokkurn tíma í skyndiminnið. Það kaupir tíma, ekki linkind.
Hverju iOS 27 breytir
Stærstur hluti listans hér að ofan er leystur af útgáfunni sem kemur í september, sem er undarlegt að skrifa um umgjörð sem er eins árs.
- Líkanið í tækinu hefur verið endurbyggt, með betri rökvísi, betri verkfærakalli og vörnum sem að sögn Apple gefa færri falskar viðvaranir. Það hittir beint á dýrasta bilunarham minn. Betri eftirfylgni við fyrirmæli ætti líka að lækka fjölda endurtekninga, og það er munurinn á að mynda fyrirfram og að mynda eftir beiðni.
- response.usage greinir nú frá tókum fyrir inntak, úttak, skyndiminni og rökhugsun, model.contextSize sýnir gluggann, og tokenCount(for:) telur fyrirmæli áður en þau eru send. Útafkeyrslan mín upp á 48,9 sekúndur verður þar með eitthvað sem ég sé koma í stað þess að finna hana í annál eftir á.
- Líkanið í tækinu tekur við myndum, og umgjörðin skilar OCRTool í tækinu, borið uppi af Vision. Það er þetta sem ég hugsa stöðugt um. Lýsingin í App Store lofar í dag að forritið ljósmyndi ekki síðuna, því rithandargreining finnur upp villur sem barnið gerði aldrei, og stafsetningarforrit sem ofskynjar villu er verra en ekkert forrit. Persónuvernd var aldrei eina ástæðan til að segja nei þar. En að geta prófað það alfarið í tækinu, án nokkurrar upphleðslu, er nýtt.
- LanguageModel samskiptareglan leyfir hvaða líkani sem er að bera lotu. Forritið hafði þegar þetta form: eitt afgreiðsluborð ákveður á keyrslutíma hvort umgjörðin sé til á þessu kerfi, og þess vegna þjónar ein keyrsluskrá bæði macOS 15 án Apple Intelligence og macOS 26 með. Sá krókur tilheyrir nú stýrikerfinu í stað mín.
- DynamicProfile leyfir einni lotu að skipta um fyrirmæli og verkfæri í miðju samtali. Að skrifa æfingu og að leiðrétta hana eru tvö ólík verk í þessu forriti, og í dag tvær ólíkar lotur.
Ókeypis skýjalíkan Apple, slökkt sjálfgefið
Sama útgáfa gerir mjög auðvelt að yfirgefa tækið.
PrivateCloudComputeLanguageModel gefur samhengisglugga upp á 32.000 tóka og stillingu fyrir rökhugsun, án API lykils, án reiknings og án skýjareiknings fyrir litla þróunaraðila undir tveggja milljóna marki í fyrstu niðurhölum. Anthropic og Google gefa út Swift pakka sem tengjast sömu lotugerð. Að skipta þessu forriti yfir er um það bil ein lína, og textinn kæmi til baka lengri, betur byggður og miklu oftar gildur strax í fyrstu tilraun.
Það er raunveruleg rök fyrir því að taka því, og þau eru ekki þau sem ég bjóst við í upphafi. Líkanið í tækinu skrifar góða æfingu fyrir níu ára barn. Það verður þunnt þegar sá sem spyr er fullorðinn sem lærir frönsku og vill lengri texta með aukasetningum og breiðari orðaforða, eða foreldri sem vill eitthvað metnaðarfyllra en getustigstaflan leggur til. Þessir lesendur eru til, þeir nota forritið nú þegar, og minnsta líkanið í símanum skrifar ekki í raun fyrir þá.
Í iOS 27 mun forritið því bjóða það sem stillingu, og sú stilling kemur slökkt. Settu forritið upp, breyttu engu, og loforðið sem það gefur í dag stendur enn: ekkert fer úr tækinu, og flugstillingin sannar það á fjórum sekúndum.
Það sem gerir þennan valkost yfirhöfuð bjóðanlegan er einmitt vinnan hér að ofan. Jafnvel með rofann kveiktan fer hrár dagatalstitill enn aldrei yfir netið. Hvíti listinn hefur fyrir löngu skorið hann niður í staðlaðan nafnlið, svo það sem ferðast er „la sortie piscine“ og eiginnafn, aldrei „RDV Dr Meunier, résultats“. Sían var byggð til að vernda barn fyrir líkaninu. Það kemur í ljós að hún verndar fjölskylduna fyrir netinu líka.
Persónuverndarskjárinn vex um eina setningu, og það er hlutinn sem ég vil hafa réttan. Ein lína sem segir að ekkert fari úr tækinu verður að tveimur: ekkert fer úr tækinu, nema þú kveikir á ríkari textum, og hér stendur nákvæmlega hvað fer út þá. Einkaský Apple er gott loforð og ég trúi því. Það er samt loforð, og loforð á heima á bak við rofa sem foreldri kveikti vísvitandi á, ekki í sjálfgefinni stillingu sem það las aldrei.
Tækið helst sjálfgefið líka af ómerkilegri ástæðu. Æfing í lest, í bíl, í leiguhúsi með lélegu þráðlausu neti, er nákvæmlega stundin þegar fjölskylda grípur í þetta forrit. Hvað sem stillingin segir verður það að halda áfram að virka án nokkurs nets, svo vélin í tækinu fer hvergi.
Ef þú þarft þetta í þínu eigin forriti
Ef þú ert að skoða forrit þar sem gögnin mega ekki fara úr tækinu, og einhver hefur sagt þér að það útiloki gervigreind, þá er það ráð árs gamalt. Heilbrigðismál, menntun, mannauður, lögfræði, allt sem snertir börn, allt þar sem samningur við viðskiptavin nefnir landið sem gögnin verða að liggja í: leiðin um tækið er til og hún virkar núna.
Fyrirvararnir, sem þú heyrir frekar frá mér en uppgötvar í öðrum mánuði:
- Líkanið í tækinu er lítið. Það skrifar góðan stuttan texta. Það mun ekki rökræða sig í gegnum langt skjal. Aðlagaðu eiginleikann að líkaninu frekar en öfugt.
- Þú munt skrifa staðfestingarlag. Komdu fram við líkanið sem hraðan skrifara án dómgreindar og settu algildisbundinn kóða í kringum það. Það er í þeim kóða sem varan býr í raun.
- Þú þarft varaleið fyrir tækið sem hefur alls ekkert Apple Intelligence, og hún verður að vera ósýnileg. Hér stendur handskrifað safn á bak við líkanið, og barn getur ekki sagt hvort þeirra skrifaði texta dagsins.
- Tæki og ský eru ekki val milli tveggja vara. Settu síunina fyrir framan líkanið frekar en inn í það, þá geturðu boðið skýið sem stillingu síðar án þess að endurskrifa eitt einasta orð á persónuverndarskjánum þínum.
- Ekkert af þessu er veftækni. Þetta er EventKit, persónuverndaryfirlýsing, stýrð textagerð og hegðun kerfisins sem sýnir sig aðeins á raunverulegum vélbúnaði, enn ein ástæða þess að native slær þverpalla umbúðir þegar erfiði hlutinn er stýrikerfið.
Allt saman, dagatalssían meðtalin, tók daga en ekki mánuði. Stærstur hluti þess tíma fór í staðfestingarkeðjuna og bilanaleiðirnar, ekki í fyrirmælin.
Þarftu forrit sem getur ekkert sent út?
Native iOS og Android, byggt í kringum gervigreind í tækinu, EventKit og þau kerfisviðmót sem webview nær ekki til. Virkt forrit á þínu eigin tæki í lok fyrsta dags, frá 500 €.
Ræða verkefnið mitt