Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
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
12
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
11
A Gopher's Guide to Vibe Coding
danicat
0
13
How to Create a Diagnostic Agent with Gemini and OSQuery
danicat
0
28
How to create a diagnostic agent using Gemini and osquery
danicat
0
31
Como criar um agente de diagnósticos usando Gemini e Osquery
danicat
0
74
A Gopher's Guide to Vibe Coding
danicat
0
240
Hello, MCP World!
danicat
0
170
A Gopher's Guide to Vibe Coding
danicat
0
58
Construindo um Sistema de Recomendações na GCP
danicat
2
180
Other Decks in Programming
See All in Programming
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
5.4k
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
1.1k
JETLS.jl ─ A New Language Server for Julia
abap34
2
480
余白を設計しフロントエンド開発を 加速させる
tsukuha
3
140
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
140
Cap'n Webについて
yusukebe
0
170
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
7
4.4k
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
360
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
450
ThorVG Viewer In VS Code
nors
0
690
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
760
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
360
Featured
See All Featured
sira's awesome portfolio website redesign presentation
elsirapls
0
120
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
420
The Language of Interfaces
destraynor
162
26k
Balancing Empowerment & Direction
lara
5
840
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
HDC tutorial
michielstock
1
330
Ruling the World: When Life Gets Gamed
codingconduct
0
120
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
51k
Getting science done with accelerated Python computing platforms
jacobtomlinson
1
98
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!