Ultimate Practical AI

Ultimate Practical AI

Aug 11th, 2026

9:00AM - 5:00PM GMT+0

London, UK

A hands-on, full-day workshop where you'll build a complete AI-powered application in Go — from first prompt to production-ready system.

Price: £250.00

Enroll Now

This is a hands-on, full-day workshop where you’ll build a complete AI-powered application in Go — from first prompt to production-ready system.

You’ll start by connecting your Go application to a language model and grounding its responses in real data using Retrieval-Augmented Generation (RAG). Then you’ll give it the ability to act on the world through Tool Calling, Function Execution, and the Model Context Protocol (MCP). With the core system working, you’ll learn the advanced optimization techniques that separate prototypes from production — speculative decoding, semantic caching, and intelligent model routing.

Finally, you’ll harden everything against the security threats unique to LLM-powered systems, from prompt injection to data exfiltration.

Each part builds on the last.

By the end of the day, you won’t just understand these concepts — you’ll have built, optimized, and secured a working system that retrieves, reasons, and acts.


What You'll Learn

By the end of this workshop, you'll leave with working code, a production-ready mindset for AI-powered Go applications, and hands-on experience across the full stack: retrieval, action, performance, and security.


Syllabus

Part 1: Ground It — Retrieval-Augmented Generation (RAG) in Go
  • Understanding RAG Concepts — Improve responses by dynamically retrieving relevant context rather than relying solely on static training data.
  • Ingesting and Processing Documents — Build pipelines to index and retrieve documents from client systems.
  • Interacting with AI-Compatible APIs — Learn how Go applications can connect to local inference engines, OpenAI-compatible servers, or cloud AI services.
  • Optimizing Performance & Latency — Implement caching, batching, and parallel processing to enhance efficiency.
  • Using Vector Databases — Store and search embeddings with tools such as Chroma, Pinecone, Weaviate, Milvus or pgvector in PostgreSQL.
Part 2: Make It Act — Tool Calling, Function Execution & MCP in Go
  • How AI Uses Tool Calling — Enable external system control by allowing AI to invoke predefined functions in Go.
  • Building Function Calls with OpenAI-Compatible Systems — Define structured function inputs and outputs for AI-driven interactions.
  • Connecting to External APIs & Databases — Trigger real-world actions, query databases, and automate workflows.
  • Handling Responses & Errors — Ensure safe and reliable execution of AI-invoked functions.
  • Introduction to the Model Context Protocol (MCP) — Understand how MCP standardizes the way models discover and invoke tools. Build a simple MCP server in Go that exposes tools to any MCP-compatible client, showing how it compares to direct function calling.
Part 3: Make It Fast — Advanced Optimizations
  • Speculative Decoding — Use a smaller draft model alongside a larger verification model to get near-large-model quality at small-model speeds. Applicable to both local inference libraries and serving engines that support it natively.
  • Automatic Prefix Caching & KV Cache Reuse — Structure multi-turn conversations so shared prefixes (system prompts, conversation history) are cached and reused across requests, avoiding redundant computation. Manage message arrays carefully to keep prefixes stable across turns.
  • Semantic Caching – Embed user queries and check vector similarity against cached query-response pairs, returning cached answers for semantically equivalent questions without running inference — implementable in Go with any embedding model or API.
  • Adaptive Retrieval — Use a lightweight classifier or a small local model to decide whether RAG context is needed at all, avoiding irrelevant context injection that can degrade response quality.
  • Cascading Model Routing — Route queries to different models based on complexity: a fast small model for simple questions, escalating to a larger model only when confidence is low, implemented as Go middleware.
Part 4: Lock It Down — Securing LLM-Powered Go Applications
  • Prompt Injection Defenses — Understand direct and indirect prompt injection attacks, and implement role separation, input sanitization, and detection strategies. Demonstrate how injected instructions in user input or retrieved documents can hijack model behavior.
  • Securing Tool Calls — Apply least-privilege principles to exposed functions, prevent command injection from model output, and enforce authorization checks before execution.
  • RAG Pipeline Security — Guard against data poisoning and indirect injection via ingested documents. Show how a malicious document in the vector DB can manipulate retrieval results and model responses, and defend with access controls, relevance thresholds, and content isolation.
  • Output Sanitization & Exfiltration Prevention — Sanitize model-generated content before rendering in web UIs to prevent XSS. Defend against data exfiltration where the model encodes sensitive retrieved data into tool call arguments targeting attacker-controlled endpoints, using domain allowlists and egress filtering.
  • Chain-of-Call Escalation — Show how a model can chain multiple tool calls in a single turn to escalate privileges. Implement call budgets, supervision layers, and human-in-the-loop checkpoints in Go.
Florin Pățan

Instructor

Florin Pățan

Senior Engineer / Go Instructor

Florin has been working with Go daily for over a decade. He was involved in shaping GoLand, the Go IDE from JetBrains, and has consulted several high-profile clients with Ardan Labs. Florin is actively engaged in AI development and builds resilient systems that help people worldwide.

Why Engineers & Teams Trust Ardan Labs

Cisco Logo

Extremely well organized and high value

"The course is extremely well organized and the pace is also very conducive to the learning process. The exercises are very well organized. Delivered very high value."

- Cisco
Kelsey Hightower's Photo

Best training in the Go community

"You should reach out to the team over at @ardanlabs. They have been training the Go community since the beginning and I've yet to see anyone do it better."

- Kelsey Hightower
Jessica Greene's Photo

Go features that made work better

"Feeling so happy with myself: yesterday at work I refactored some code to use @golang 1.16 built-in, embed I learned about it at @ardanlabs service class."

- Jessica Greene
Zip Recruiter Logo

Well-structured and useful advice

"Excellent class. The instructor is a hacker speaking to hackers, so we got very useful information and advice. Well-structured and paced. 10/10 would gopher it again."

- Zip Recruiter
Adeniyi Oluwatola's Photo

Best ever—learned to build great services

"I finished Ultimate Service from @ardanlabs. I'm telling you this was the best ever. Talking from project structures to metrics. Now I can write good services in Go."

- Adeniyi Oluwatola
Steve Francia's Photo

Improved productivity with Go

"Thanks @ardanlabs for a great Ultimate Go class! Bill is a great teacher and I'm definitely more productive in Go now."

- Steve Francia
Matt Holt's Photo

Complex topics explained clearly

"Highly recommend Ultimate Go by @goinggodotnet & @ardanlabs. I appreciate how Bill explains complex topics simply and clearly. The labs were incredibly helpful too."

- Matt Holt
Cole Calistra's Photo

Well documented and well structured

"Their quality is astounding. They went above and beyond what we asked, working in line with best practices. Everything had test cases, was well documented and well structured, and ran smoothly.”

- Cole Calistra
See What's New

From the Lab

Where ideas get tested and shared. From the Lab is your inside look at the tools, thinking, and tech powering our work in Go, Rust, and Kubernetes. Discover our technical blogs, engineering insights, and YouTube videos created to support the developer community.

Explore our content: