Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Go for GenAI!
Search
Daniela Petruzalek
December 01, 2025
Programming
0
3
Go for GenAI!
Keynote presented at DevFest Bletchley Park 2025 highlighting the new developments in Go for GenAI
Daniela Petruzalek
December 01, 2025
Tweet
Share
More Decks by Daniela Petruzalek
See All by Daniela Petruzalek
Hello, MCP World!
danicat
0
4
A Gopher's Guide to Vibe Coding
danicat
0
4
How to Create a Diagnostic Agent with Gemini and OSQuery
danicat
0
4
How to create a diagnostic agent using Gemini and osquery
danicat
0
28
Como criar um agente de diagnósticos usando Gemini e Osquery
danicat
0
71
A Gopher's Guide to Vibe Coding
danicat
0
240
Hello, MCP World!
danicat
0
140
A Gopher's Guide to Vibe Coding
danicat
0
54
Construindo um Sistema de Recomendações na GCP
danicat
2
180
Other Decks in Programming
See All in Programming
無秩序からの脱却 / Emergence from chaos
nrslib
2
11k
Atomics APIを知る / Understanding Atomics API
ssssota
1
240
CloudNative Days Winter 2025: 一週間で作る低レイヤコンテナランタイム
ternbusty
7
1.9k
dotfiles 式年遷宮 令和最新版
masawada
1
440
競馬で学ぶ機械学習の基本と実践 / Machine Learning with Horse Racing
shoheimitani
14
14k
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
180
『実践MLOps』から学ぶ DevOps for ML
nsakki55
2
510
JJUG CCC 2025 Fall Javaコミュニティの歩き方 〜参加から貢献まで、すべて教えます〜
takasyou
0
740
Herb to ReActionView: A New Foundation for the View Layer @ San Francisco Ruby Conference 2025
marcoroth
0
230
TVerのWeb内製化 - 開発スピードと品質を両立させるまでの道のり
techtver
PRO
3
1.3k
20251127_ぼっちのための懇親会対策会議
kokamoto01_metaps
2
370
Building AI Agents with TypeScript #TSKaigiHokuriku
izumin5210
5
1.2k
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Embracing the Ebb and Flow
colly
88
4.9k
RailsConf 2023
tenderlove
30
1.3k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Faster Mobile Websites
deanohume
310
31k
Writing Fast Ruby
sferik
630
62k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
How to Think Like a Performance Engineer
csswizardry
28
2.3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Transcript
Bletchley Park Daniela Petruzalek Developer Relations, Google Cloud Go for
GenAI!
About me… DevRel at Google UK Originally from Brazil Backend
/ Data Engineer Currently obsessed with AI Love Games, Anime and Cats =^_^=
Agenda • Why Go? • Genkit Go • Agent Development
Kit • Go SDK for MCP
Why Go?
Why Go? Because it has a cute mascot! Bletchley Park
Or because… It’s a compiled language Code is simple to
read / maintain It has a rich standard library Great performance and tooling It is fun!* * based on my totally biased personal opinion
The two sides of GenAI Code generation (aka “vibe coding”)
AI workloads in production
Go for GenAI: Code generation Compiled: tight feedback loop Code
is standardised: better for training models Standard library: less moving parts Tooling: automate code quality checks
Go for GenAI: Production Workloads Great performance Concurrency out-of-the-box (go
func()) Tooling (go vet, trace, pprof, static analysis …) Rich ecosystem of AI frameworks
Genkit is an open-source framework for building full-stack AI-powered applications
Bletchley Park
Key Features Model support: Google, Ollama, OpenAI, … Building blocks:
structured output, tool calling, multi-modal input/output and more. Developer tools: CLI and developer UI Production monitoring: Firebase dashboard
// Genkit: Define and Run a Flow g := genkit.Init(ctx,
genkit.WithPlugins(&googlegenai.VertexAI{}) ) helloFlow := genkit.DefineFlow(g, "helloFlow", func(ctx context.Context, prompt string) (string, error) { resp, _ := genkit.Generate(ctx, g, ai.WithModelName("vertexai/gemini-2.5-flash"), ai.WithPrompt(prompt)) return resp.Text(), nil }, ) result, _ := helloFlow.Run(ctx, "Say hello!") fmt.Println(result)
// Genkit: Define a Flow Server g := genkit.Init(ctx, genkit.WithPlugins(&googlegenai.VertexAI{})
) genkit.DefineFlow(g, "helloFlow", func(ctx context.Context, prompt string) (string, error) { resp, _ := genkit.Generate(ctx, g, ai.WithModelName("vertexai/gemini-2.5-flash"), ai.WithPrompt(prompt)) return resp.Text(), nil }, ) // Keep running to serve the flow <-ctx.Done()
None
Agent Development Kit (ADK) for Go An open-source toolkit for
building, evaluating, and deploying AI agents Bletchley Park
Key Features Model agnostic, deployment agnostic Agentic workflows: sequential, parallel,
loop, … Pre-built (search, code exec) and custom tools Built-in evaluation
// ADK: Create and Launch an Agent model, _ :=
gemini.NewModel(ctx, "gemini-2.5-flash", &genai.ClientConfig{Backend: genai.BackendVertexAI}) agent, _ := llmagent.New(llmagent.Config{ Name: "hello_agent", Model: model, Instruction: "You are a helpful assistant.", }) full.NewLauncher().Execute(ctx, &adk.Config{ AgentLoader: services.NewSingleAgentLoader(agent), }, []string{"console"})
None
Genkit vs ADK
None
Model Context Protocol (MCP) is an open standard that allows
AI models to connect and communicate with external tools and data sources Bletchley Park Go SDK for MCP
Shameless plug… Session: Hello, MCP World! @ 12:20 PM Lab:
Build an MCP with Gemini CLI and Go @ 3:45 PM
Bletchley Park Daniela Petruzalek Developer Relations, Google Cloud danicat.dev |
@danicat83 Thank you!