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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Daniela Petruzalek
December 01, 2025
Programming
0
16
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
[Golab 2025] The Gopher's Craft in the Age of AI
danicat
0
12
Making of GoDoctor: Lessons Learned While Building a Go-Aware MCP Server
danicat
0
18
Diagnostic Agent with ADK, Gemini and OSQuery
danicat
0
16
Hello, MCP World!
danicat
0
17
A Gopher's Guide to Vibe Coding
danicat
0
14
How to Create a Diagnostic Agent with Gemini and OSQuery
danicat
0
37
How to create a diagnostic agent using Gemini and osquery
danicat
0
33
Como criar um agente de diagnósticos usando Gemini e Osquery
danicat
0
82
A Gopher's Guide to Vibe Coding
danicat
0
250
Other Decks in Programming
See All in Programming
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
280
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
700
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
460
2026年 エンジニアリング自己学習法
yumechi
0
130
AI時代の認知負荷との向き合い方
optfit
0
160
CSC307 Lecture 05
javiergs
PRO
0
500
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
400
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
200
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
200
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.3k
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.5k
Data-Centric Kaggle
isax1015
2
770
Featured
See All Featured
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
51
Why Our Code Smells
bkeepers
PRO
340
58k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
The Language of Interfaces
destraynor
162
26k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
74
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
350
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
120
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Designing Powerful Visuals for Engaging Learning
tmiket
0
230
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!