Course outline▾
Week 1 · The Foundations
- Day 1Demystifying AI — From Buzzword to Business Logic
- Day 2How Machines Actually Learn — Supervised, Unsupervised and Reinforcement Learning
- Day 3Inside Neural Networks — The Engine of Modern Deep Learning
- Day 4The AI Project Lifecycle — From Raw Data to Production Deployment
- Day 5The Math Behind the Magic — Why Linear Algebra and Probability Matter
- Day 6Data Preprocessing — Cleaning the Messy Reality of Enterprise Data
- Day 7Measuring Success — Understanding Accuracy, Precision, Recall and F1 Scores
Week 2 · Applied AI & APIs
- Day 8Introduction to LLMs & The Modern AI API Landscape
- Day 9Advanced Prompt Engineering — Few-Shot, Chain-of-Thought and Structured JSON
- Day 10Tokenization, Context Windows and Cost Optimization
- Day 11Embeddings and Vector Representations — How Machines Map Meaning
- Day 12Vector Databases — Storing and Searching Enterprise Knowledge
- Day 13Retrieval-Augmented Generation (RAG) — Chatting with Proprietary Documents
- Day 14RAG Evaluation and Hallucination Guardrails
Week 3 · Infrastructure & Hosting
- Day 15Introduction to AI Infrastructure — Hardware, Runtimes and Compute
- Day 16Local Model Execution — Running Open-Weight LLMs Securely with Ollama and vLLM
- Day 17Containerizing AI Workloads — Production Dockerfiles for Python APIs
- Day 18Docker Compose for Multi-Container AI Stacks
- Day 19Kubernetes for AI 101 — Pods, Deployments and Services for Model Serving
- Day 20Persistent Storage in Kubernetes — Managing State, Weights and Vector Indices
- Day 21High-Performance Networking — Ingress and Egress for AI Clusters
Week 4 · Enterprise Workflows
- Day 22Autonomous Agents — From Passive LLMs to Goal-Driven Execution
- Day 23Tool Use and Function Calling — Connecting LLMs to APIs, Databases and Shells
- Day 24Multi-Agent Orchestration — Supervisor, Worker and Evaluator Patterns
- Day 25Automated CI/CD — Automating the Software Lifecycle for AI Models
- Day 26Zero-Trust Security for AI — Sandboxing Ephemeral Execution and Model Egress
- Day 27Observability and Tracing for Agentic Systems — Telemetry, Logs and Metrics
- Day 28Human-in-the-Loop Architecture: Machine Second, Human First in PracticeComing soon · 2026-10-28 · 7 PM IST
- Day 29Managing Technical Debt, Drift, and Model Governance in Enterprise ITComing soon · 2026-10-29 · 7 PM IST
- Day 30The 10-Year Horizon: Architecting IT Strategy for the AI-Native EnterpriseComing soon · 2026-10-30 · 7 PM IST
Day 27: Observability and Tracing for Agentic Systems — Telemetry, Logs and Metrics
2026-10-27 · 7 min read
Standard monitoring watches status codes, latency and memory. Those numbers can look perfect while an agent is failing. It can return HTTP 200 OK with a completely made-up answer, or burn through forty planning steps going in circles. To debug an agent you need to see its decisions, not only its servers.
In plain terms: A flight tracker that only shows "plane is in the air" tells you nothing about whether it is heading to the right city. You need the flight path.
The three pillars of agent observability
- Traces capture the end-to-end path of a run. Every model call, retrieval and tool call becomes a nested span with its time, input tokens and output tokens, plus enough prompt context to reproduce the step.
- Metrics track the cost and health of the system: token use, cache hit ratio, context-window utilisation and cost per transaction, by team or workflow.
- Logs record structured state changes in a multi-agent graph, so you can find the step where the reasoning diverged from what you expected.
Standards: OpenTelemetry and correlation IDs
- Vendor-neutral instrumentation. Using OpenTelemetry (OTel) means your telemetry can flow into Prometheus, Grafana, Jaeger or a commercial backend without locking you to one vendor. OpenTelemetry also has emerging conventions for generative AI attributes, which are still evolving, so check the current names.
- Correlation IDs. Give each incoming request a unique trace ID that follows it through the gateway, application, vector database and agent workers. Search that ID and you see one user interaction end to end.
Here is a minimal Python example. It assumes you have installed opentelemetry-sdk and opentelemetry-exporter-otlp, and that a collector or a recent Jaeger is listening for OTLP on port 4317. The llm and run_tool functions stand in for your own.
from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter
provider = TracerProvider()
provider.add_span_processor(BatchSpanProcessor(OTLPSpanExporter(endpoint="localhost:4317", insecure=True)))
trace.set_tracer_provider(provider)
tracer = trace.get_tracer("support-agent")
def handle(question: str, request_id: str):
with tracer.start_as_current_span("agent.run") as run:
run.set_attribute("app.request_id", request_id)
with tracer.start_as_current_span("llm.plan") as span:
plan = llm(question) # your model call
span.set_attribute("gen_ai.usage.input_tokens", plan.input_tokens)
span.set_attribute("gen_ai.usage.output_tokens", plan.output_tokens)
with tracer.start_as_current_span("tool.run_sql") as span:
span.set_attribute("tool.name", "run_sql")
rows = run_tool("run_sql", plan.sql)
span.set_attribute("tool.rows_returned", len(rows)) # 0 rows is a useful signal
return rows
One caution: prompts can contain customer or internal data, so redact sensitive fields before they go into spans or logs. With tracing in place, agent debugging moves from guesswork to something you can inspect, replay and audit.
Coming Up Next
Day 28: Human-in-the-loop architecture: machine second, human first in practice.
#Observability #OpenTelemetry #DistributedTracing #MLOps #SRE