Sign in

Guillaume Laforge

@glaforge.dev
2.7K followers 962 following 767 posts

🥑 Developer Advocate for Google Cloud ☁️ 🧠 Focusing on Generative AI 🤖 ⭐ Co-founder of the 🪶 Apache Groovy programming language ☕ Java Champion 🏆 📣 Co-host of Les Cast Codeurs Podcast 🐘 @glaforge@uwyn.net on #Mastodon

PostsRepliesMedia
Guillaume Laforge @glaforge.dev · 28/09/2026
Instead of one monolithic prompt (30-40s), LangChain4j runs 5 parallel day agents on Java 25 virtual threads via `ParallelMapperAgent`. Run time dropped to ~5s, costing ~1¢. A guardrail agent catches injections early, and deterministic Java code eliminates room collisions.
210
Guillaume Laforge @glaforge.dev · 28/09/2026
Planning your #Devoxx Belgium schedule? With 200+ talks across 8 parallel tracks, picking sessions takes time. I built a personalized agenda generator using #Micronaut, #LangChain4j, and #Gemini 3.5 Flash-Lite on #Java 25 virtual threads! Here is how it works 🧵👇
152
Guillaume Laforge @glaforge.dev · 25/09/2026
Once you've picked up a picture or uploaded your own, the #DiffusionGemma model running on #NVidia GPUs will tell you if the photo contains a cat, what kind of fur pattern it has, and how fluffy it is:
210
Guillaume Laforge @glaforge.dev · 25/09/2026
Is it a 😺 or not? System 1 models like @typesafeai #jev classify, evaluate truthiness, or give a score. I built an app in #java w/ @micronautfw & @langchain4j hosted on #CloudRun to discover if a picture depicts a cat or not, thanks to #DiffusionGemma purrfect-match.cloud.run/
231
Guillaume Laforge @glaforge.dev · 24/09/2026
Instead of generating text token by token, "System 1" decision models (like Jev) act as fast, deterministic decision engines. In a single forward pass, they output calibrated probabilities. Here's how I turned DiffusionGemma into a multimodal visual classifier in Java! 🧵👇
1102
Guillaume Laforge @glaforge.dev · 24/09/2026
Text-to-speech has reached a whole new level of quality and personalization. With Google's Gemini 3.8 Flash TTS, you can design custom voices from text prompts, steer delivery nuances (whispers, pacing, emotion), and clone voices. And you can do it all in #Java! 🧵👇
152
Guillaume Laforge @glaforge.dev · 23/09/2026
Step 2: Connect from Java Configure your agent with LiteRTAgentConfig pointing to your local model path and port 9379. The SDK manages the harness lifecycle and connects to LiteRT-LM's local endpoint. Call agent.chat() as usual, but completely on-device!
100
Guillaume Laforge @glaforge.dev · 23/09/2026
Gave a talk at #GDG Cloud Paris about the #antigravity SDK for #Java! While the official SDK is in Python, I built an unofficial Java SDK to bring agent automations to the JVM. Article & 8 code samples 🧵👇 glaforge.dev/talks/2026/...
121
Guillaume Laforge @glaforge.dev · 18/09/2026
Pour ceux qui suivent l'actualité des #LLMs (avec la sortie de #jev) et qui aiment #DannyBoon... 😆
100
Guillaume Laforge @glaforge.dev · 13/09/2026
Sharing an #Obsidian vault across multiple computers with #Git gives you full ownership, revision history, and zero subscription fees. But a default `git init` quickly leads to sync friction and merge conflicts. Here is my step-by-step guide to make it seamless 🧵👇
2166
Guillaume Laforge @glaforge.dev · 07/09/2026
5/ Token Consumption & Cost Estimator Ever wonder what an agent run actually costs? Clicking the estimated tokens stat card expands a breakdown of input, thinking, and output tokens, along with real-time cost projections using #Gemini 3.8 Flash pricing tiers.
100
Guillaume Laforge @glaforge.dev · 07/09/2026
4/ Subagent Messages & Navigation When orchestrators delegate to worker agents, tracking what happened can be tricky. The new Subagent Messages tab displays inter-agent communications, and clicking any sender badge jumps straight into that subagent's full transcript.
100
Guillaume Laforge @glaforge.dev · 07/09/2026
3/ Git Checkpoints & Side-by-Side Diffs #Antigravity captures internal git snapshots during runs. You can now browse commit checkpoints directly in the UI and inspect file changes with side-by-side split or unified diffs powered by diff2html (no external git GUI needed.)
100
Guillaume Laforge @glaforge.dev · 07/09/2026
2/ Dedicated Artifacts Explorer #Antigravity agents generate plans, walkthroughs, and architecture designs. A new dedicated tab renders these Markdown documents with syntax highlighting, metadata chips (summary, feedback requests), and 1-click clipboard copy.
100
Guillaume Laforge @glaforge.dev · 07/09/2026
1/ Single-pass analysis with #Gemini 3.8 Flash Instead of slow chunking & map-reduce summaries, the visualizer sends the full session in one prompt. Thanks to the 1M context window, analysis drops to 3-5s with total coherence between root causes and eventual fixes.
100
Guillaume Laforge @glaforge.dev · 07/09/2026
My #Antigravity Brain Visualizer v0.6.0 is out! A major update to inspect, understand, and debug Antigravity agent sessions. From single-pass #Gemini 3.8 Flash analysis to git diffs, artifact exploring, and token cost estimation, here is what is new in this release 🧵👇
251
Guillaume Laforge @glaforge.dev · 04/09/2026
The #Google GenAI SDK for @Kotlin is now 1.0! If you build on #Android, #Ktor, #SpringBoot, or desktop Kotlin apps, you now have an idiomatic Kotlin Multiplatform library to interact with #Gemini. Here is a quick tour of what is inside 🧵👇
263
Guillaume Laforge @glaforge.dev · 02/09/2026
When the #Gemini Interactions API launched, the official Google GenAI #Java SDK didn't support it yet. To let Java developers build with interactions, managed agents, and sandboxes right away, I wrote an unofficial, purpose-built SDK.
221
Guillaume Laforge @glaforge.dev · 31/07/2026
Before heading on vacation, I built an unofficial @Java SDK for #Google #antigravity 🚀 If you want to embed AI agents directly into enterprise Java applications, #GitHub Actions, or custom #CLI tools, here is how it works and what you can do with it 🧵 👇
160
Guillaume Laforge @glaforge.dev · 27/07/2026
🎉 To celebrate the Google's Gemma family hitting 900 million downloads, I benchmarked the #Gemma 4 26B-A4B running 100% locally on my #AppleSilicon #MacBookPro M4 Pro! MLX vs. llama.cpp MTP Speculative Decoding vs. Pure Java 25, let's break down the local numbers! 👇 🧵
3102
Guillaume Laforge @glaforge.dev · 22/07/2026
Key inspirations behind ORF: • Google’s #ReasoningBank paper (traps & resolution paths) • Open Knowledge Format (OKF) • @karpathy.bsky.social’s #LLMWiki concept • Progressive disclosure in #AgentSkills I also brainstormed much of the core concept with Gemini! 🤖
140
Guillaume Laforge @glaforge.dev · 22/07/2026
#AI coding agents waste a lot of time and tokens repeating the exact same trial-and-error mistakes across sessions. To fix this, I created the 𝗢𝗽𝗲𝗻 𝗥𝗲𝗮𝘀𝗼𝗻𝗶𝗻𝗴 𝗙𝗼𝗿𝗺𝗮𝘁 (ORF) (a file-based specification that lets AI agents learn from past runs)
5299
Guillaume Laforge @glaforge.dev · 21/07/2026
Nice to see that #Gemini 3.6 Flash knowledge cut-off date is 📅 March 2026! blog.google/innovation-...
050
Guillaume Laforge @glaforge.dev · 16/07/2026
It's a simple text editor called SwiftEd. Nothing fancy, just a few simple features. And I'm happy with it.
120
Guillaume Laforge @glaforge.dev · 02/07/2026
If you want to know where #Antigravity looks for #Agent #Skills, this article from @meteatamel.bsky.social answers the question. atamel.dev/posts/2026/0...
030
Guillaume Laforge @glaforge.dev · 30/06/2026
And #Java code is pretty straightfoward:
052
Guillaume Laforge @glaforge.dev · 30/06/2026
And now a banana jumping in the swimming pool! (generated with Gemini Omni Flash)
130
Guillaume Laforge @glaforge.dev · 30/06/2026
Here's a picture of a banana on the beach (generated with Nano Banana 2 Lite)
110
Guillaume Laforge @glaforge.dev · 24/06/2026
🚀 The 𝗚𝗲𝗺𝗶𝗻𝗶 𝗜𝗻𝘁𝗲𝗿𝗮𝗰𝘁𝗶𝗼𝗻𝘀 𝗔𝗣𝗜 is now GA. 𝘃𝟭.𝟬.𝟬-𝗥𝗖𝟭 of my 𝗝𝗮𝘃𝗮 𝗦𝗗𝗞 is on 𝗠𝗮𝘃𝗲𝗻 𝗖𝗲𝗻𝘁𝗿𝗮𝗹 ☁️ Vertex AI Agent Platform support 🎯 Simplified outputs 📦 Managed agent sandboxes 🤖 Agent #Skills integration #Java #GenerativeAI
163
Guillaume Laforge @glaforge.dev · 19/06/2026
I'm not sure I really know that many words in English! (it's a foreign language for me) vocabowl-870366514258.us-west1.run.app
240
Guillaume Laforge @glaforge.dev · 14/06/2026
Pour nos lycéens qui passent le bac de philo demain, révisions des auteurs, oeuvres, citations clés, mouvements philo, voici une appli avec : 1⃣ un quiz d'association 2⃣ des fiches type "active recall" 3⃣ un mémento global par thème et auteur philosophia-300654570476.europe-west2.run.app
252
Guillaume Laforge @glaforge.dev · 11/06/2026
And you can view all the sequences of steps from a user request to the final response of the model, and drill down in the details.
100
Guillaume Laforge @glaforge.dev · 11/06/2026
When filtering the tool call steps, you can see a distribution of tool usage
100
Guillaume Laforge @glaforge.dev · 11/06/2026
You can view sessions from all the #Antigravity surfaces: the agent manager, the CLI, and the IDE
100
Guillaume Laforge @glaforge.dev · 11/06/2026
You have a visual navigatable timeline of your conversation, with the active parts in orange.
100
Guillaume Laforge @glaforge.dev · 11/06/2026
You can browse and analyze the errors encountered (wrong tool calls, missing authorization, non-existant file or command-line, etc.)
100
Guillaume Laforge @glaforge.dev · 11/06/2026
The #Gemini #AI analysis summarizes the conversation, the main steps in the flow, the key agent actions, the issues & remediations, as well as recommendations to make the next sessions smoother.
100
Guillaume Laforge @glaforge.dev · 11/06/2026
👷I built a thing! A visualizer of #Antigravity work sessions with an #AI analysis by #Gemini. You can browse through 👤 user requests, 🛠️ tool calls, 🔴 errors, 💬 model responses, and get actionable insight.
141
Guillaume Laforge @glaforge.dev · 11/06/2026
Damn I've maxxed out my free #GitHub Actions budget at a third of the month, trying to build cross-platform @graalvm native images 😭
110
Guillaume Laforge @glaforge.dev · 01/06/2026
What do I do on a 🌡️hot & ☀️sunny weekend? I'm improving the design of the venerable @groovy.apache.org web console with the help of #antigravity CLI and #stitch
151
Guillaume Laforge @glaforge.dev · 26/05/2026
Thank you @jnationconf.bsky.social for having me! As promised, the slides are online here: glaforge.dev/talks/2026/0... Demos LLM-as-Judge, GOAP planning & progressive disclosure: github.com/glaforge/age... Comic trip app: github.com/glaforge/nan... Nana coding agent: github.com/glaforge/nan...
050
Guillaume Laforge @glaforge.dev · 22/05/2026
New #MCP spec coming this summer🚀 👉 Stateless core that scales on standard HTTP 👉 1st-class extensions (ex. server-rendered UIs & Tasks) 👉 Hardens authorization 👉 Formal deprecation policy for smoother evolution Final spec lands July 28 blog.modelcontextprotocol.io/posts/2026-0...
1124
Guillaume Laforge @glaforge.dev · 21/05/2026
You might be interested in a native #ADK for #Kotlin? glaforge.dev/posts/2026/0...
010
Guillaume Laforge @glaforge.dev · 21/05/2026
Another #ADK runtime in the family, with ADK for @kotlinlang.org and #Android 🤖 which allows you to add #LLM powered agents in your mobile apps. In this article, I'm showing how to proceed, with a "fun facts" agent in a chat app: glaforge.dev/posts/2026/0...
110
Guillaume Laforge @glaforge.dev · 07/04/2026
💎 The Google Gemma models are also available via the #Gemini Interactions API: github.com/glaforge/gem... (an example with my #Java SDK ☕️ showing both available 💎 Gemma models and also with 🔍 Google Search tool)
Java code snippet showing usage of the Gemini Interactions Java SDK with Gemma models, and the Google Search tool
092
Guillaume Laforge @glaforge.dev · 05/04/2026
The components of a coding agent by @rasbt.bsky.social magazine.sebastianraschka.com/p/components...
0111
Guillaume Laforge @glaforge.dev · 26/03/2026
🎸Generate audio clips & full songs in #Java with the new #Lyria3 generative model, using my #Gemini Interactions Java SDK 🎶 glaforge.dev/posts/2026/0...
Code sample showing how to use the Lyria model in Java
072
Guillaume Laforge @glaforge.dev · 19/03/2026
📢 Just released v0.8.0 of my #Gemini Interactions API for #Java, with a new tool: Google Maps 🗺️ github.com/glaforge/gem...
Snippet of code showing how to configure the Google Maps tool with the Gemini Interactions API for Java
062
Guillaume Laforge @glaforge.dev · 09/03/2026
Fixing #AISlop with a #SKILL.md in #geminicli Well, at least, removing as much sloppiness as possible from AI generated text! And making it more human-readable ☺️ Inspired by the awesome tropes.fyi Explanations and skill: glaforge.dev/posts/2026/0...
163
Guillaume Laforge @glaforge.dev · 07/03/2026
Not being a native English speaker I miss some vocabulary. I wanted to know the words describing the elements of a comic book. My friend #NanoBanana came to the rescue! I asked: "Create an illustration describing the various elements of a comic page (panels, bubbles, etc)"
18161