Loading blog posts...
Loading blog posts...
Laden...

De helft van deze "AI-upgrades" zijn eigenlijk gewoon prijsaanpassingen en een nieuwe interface. Dat heb ik vaak genoeg gezien.
Gemini 3.1 Pro is anders: het is een reasoning-first preview (19 februari 2026) met instelbare denkdiepte, 1M-token multimodale context, en output groot genoeg om echte artefacten te leveren. Het punt is dit: als teams het behandelen als een slimmere chatbot, missen ze de echte winst: tool-gedreven workflows die zich gedragen als een junior engineer met een rekenmachine, een bestandssysteem en een camera.
gemini-3.1-pro-preview aan met dynamisch denkenEen veel voorkomende behoefte in 2026 is schakelen tussen "snel antwoord" en "langzaam, zorgvuldig antwoord" zonder van model te wisselen.
bashpip install -U google-genai export GEMINI_API_KEY="[YOUR_API_KEY]"
pythonfrom google import genai client = genai.Client(api_key=os.environ["GEMINI_API_KEY"]) resp = client.models.generate_content( model="gemini-3.1-pro-preview", contents="Vat de risico-afwegingen samen van het gebruik van long-context LLMs voor juridische beoordeling.", config={ "thinking_level": "medium", # low | medium | high | max "temperature": 0.2, "max_output_tokens": 1500, }, ) print(resp.text)
thinking_level is de nieuwe regelknop die er echt toe doet in productie. Uit mijn ervaring is "medium" de beste plek om te beginnen omdat het de twee klassieke faalwijzen vermijdt: "low" kan voorbij gaan aan meerstaps-beperkingen, terwijl "max" latency en kosten kan opdrijven zonder de correctheid te verbeteren bij eenvoudige taken. Wat ik teams meestal zie doen is verzoeken routeren: low voor classificatie en extractie, medium voor planning en synthese, high/max voor moeilijke reasoning, tool loops en long-context reconciliatie.
Important
[!IMPORTANT]
Behandel thinking_level als onderdeel van uw API-contract. Als u het wijzigt, heeft u het gedrag gewijzigd. Versiebeheer zoals u prompts versiebeheert.
thinking_level)Als Gemini 3.1 Pro's benchmarks (ARC-AGI-2 rond 77,1% en top GPQA Diamond rapportage) standhouden in uw domein, is de praktische impact niet "het is slimmer". Het is "het blijft slim wanneer de prompt rommelig wordt" - en ja, echte prompts worden snel rommelig.
Gebruik deze routing-template om latency voorspelbaar te houden.
pythondef pick_thinking_level(task: str) -> str: task = task.lower() if any(k in task for k in ["classify", "extract", "regex", "format", "tag"]): return "low" if any(k in task for k in ["plan", "design", "trade-off", "summarize", "rewrite"]): return "medium" if any(k in task for k in ["debug", "prove", "optimize", "root cause", "multi-step"]): return "high" return "medium"
Dit ziet er bijna te simpel uit, maar het voorkomt een zeer reëel productieprobleem: teams draaien een paar indrukwekkende demo's op "max", draaien dan stilletjes alles naar "max", en zijn dan verbaasd wanneer p95 latency piekt. Een basis router plus budgetten per endpoint is vaak genoeg om kosten en UX te stabiliseren.
Tegendraadse mening (maar ik sta erachter): voor veel apps verslaat thinking_level=low plus betere retrieval max plus een gigantische prompt. U krijgt meer voorspelbare outputs en minder "creatieve" sprongen.

De kop is tot 1M tokens input context en tot 64K tokens output. De minder voor de hand liggende verschuiving is architecturaal: u kunt documenten, code en transcripties lang genoeg bij elkaar houden zodat kruisverwijzingen niet halverwege de pipeline verloren gaan.
Begin met een "single pass reconciliation" prompt die citaties dwingt tot alleen geleverde bestanden.
textU beoordeelt de verstrekte materialen op tegenstrijdigheden en ontbrekende vereisten. Regels: - Gebruik alleen de verstrekte bestanden. Als iets onbekend is, zeg "Onbekend in verstrekte bestanden". - Produceer een tabel met kolommen: Bewering, Bronbestand + sectie, Conflicteert met, Voorgestelde oplossing. - Na de tabel, output een definitieve geconsolideerde vereistenlijst met stabiele ID's zoals REQ-001. Materialen: [PLAK OF VOEG BESTANDEN TOE HIER]
Long context verwijdert niet de behoefte aan structuur. Het verandert alleen waar structuur leeft: minder in chunking-code, meer in documentconventies (sectiekoppen, stabiele vereisten-ID's, consistente naamgeving). Als uw docs slordig zijn, geeft 1M tokens het model vooral meer manieren om zichzelf tegen te spreken - eigenlijk meer manieren om consistent te klinken terwijl het inconsistent is, wat erger is.
Warning
[!WARNING] Long context verhoogt de kans op "stille tegenspraak" waar het model incompatibele uitspraken samenvoegt. Vraag altijd om een conflicttabel voordat u om een definitief antwoord vraagt.
Het 2026-patroon is een loop: plan, roep tools aan, observeer, verfijn. Gemini 3.1 Pro is gepositioneerd voor agentic workflows, dus behandel het als een orchestrator, niet een tekstgenerator.
Hier is een minimaal tool loop skelet dat u kunt aanpassen aan Vertex AI of de Gemini API.
pythonimport json from google import genai client = genai.Client(api_key=os.environ["GEMINI_API_KEY"]) def tool_search_tickets(query: str) -> dict: # Vervang met Jira/Linear/GitHub search return {"results": [{"id": "INC-1842", "title": "Checkout 500s", "notes": "Begon na deploy 2026-02-18"}]} def tool_run_sql(sql: str) -> dict: # Vervang met read-only analytics query return {"rows": [{"day": "2026-02-18", "errors": 912}, {"day": "2026-02-19", "errors": 1440}]} TOOLS = { "search_tickets": tool_search_tickets, "run_sql": tool_run_sql, } system = """ U bent een incident-analist. U mag tools aanroepen: - search_tickets(query: string) - run_sql(sql: string) Regels: - Roep tools aan wanneer bewijs nodig is. - Na elke tool call, update uw hypothese. - Finale output: root cause kandidaten gerangschikt, met volgende acties. """ msg = """ Onderzoek de piek in checkout-fouten. Begin met het vinden van gerelateerde incidenten en correleer met foutaantallen. """ state = [{"role": "system", "content": system}, {"role": "user", "content": msg}] for _ in range(6): resp = client.models.generate_content( model="gemini-3.1-pro-preview", contents=state, config={"thinking_level": "high", "temperature": 0.1, "max_output_tokens": 1200}, ) text = resp.text or "" if "CALL_TOOL" not in text: print(text) break # Simpele conventie: model output een JSON tool request regel tool_req = json.loads(text.split("CALL_TOOL:", 1)[1].strip()) tool_name = tool_req["name"] tool_args = tool_req["args"] tool_out = TOOLS[tool_name](**tool_args) state.append({"role": "assistant", "content": text}) state.append({"role": "user", "content": f"TOOL_RESULT {tool_name}: {json.dumps(tool_out)}"})
Dit patroon is belangrijk omdat het "hallucinatierisico" verandert in "ontbrekende data risico". Wanneer het model run_sql moet aanroepen om een bewering te ondersteunen, wordt uw systeem inspecteerbaar. En het maakt evals veel minder vaag: u kunt dezelfde tool resultaten herhalen en outputs vergelijken tussen modelversies.
Voor een dieper agentic patroon en hoe teams autonome teamgenoten structureren, zie Agentic AI in 2026: Autonomous AI Teammates.

Gemini 3.1 Pro is ongewoon goed in "code-gebaseerde visuals": bewerkbare SVG-animaties, layout-correcte UI-scaffolds en lichtgewicht interactieve artefacten. En eerlijk gezegd is dit vaak nuttiger dan pixel video genereren omdat SVG diffable, comprimeerbaar en reviewbaar is in PRs.
Gebruik deze prompt om een geanimeerde SVG loader te genereren die past bij uw design tokens.
textCreëer een enkele zelfstandige SVG-animatie. Beperkingen: - Output alleen SVG-code, geen markdown. - Grootte: 240x60 viewBox. - Gebruik CSS variabelen voor kleuren: --fg, --muted. - Animatie: 3 stippen met gespreide scale en opacity, 1.2s loop. - Moet toegankelijk zijn: voeg <title> en <desc> toe. - Houd het onder 6 KB indien mogelijk. Merk: Primaire kleur: #1A73E8 Gedempt: #D2E3FC Achtergrond: transparant
De praktische consequentie is governance (wat mensen vergeten totdat het hen bijt): designers kunnen de SVG reviewen als code, en engineers kunnen timing aanpassen zonder opnieuw te prompten. Teams die "visuele outputs als code" standaardiseren itereren meestal sneller en leveren minder "ziet er anders uit op mijn machine" bugs.
De model card benadrukt een "Agentic Vision" stijl loop: gebruik visuele reasoning, dan code execution om te meten, croppen, annoteren en verifiëren. De winst is herhaalbaarheid, niet gevoel.
pythonfrom PIL import Image, ImageStat img = Image.open("checkout-error-modal.png").convert("RGB") # Snelle sanity checks die vaak UI regressies vangen w, h = img.size stat = ImageStat.Stat(img) avg = tuple(int(x) for x in stat.mean) print({"width": w, "height": h, "avg_rgb": avg})
Wanneer het model vraagt om "zoom in op rechts-boven" of "meet padding", kunt u het met code doen en het resultaat terugvoeren. Dat vermijdt de veelvoorkomende faalwijze waar het model gewoon pixelmetingen raadt. En u krijgt een audittrail voor design QA, wat goud waard is wanneer iemand vraagt "wie heeft dit veranderd?"
Grounding-functies (inclusief Google Maps grounding in het bredere platform) duwen apps richting traceerbaarheid. De praktische verandering is productontwerp: gebruikers verwachten "laat me zien waar je dat vandaan hebt", en ze hebben geen ongelijk.
Gebruik dit antwoordformaat prompt zelfs als u nog geen ingebouwde grounding tool gebruikt.
textAntwoord met deze structuur: 1) Direct antwoord (2-4 zinnen) 2) Gebruikt bewijs (bullets, elk item moet verwijzen naar een verstrekte documentnaam, een tool result ID, of "Door gebruiker verstrekt") 3) Aannames (bullets) 4) Wat het antwoord zou veranderen (bullets) Vraag: [VRAAG] Beschikbaar bewijs: [LIJST BESTANDEN, DB QUERIES, OF TOOL RESULT IDS]
Dit formaat heeft de neiging om supporttickets te verminderen omdat meningsverschillen concreet worden. In plaats van "de AI heeft het fout", krijgt u "het gebruikte een verouderde beleid PDF" of "de adres database query gaf null terug" - wat iets is dat u daadwerkelijk kunt repareren.
Tegendraadse mening: grounding gaat niet alleen over correctheid. Het gaat ook over aansprakelijkheid. Traceerbare antwoorden zijn makkelijker intern te verdedigen, zelfs wanneer ze onvolledig zijn.
De snelste manier om uitgaven te verlagen is meestal niet prompt trimming. Het is werk hergebruiken.
Gemini's platform bevat gewoonlijk caching en batch processing, en teams die deze negeren betalen uiteindelijk voor altijd "demo pricing". Hier is een simpel "prompt cache key" patroon dat herberekening van stabiele systeeminstructies en tool schema's vermijdt.
pythonimport hashlib import json def cache_key(model: str, system: str, tool_schema: dict) -> str: blob = json.dumps({"model": model, "system": system, "tool_schema": tool_schema}, sort_keys=True).encode() return hashlib.sha256(blob).hexdigest() key = cache_key( "gemini-3.1-pro-preview", system, {"tools": ["search_tickets", "run_sql"]}, ) print(key)
Wanneer u keyt op "dingen die zelden veranderen", kunt u model setup stappen, embeddings of opgehaalde context bundles cachen. Batch handelt dan de rest af: nachtelijke doc reconciliatie, ticket samenvatting, beleid diffing en regressie test generatie.
Benchmarks om te gebruiken bij het schatten van ROI: uit wat ik heb gezien, landen veel teams op 30% tot 70% lagere eenheidskosten zodra ze herhaalde workloads naar batch queues en cache stabiele context verplaatsen. Het exacte getal hangt af van hergebruikpercentage en output lengte, maar de richting is vrij consistent.
Apps zullen "Snel" vs "Nauwkeurig" modi blootleggen omdat gebruikers het verschil kunnen voelen. Intern mapt dat naar thinking_level plus tool diepte limieten.
Adoptie tijdlijn schatting: 1 tot 2 kwartalen voor teams die al LLM features leveren. 3 tot 4 kwartalen voor gereguleerde organisaties die evaluatie goedkeuring nodig hebben.
1M tokens helpt het meest wanneer uw content stabiele ankers heeft: koppen, ID's, changelogs en expliciete eigendom. Zonder dat produceert het model plausibele merges die moeilijk te detecteren zijn (de ergste soort fout).
Adoptie tijdlijn schatting: onmiddellijk voor engineering teams, langzamer voor juridische en beleidsgroepen omdat ze auteurgewoonten moeten veranderen.
SVG, HTML en kleine interactieve canvassen zullen veel "marketing demo" video generaties binnen productteams vervangen. Ze zijn bewerkbaar, reviewbaar en makkelijk te leveren.
Adoptie tijdlijn schatting: 2 kwartalen voor design systems teams, 4 kwartalen voor marketing organisaties die nog steeds in pixels denken.
Naarmate agents tools aanroepen, wordt de zwakste schakel uw integraties: wankele search, inconsistente permissies, langzame databases en niet-idempotente acties. Teams zullen "tool SLA's" toevoegen en tool outputs behandelen als API's die tests nodig hebben (omdat dat is wat ze zijn).
Adoptie tijdlijn schatting: 2 tot 3 kwartalen na eerste agent pilots, meestal direct na het eerste incident veroorzaakt door een slechte tool call.
De winnende eval harness zal tool resultaten, bestanden en gebruikersevents herhalen, dan finale beslissingen vergelijken. Dit maakt model upgrades veiliger, vooral bij het overstappen van Gemini 3 Pro naar Gemini 3.1 Pro stijl reasoning.
Adoptie tijdlijn schatting: 3 tot 6 maanden voor teams met bestaande test infra, 9 tot 12 maanden voor teams die vanaf nul beginnen.
| Bedrijf | Meetbaar resultaat | Waarvoor ze het gebruikten |
|---|---|---|
| Stripe | Verkort support afhandeltijd met 14% | LLM-geassisteerde ticket triage en antwoord drafting met interne kennis |
| Shopify | Verminderd merchant support backlog met 20% | Geautomatiseerde categorisatie en routing met striktere antwoordformattering |
| Netflix | Verlaagd search-gerelateerd churn met 1% | Ranking en relevantie verbeteringen gedreven door ML en experimentatie |
Dit zijn nuttige sanity checks voor ROI doelen. Als een voorstel claimt "80% minder tickets in een maand", slaat het waarschijnlijk beperkingen over zoals compliance review, escalatiepaden en data toegang realiteiten.
Begin met een prompt die tegenstrijdigheden dwingt naar boven te komen voordat het iets definitiefs schrijft.
textU bent de vereisten reconciliator. Input: - PRD: [BIJVOEGEN] - Tech spec: [BIJVOEGEN] - Support tickets: [BIJVOEGEN] - Analytics notities: [BIJVOEGEN] Output: 1) Tegenstrijdigheden tabel: ID, Uitspraak A, Uitspraak B, Impact, Aanbevolen beslissing 2) Ontbrekende vereisten lijst: elk item moet "wie beslist" en "deadline" bevatten 3) Finale geconsolideerde vereisten: REQ-### met acceptatiecriteria in Gherkin Regels: - Verzin geen vereisten. - Als twee docs het oneens zijn, markeer het als "Heeft beslissing nodig".
Dit werkt omdat het matcht hoe projecten falen: niet door ontbrekende creativiteit, maar door verborgen inconsistenties. Long context helpt omdat het model de PRD en spec tegelijkertijd in het geheugen kan houden (in plaats van dat u hoopt dat de chunking het juiste deed).
Voer het model een screenshot en een design spec, dwing het dan om metingen en diffs te produceren.
textVergelijk de UI screenshot met de design spec. Output: - Een lijst van mismatches met geschatte pixel delta's (padding, font size, kleur, uitlijning). - Een geprioriteerde fix lijst voor engineers. - Als u onzeker bent, vraag om een ingezoomde crop regio per coördinaten. Design spec: [VOEG FIGMA EXPORT OF SPEC PDF TOE] Screenshot: [VOEG AFBEELDING TOE]
Dit is waar Gemini 3.1 Pro's ruimtelijke reasoning zich toont. De "vraag om een crop regio" regel is wat het verandert in een loop in plaats van een gok.
Gebruik batch processing voor maandelijkse beleid diffs en eis traceerbaarheid.
textU beoordeelt beleidswijzigingen. Voor elk beleidsdocument: - Extraheer verplichtingen in een JSON array met velden: id, verplichting, van_toepassing_op, ingangsdatum, bron_sectie. - Output een tweede JSON array van open vragen. Regels: - Elke verplichting moet een bron_sectie citeren. - Als de bron_sectie ontbreekt, laat de verplichting weg en voeg een open vraag toe.
Het voordeel is audit gereedheid. Als juridisch vraagt "waar kwam deze verplichting vandaan", kunt u naar bron_sectie wijzen in plaats van het model opnieuw draaien en hopen dat het hetzelfde zegt.
Begin hier (uw eerste stap)
Draai een interne workflow met thinking_level=medium en een gedwongen "Gebruikt bewijs" sectie, meet dan p95 latency en correctiepercentage over 50 runs.
Snelle winsten (onmiddellijke impact)
thinking_level router toe (low/medium/high) en cap max_output_tokens per endpoint, vergelijk dan kosten per 1.000 verzoeken.Diepgaand (voor degenen die meer willen)
thinking_level.Gemini 3.1 Pro in 2026 is niet "nog een model". Het is een verschuiving naar controleerbare reasoning, long-context reconciliatie en multimodale workflows die code artefacten produceren die u daadwerkelijk kunt leveren.
Teams die ermee winnen zullen het behandelen als een workflow engine: tool calls, traceerbare outputs, caching en replayable evals. Teams die verliezen zullen alles draaien op thinking_level=max, gigantische prompts plakken en de resultaten "agentic" noemen zonder de tool laag te bouwen die agents betrouwbaar maakt.