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
14
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
Diagnostic Agent with ADK, Gemini and OSQuery
danicat
0
5
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
29
How to create a diagnostic agent using Gemini and osquery
danicat
0
32
Como criar um agente de diagnósticos usando Gemini e Osquery
danicat
0
75
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
Other Decks in Programming
See All in Programming
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
3.7k
Fragmented Architectures
denyspoltorak
0
120
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
140
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
940
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
180
PostgreSQLで手軽にDuckDBを使う!DuckDB&pg_duckdb入門/osc25hi-duckdb
takahashiikki
0
260
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
500
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
2.3k
CSC307 Lecture 01
javiergs
PRO
0
670
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.2k
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
1.2k
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
0
850
Featured
See All Featured
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
420
New Earth Scene 8
popppiees
1
1.4k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.5k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
150
Measuring & Analyzing Core Web Vitals
bluesmoon
9
740
Speed Design
sergeychernyshev
33
1.5k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
99
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
620
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
200
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.2k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
140
WCS-LA-2024
lcolladotor
0
420
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!