Guillaume Laforge's Avatar

Guillaume Laforge

@glaforge.dev.bsky.social

πŸ₯‘ 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

2,388 Followers  |  914 Following  |  410 Posts  |  Joined: 10.07.2023  |  2.2926

Latest posts by glaforge.dev on Bluesky

Post image

There's even a #darkmode πŸ˜‰

01.08.2025 15:04 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
ADK Agent Code Visualizer

You can try it online:
adk-agent-code-visualizer-1029513523185.europe-west1.run.app

And have a look at the code:
github.com/glaforge/adk...

01.08.2025 15:04 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

⚠️ It works for both single-file #Java and #Python ADK multiagents. It doesn't work for projects spanning multiple files or directories.

01.08.2025 15:04 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

✨ Vibe-coded with Google #AiStudio and #GeminiCLI.
Powered by #Gemini 2.5 Pro.
Using #ReactFlow for the nice node-based UI.
Deployed on #CloudRun ☁️

01.08.2025 15:04 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Visualizing ADK multiagent systems Let me share an interesting experiment I worked on to visualize your AI agent structure, more specifically, Agent Development Kit (ADK) multiagents. The more complex your agents become, as you split t...

A proof-of-concept #ADK #AI #Agent code visualizer
glaforge.dev/posts/2025/0...

01.08.2025 15:04 β€” πŸ‘ 3    πŸ” 3    πŸ’¬ 1    πŸ“Œ 0
Build AI Agents in Java  A Guide to the ADK
YouTube video by Google Cloud Nuggets Build AI Agents in Java A Guide to the ADK

For my series of articles on #ADK for #Java, my colleague Romin Irani used the new "Video Overview" feature of #NotebookLM to generate this great overview of my articles! It's impressive!

www.youtube.com/watch?v=HqNS...

The recap of the series can be found here: glaforge.dev/posts/2025/0...

30.07.2025 12:36 β€” πŸ‘ 5    πŸ” 4    πŸ’¬ 0    πŸ“Œ 0
Preview
Mastering agentic workflows with ADK: the recap Over the past few articles, we’ve taken a deep dive into the powerful agentic workflow orchestration capabilities of the Agent Development Kit (ADK) for Java. We’ve seen how to build robust, specializ...

πŸ”š And here is the final recap article on the various #ADK agentic workflows on when & how to use

1⃣ sub-agents
2⃣ sequential
3⃣ parallel
4⃣ loop agents

And their typical use cases, βœ… pros & ❌ cons.

What would you like to learn about, next?

glaforge.dev/posts/2025/0...

29.07.2025 08:37 β€” πŸ‘ 6    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0
Preview
Mastering agentic workflows with ADK: Loop agents Welcome to the final installment of our series on mastering agentic workflows with the ADK for Java. We’ve covered a lot of ground: Part 1: Sub-agents for flexible, user-driven delegation. Part 2: Se...

πŸ‘“ Read all the details about #ADK #Java loop flows for your #AI #agents in this article ⬇️

glaforge.dev/posts/2025/0...

The last of the series on agentic workflows! πŸ”š

28.07.2025 09:12 β€” πŸ‘ 4    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Post image

πŸ” What aboutγ€– loop flows γ€—with #ADK for #Java for refinement, trial/error, self corrective #AI #agents?

We'll talk about βͺ before & ⏩ after agent callbacks, function calling exit, and max iteration limits β™Ύ

Concrete example: a simple #Python code refinement loop agent 🧡

28.07.2025 09:12 β€” πŸ‘ 4    πŸ” 4    πŸ’¬ 1    πŸ“Œ 0

And stay tuned, as I still have to tell you about the "loop flow", where you can make several agents work in a loop, until some condition is satisfied.

25.07.2025 12:52 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Mastering agentic workflows with ADK for Java: Parallel agents Let’s continue our exploration of ADK for Java (Agent Development Kit for building AI agents). In this series, we’ve explored two fundamental agentic workflows: First, we used LlmAgent with sub-agent...

This #AI #Agent actually combines parallel running agents, as well as a sequential flow with a final agent compiling all the research materials.

Combining different kind of flows makes sense for complex scenarios.

Read all the details in this new article:
glaforge.dev/posts/2025/0...

25.07.2025 12:52 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

πŸ“’ Today let's talk aboutγ€– parallel flows γ€—with #ADK for #Java. Several agents can run at the same time when their tasks are unrelated.

A 🏭 company researcher agent:
1⃣ a company profiler
2⃣ a news finder
3⃣ a financial analyst run in parallel

25.07.2025 12:52 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

πŸ“’ After yesterday's post on #ADKγ€– sub-agents γ€—in #java, let's have a look at theγ€– sequential flow γ€—of agents.

πŸ—ΊοΈ With an example of a trip planner, with an #AI #agent searching info about a destination, an itinerary agent, and a restaurant finder.

glaforge.dev/posts/2025/0...

24.07.2025 12:16 β€” πŸ‘ 2    πŸ” 2    πŸ’¬ 0    πŸ“Œ 1
Preview
Mastering agentic workflows with ADK for Java: Sub-Agents Let me come back to the Agent Development Kit (ADK) for Java! We recently discussed the many ways to expand ADK agents with tools. But today, I want to explore the multi-agentic capabilities of ADK, b...

New article exploring the various agentic workflow patterns in #ADK for #Java. This time, zooming in on "sub-agents".

Next we'll explore sequential, parallel and loop flows.

glaforge.dev/posts/2025/0...

