Sumarhus Alpha
Fullvalda umboðsmannanet — rekstrarverkfæri og tilraunastofa
Fullvalda gervigreindarinnviðir: 5 Go-umboðsmenn, Rust MCP-þjónn, NATS JetStream, 21 módel hjá 7 þjónustuaðilum, 15 gámar, CI/CD í framleiðslu. Raunhæft kerfi og tilraunastofa, byggt frá grunni síðan 2022.
“Hvað er heimur? Þetta er heimurinn, heimurinn hann er hér, Sumarhús, jörðin mín, það er heimurinn. Og þó þú ætlir þér að gleypa sólina í einhverri augabragðsvitfirríngu afþví þú sérð bláa penínga frá Amríku, sem auðvitað eru falsaðir einsog allir miklir peníngar sem berast uppí hendur einstaklíngnum án hans atgerða, þá skaltu sanna það fyr eða síðar, að Sumarhús, það er heimurinn, og þá veit ég þú hugsar til minna orða.
Áskorunin
Gervigreindarkerfi á markaði bjóða upp á samtal — ekki rekstrargetu. Umboðsmenn missa samhengi á milli lota. Þeir hafa ekki aðgang að innviðum, muna ekki eftir ákvörðunum, geta ekki unnið saman eða beint fyrirspurnum á kostnaðarhæf módel. Að byggja raunverulega persónulega gervigreind krefst dreifðs umboðsmannanets með viðvarandi stöðu, öruggs aðgangs að staðbundnum þjónustum, kostnaðarmeðvitaðrar ályktunarbeinar yfir 21 módel og dreifingarleiðslu sem sendir óbreytanlegar myndir — ekki frumkóða — í framleiðslu. Kerfið þurfti einnig að tengja saman efnislegt og stafrænt: Siemens PLC sem stýrir ylpotti, tvöfalt GPU-vinnustöð sem keyrir staðbundin módel og Proxmox-sýndarvélaþjón sem hýsir 15 framleiðslugáma. Og allt þurfti að þjóna sem námsumhverfi fyrir Go, Rust og hönnun dreifðra kerfa.
Nálgunin
Kerfið þróaðist í daglegri notkun, ekki í fyrirframhönnun. Það sem hófst árið 2022 sem könnun á gervigreindarverkfærum — námskeið í Oxford, verkflæðissmíði, samþætting gervigreindar í háskólastarfi — varð skipulögð persónuleg innviðakerfi í janúar 2026. Arkitektúrinn er fullvalda umboðsmannanet: fimm Go-örþjónustur samhæfðar í gegnum NATS JetStream, Rust MCP-þjónn fyrir innviðavöktun og Next.js stjórnborð (Atómstöðin) fyrir rekstrarsýn. Þrjár vélar tengjast í gegnum Tailscale WireGuard-möskvanet. Kostnaðarmeðvitað LLM-val yfir 21 módel og 7 þjónustuaðila heldur einföldum fyrirspurnum staðbundnum (enginn kostnaður) og beinir flókinni vinnu á fremstu API-þjónustur. 35 færnir og 133 verkflæði ná yfir svið frá fræðiskrifum til öryggiskönnunar. 16 krókar fanga úttak og fæða í viðvarandi minni. Dreifing fylgir meginreglum óbreytanlegra innviða: GitHub Actions keyrir lint, prófanir og öryggisskönnun samhliða, smíðar Docker-mynd, sendir á GHCR og dreifir á sýndarvélina í gegnum Tailscale SSH. Enginn frumkóði snertir framleiðslu. Öryggi þróaðist í gegnum skráð mistök: auðkendaleki í útg. 1.2 leiddi til allsherjar úrbóta — Tailscale grants-ACL reglur, GPG-dulkóðaðar pass-geymslur, Gitleaks-skönnun og opin skýrsla um öryggisbilun.
Niðurstöður
Sumarhus Alpha er það sem gerist þegar þú eyðir þremur árum í að vinna með gervigreindarverkfæri og ákveður svo að gefa gervigreindinni raunverulegt heimili. Ekki spjallglugga, ekki umslag utan um API — heldur dreift kerfi með eigin umboðsmönnum, skilaboðagrind, ályktunarbúnaði og dreifingarleiðslu sem sendir óbreytanlegar gámamyndir í framleiðslu í hvert skipti sem kóði er sendur á main-grein.
Nafnið sækir innblástur í Sjálfstætt fólk eftir Halldór Laxness. Bjartur í Sumarhúsum byggir sitt eigið hús á eigin forsendum, hafnar allri hjálp og þolir allt sem landið kastar á hann. Það er eitthvað af þeirri einurð í þessu verkefni — meðvituð ákvörðun um að byggja fullvalda innviði þegar fullkomlega nothæfir skýjapallar eru til. Munurinn, vona ég, er sá að einurðin þjónar tvíþættu hlutverki: sérhver hluti leysir raunverulegt rekstrarvandamál og þjónar um leið sem tilraunastofa til að læra ný forritunarmál, arkitektúr og dreifingarmynstur. Go og Rust voru ekki valin af tilviljun. Þau voru valin vegna þess að að byggja framleiðsluþjónustur í þeim er fljótlegasta leiðin að raunverulegri færni.
Ég lít á gervigreindina sem Kólumkilla. Þetta er kraftur sem ber að virða. Ef við lærum ekki að umgangast hana rétt getur hún orðið okkur fjötur um fót. Með því að byggja fullvalda innviði tryggjum við að hún sé þjónn en ekki húsbóndi.
Umboðsmannamöskvanetið
Fimm Go-örþjónustur mynda kjarna kerfisins, hvert þeirra þýtt í distroless Docker-mynd undir 5 MB:
- Daemon — Spjallviðmót með Claude-streymi, fjárhagsáætlun og auðkenningu. Inngangurinn að kerfinu.
- Orchestrator — Verkbeining, skráning umboðsmanna og NATS-samhæfing. Ákveður hvaða umboðsmaður sinnir hvaða beiðni.
- LLM Router — Kostnaðarmeðvitað módelval yfir 21 módel og 7 þjónustuaðila. Einfaldar fyrirspurnir fara á staðbundin módel án kostnaðar; flókin vinna fer á fremstu módel.
- Backup Agent — Dulkóðuð öryggisafrit með age og zstd-þjöppun. Sjálfvirk, staðfestanleg, fullvalda.
- Claude Code Worker — NATS-umboðsmaður sem umlykur Claude Code CLI, keyrir á Mac-tölvunni og tekur á móti verkefnum frá möskvanetinu.
Allir fimm umboðsmenn eiga samskipti í gegnum NATS JetStream — létta skilaboðagrind með lykilgildi-geymslum fyrir umboðsmannaskrá, verkstöðu og módelstillingar. Val á NATS fram yfir þyngri valkosti (Kafka, RabbitMQ) endurspeglar hönnunarhugmyndafræðina: lágmarksinnviðir, hámarksskýrleiki.
Innviðavöktun í Rust
Rust MCP-þjónn (mcp-tools) veitir rauntíma innviðavöktun — Docker-gámastöðu, Tailscale-netheimild, disknotkun og kerfisstöðu — í gegnum Model Context Protocol. Byggður með rmcp 0.15 og Tokio, þýddur í 1,3 MB kyrrstæða musl-tvíundarkóðann. Rust var valið af sömu ástæðu og það var valið fyrir vandamálið: þegar vöktunarverkfærið er það sem má alls ekki hrynja, þá á forritunarmálið að tryggja það.
Vélbúnaðurinn
Þrjár vélar tengdar með Tailscale WireGuard-möskvaneti:
- MacBook Pro — Aðalvinnustöð sem keyrir PAI í gegnum Claude Code. Þróunarumhverfið, minniskerfið og claude-code-worker umboðsmaðurinn búa hér.
- Proxmox-sýndarvélaþjónn — Þrjár sýndarvélar: Docker-hýsill með 15 gámum, Home Assistant sem stýrir IoT-tækjum og Siemens S7-1200 PLC (ylpottinum), og PocketBase-tilvik fyrir skipulögð gögn.
- Hercules — Tvöfalt GPU-vinnustöð (RTX 5090 + RTX 4090, 56 GB VRAM). Keyrir vLLM á 5090 (Qwen 2.5 32B AWQ) og Ollama á 4090 (Llama 3.3 70B, DeepSeek-R1 32B). Staðbundin ályktun fyrir einfaldar fyrirspurnir; fremstu API-þjónustur fyrir flókna vinnu.
Greindarlögin
LLM Router stýrir 21 módeli hjá 7 þjónustuaðilum: Anthropic (Opus 4.6, Sonnet 4.5, Haiku 4.5), Google (Gemini 2.5/3.0 Flash og Pro), OpenAI (GPT-4.1 fjölskyldan), OpenRouter, DeepSeek og tveir staðbundnir bakendar (vLLM, Ollama). Kostnaðarmeðvitað val þýðir að stöðuathugun kostar ekkert og djúp greining notar besta fáanlega módelið. Kerfið stækkar án þess að API-reikningurinn stækki með.
Atómstöðin — Framendinn
Atómstöðin er Next.js 16 stjórnborð sem þjónað er á fylkid.is í gegnum Cloudflare Tunnel — engar opnar gáttir, full DDoS-vörn, WebAuthn-lyklaauðkenning. Það veitir rauntímasýn í heilbrigði innviða, stöðu umboðsmanna, Garmin-líffræðimælingar, dagbókarfærslur og kerfisskrár. Byggt með React 19, Tailwind CSS 4, Recharts og Framer Motion.
Innviðirnir þjónusta einnig ytri verkefni. Samskiptaeyðublaðssendingar á smarason.is fara í gegnum Go-brú á api.fylkid.is, sem staðfestir og áframsendir þær á sjálfhýst PocketBase-tilvik á Proxmox-sýndarvélaþjóninum. Gögnin snerta aldrei þriðja aðila vettvang — þau flæða frá opinbera vefnum, í gegnum Sumarhús-netið, inn í fullvalda geymslu. Atómstöðin birtir þessi skilaboð ásamt öllu öðru sem kerfið stýrir.
Dæmi um flæði: Samskiptaskilaboð
Til að sjá hvernig hlutirnir tengjast, fylgdu einni samskiptaeyðublaðssendingu í gegnum kerfið:
- Gestur sendir samskiptaeyðublaðið á smarason.is (hýst á Vercel).
- POST-beiðnin lendir á api.fylkid.is — Go-brúarþjónusta sem keyrir í Docker-gámi á VM 100, birt í gegnum Cloudflare Tunnel.
- Go-brúin staðfestir gögnin, takmarkar sendingarhraða og skrifar skilaboðin í PocketBase á VM 102 yfir Tailscale-möskvanetið.
- PocketBase geymir skilaboðin með fullri gagnaeign — engin greiningartól þriðja aðila, enginn skýjagagnagrunnur, enginn ytri aðgangur.
- Atómstöðin á fylkid.is spyr PocketBase og birtir skilaboðin í stjórnborðinu, ásamt innviðaheilbrigði, stöðu umboðsmanna og Garmin-líffræðimælingum.
- Tilkynning fer í gegnum PAI-krókakerfið og skilaboðin birtast í daglegum rekstrarlogga.
Sex þjónustur, þrjár vélar, tvö lén, eitt möskvanet — og gesturinn fyllti bara út eyðublað. Svona líta fullvalda innviðir út að innan.
CI/CD og dreifing
GitHub Actions leiðsla keyrir við hverja sendingu á main-grein: ESLint og Vitest samhliða Gitleaks-öryggisskönnun, síðan Docker-smíði sem sendir á GHCR, síðan dreifing á sýndarvélina í gegnum Tailscale SSH. Enginn frumkóði snertir framleiðslu — aðeins óbreytanlegar gámamyndir sóttar úr skránni. Dreifingarskriftan neitar að keyra ef .env-skráin í framleiðslu vantar, vegna þess að leynilyklar framleiðslu eru helgir og sjálfvirkni á aldrei að yfirskrifa þá.
PAI færnikerfið
35 sérhæfðar færnir spanna rannsóknir (fjölmódela samhliðarannsóknir, fræðiskrif, OSINT), þróun (CLI-smíði, vafrasjálfvirkni, kóðaendurskoðun), öryggi (innbrotsprófanir, hvatgreining, könnun), skapandi vinnu (myndagerð, útvíkkað hugsun), heilsu (Garmin-samþætting, líkamsþjálfunarrakning) og stjórnun (VALOR-rammaverkið). 133 verkflæði samhæfa fjölþrepa aðgerðir. 16 krókar í Claude Code skapa stöðuga námslotu: fanga úttak, greina viðhorf, skrá einkunnir og fæða allt inn í viðvarandi minni.
Öryggislíkanið
Heiðarlegasti hluti þessa verkefnis er öryggislogginn. Í útgáfu 1.2 fóru auðkenni í skjalaskrá sem var send á git. Úrbæturnar — að snúa öllum lyklum, endurskrifa git-sögu, stilla Tailscale grants-ACL reglur, flytja yfir í GPG-dulkóðaðar pass-geymslur, bæta við Gitleaks-skönnun — tóku þrisvar sinnum lengri tíma en að gera það rétt í upphafi. Sjö öryggislexíur eru skráðar með kóða fyrir og eftir, birtar sem kennsluefni. Kerfið ávinnur sér traust ekki með því að vera fullkomið heldur með því að vera gagnsætt um hvert mistök og byggja sjálfvirkar verndir til að koma í veg fyrir endurtekningu.
Tilraunastofan
Sumarhús er ekki aðeins rekstrarverkfæri. Það er meðvituð æfingastofa — staður til að byggja framleiðsluhæfar þjónustur á ókunnum forritunarmálum og læra með því að senda í framleiðslu, ekki með því að lesa. Go-umboðsmennirnir hófust sem tilraun í kerfisforritun; þeir eru nú burðarás möskvanetsins. Rust MCP-þjónninn hófst sem forvitni um helgi; hann er nú innviðavöktunin. LLM Router hófst sem kostnaðarblað; hann er nú þjónusta sem beinir hverri fyrirspurn á kostnaðarhæfasta módelið. Sérhver frumgerð annaðhvort útskrifast í framleiðslu eða kennir eitthvað sem vert er að geyma.
Heimspeki
Kerfið er aldrei fullbúið. Það er ekki takmörkun — það er hönnunin. Persónuleg gervigreindarinnviðir sem hætta að þróast hætta að vera gagnleg. Arkitektúrinn er byggður fyrir breytingar: beinagrind fyrst, snyrtilegt síðast, ein samþætting í einu, git-skuldbinding á hverja virkni. Tvíþætta tilgangurinn — raunhæf verkfæri og tilraunastofa — þýðir að sérhver klukkustund sem fjárfest er margfaldast tvisvar: einu sinni í rekstrargetu, einu sinni í tæknifærni.
Bjartur byggði Sumarhús einn stein í einu. Steinarnir hér eru gámar.
Tæknistaflinn
Tenglar og heimildir
Lærdómar
- Skjölun er öryggisyfirborð — eitt commit með auðkennum kom öllu kerfinu í hættu. Meðhöndlaðu skjöl eins og kóða.
- Tveir samvinnandi umboðsmenn skila betri árangri en einn allsráðandi. Sjálfstæði og þolgæði skipta meira máli en sameiginlegt samhengi.
- Go þýðir í örlitlar, óháðar tvíundarkóðaskrár sem dreifast á sekúndum. Fimm umboðsmenn undir 5 MB hver breytti hugmynd minni um þjónustuarkitektúr.
- Rust fyrir innviðavöktun útilokar heilan flokk keyrsluvillu. Þegar vöktunarverkfærið er það sem má ekki hrynja, þá á forritunarmálið að tryggja það.
- Kostnaðarmeðvitað LLM-val er munurinn á áhugamáli og sjálfbæru kerfi. Staðbundin ályktun fyrir einfaldar fyrirspurnir þýðir að kerfið stækkar án þess að reikningurinn stækki með.
- 38,8 MB Go-tvíundarkóði með innbyggðum Tailscale (tsnet) kemur í stað 200 MB Node.js þjónustu og fær eigið netauðkenni.
- Að keyra hratt án öryggisyfirferðar skapar skuld sem tekur 3x lengri tíma að lagfæra. Hvert flýtiúrræði í útg. 1.2 kostaði þrjár klukkustundir í útg. 1.3.
- Fljótlegasta leiðin að færni í nýju forritunarmáli er að byggja eitthvað raunverulegt — ekki leiðbeiningar, ekki leikfangsverkefni, heldur þjónustu sem þarf að keyra í framleiðslu.