23.07.2025 21:03 β€” πŸ‘ 8    πŸ” 2    πŸ’¬ 0    πŸ“Œ 1
Preview
The Sci-Fi naming problem: Are LLMs less creative than we think? Like many developers, I’ve been exploring the creative potential of Large Language Models (LLMs). At the beginning of the year, I crafted a project to build an AI agent that could generate short scien...

Read the full story here on the apparent lack of creativity of #LLMs
glaforge.dev/posts/2025/0...

22.07.2025 15:53 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

I also used #GeminiCLI to search through those datasets!

22.07.2025 15:53 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

So I wondered where those names were coming from, and my intuition was that LLMs were drawing their inspiration from a limited set of sci-fi stories with little naming diversity.
I searched on #Kaggle and found a couple datasets where those names appeared often.

22.07.2025 15:53 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Short stories generated by Gemini 2 and Imagen 3

In my AI agent generating sci-fi stories (developed with
@langchain4j.dev, deployed on #CloudRun) I was always encountering the same names again and again:
short-ai-story.web.app

22.07.2025 15:53 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

The Sci-Fi naming problem: Are #LLMs less creative than we think?
The most well known LLMs seem to always give the same names to the protagonists of #scifi stories.
Why do they do that? Are they not creative?
Who are Dr Thorne and Anya?

22.07.2025 15:53 β€” πŸ‘ 4    πŸ” 4    πŸ’¬ 1    πŸ“Œ 0

Γ€ la rentrΓ©e, je serai Γ  Tours, Γ  @tadx.bsky.social, pour parler agents IA ! πŸ€–πŸ§ 

20.07.2025 19:28 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

🧡 As an (Gen)AI experiment, I kicked off a new project in React (which I had zero experience with) using Vibe Coding. The first few days were incredibly productive, and within a week I had 90% of the project done. But for that last 10%, Claude Sonnet 4 just couldn’t help me anymore...

19.07.2025 07:21 β€” πŸ‘ 15    πŸ” 7    πŸ’¬ 2    πŸ“Œ 0
Post image

Just shared my presentation on #AI #Agents.

If you want to learn more about the #MCP & #A2A protocols, and frameworks like #ADK, @langchain4j.dev for building agents in #Java in particular, read on!

glaforge.dev/talks/2025/0...

16.07.2025 11:50 β€” πŸ‘ 14    πŸ” 6    πŸ’¬ 1    πŸ“Œ 1
Advanced RAG β€” Using Gemini and long context for indexing rich documents (PDF, HTML...) A very common question I get when presenting and talking about advanced RAG (Retrieval Augmented Generation) techniques, is how to best index and search rich documents like PDF (or web pages), that co...

Using #Gemini and long context for indexing rich documents (PDF, HTML... containing images & diagrams) for your #RAG pipelines
glaforge.dev/posts/2025/0...

14.07.2025 16:29 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Tranches de Tech 20 - Quand Java rencontre l'IA PrΓ©sentation de Guillaume https://glaforge.dev/Β  https://lescastcodeurs.com/Β  https://javachampions.org/ https://www.groovy-lang.org/ https://docs.langchain4j.dev/ https://github.com/tmc/langchaingoΒ  ...

Le dernier épisode de Tranches de Tech est disponible : smartlink.ausha.co/tranches-de-... 🎧

Merci @glaforge.dev pour ta disponibilité et la qualité de nos échanges 🀩.

Merci #OVHcloud de nous permettre de continuer cette aventure ❀️.

On se retrouve en septembre πŸ‘‹.

Bonnes vacances 🏝️ β˜€οΈ.

09.07.2025 14:20 β€” πŸ‘ 9    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0

I hope you will finish your draft!
I'd be happy to read it!

07.07.2025 21:55 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

You mention the hybrid search semantic+BM25 but there's another kind of "hybrid" that you could add as a new bullet point in your draft: RAG+large context.
You find relevant vectors, but you feed the complete doc in the large context window of the model. It solves the problem of the enterprise plan.

07.07.2025 21:55 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I like when you say "the embedding is diluted". I often use that adjective to intuitively describe what happens with bigger chunks!

07.07.2025 21:55 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Advanced RAG β€” Hypothetical Question Embedding In the first article of this Advanced RAG series, I talked about an approach I called sentence window retrieval, where we calculate vector embeddings per sentence, but the chunk of text returned (and ...

I vibe-coded an application to test this approach with #Gemini Canvas and #GeminiCLI, and I deployed it on #CloudRun.

You'll find the link and the implementation details with @langchain4j.dev in my article.

glaforge.dev/posts/2025/0...

07.07.2025 15:16 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Rag Strategies Hypothetical Questions and HyDE | PIXION Blog Exploring Hypothetical Questions and HyDE strategies, designed to boost the accuracy of LLM-based applications by refining the match between user queries and data. It examines the generation of hypothetical questions and answers emphasizing the contrast in their approach.

The #LLM is responsible for figuring out which questions can be answered by the chunk.

This is a technique I discovered on this blog:
pixion.co/blog/rag-str...

(along with the explanation of another approach called HyDE, for Hypothetical Document Embedding)

07.07.2025 15:16 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Just wrote a new article to explore a #RAG ingestion technique that I like to use for Q&A oriented apps:

πŸ’‘Hypothetical Question Embedding

The idea is to compare user questions to #LLM generated questions extracted from the chunks of text.

07.07.2025 15:16 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

@glaforge.dev is following 20 prominent accounts