← All speakers

Bio, Work & Ideas

Samuel Colvin

Conference affiliation: Pydantic · 2026

On this page

Samuel Colvin is the founder and chief executive of Pydantic and the creator of Pydantic, the open-source Python library that makes type annotations enforceable at runtime. He has extended its approach to reliable data validation into infrastructure for building, observing, evaluating, and securely running AI applications.

Before founding Pydantic’s commercial company, Colvin co-founded TutorCruncher. His other open-source projects include python-devtools and watchfiles, a Rust-backed Python file-watching library.

He founded the company behind Pydantic in February 2023 with Sequoia-led seed funding while keeping its original library open source. Pydantic V2 followed in June 2023 with a Rust-based validation core. In October 2024, Colvin launched Pydantic Logfire and announced a $12.5 million Series A. The company’s products now include Pydantic AI, an agent framework; Pydantic Logfire, an observability platform; and Pydantic Evals, an open-source evaluation framework announced in April 2025.

How Colvin thinks about dependable agents

  • Type-safe AI applications: Explicit schemas, typed dependencies, and checked tool interfaces make agents easier to modify without introducing errors. When a model produces invalid structured output, Pydantic AI can return the validation failure and request a correction. Colvin also emphasizes defining when an agent loop should terminate, whether through structured output or a designated final-result tool. His demonstration of typed agents and validation-driven retries shows these mechanisms in practice.
  • Observability across the whole application: Colvin considers AI observability a capability of broader software observability, not a durable standalone category. Logfire combines OpenTelemetry-based traces, logs, and metrics with visibility into model calls, tool execution, failures, latency, and cost. Sensitive deployments can restrict recorded content, retain categorical evaluation results, or operate within self-hosted infrastructure.
  • MCP sampling: This Model Context Protocol feature lets specialized agentic tools request inference through their client instead of maintaining separate model access. Colvin’s BigQuery and PyPI example combines SQL validation, retries, progress reporting, and tracing while keeping tool-specific instructions out of the main agent’s context.
  • Durable agent execution: Integrating Pydantic AI with Temporal allows interrupted workflows to resume by replaying completed model and tool interactions instead of paying to repeat them. His multi-agent and deep-research examples use ordinary imperative Python and parallel tasks. They also illustrate why speed and cost comparisons are meaningless when output correctness goes unchecked.
  • Genetic prompt optimization: Colvin uses GEPA, reference datasets, and production traces to test candidate prompts, while typed managed variables enable changes to prompts and models without redeployment. He emphasizes the practical limitations: imperfect reference answers, overfitting, inflated prompts, model-specific tuning, and the difficulty of evaluating open-ended tasks. Optimization becomes especially useful for high-volume workloads or specialized private data, as his production optimization workshop demonstrates.

Sandboxing generated code

Pydantic Monty extends Colvin’s focus on explicit boundaries to AI-generated code. The Rust-based Python interpreter begins without filesystem, network, or environment access and grants capabilities selectively. A unified sandbox interface also supports fuller CPython environments when applications need additional packages.

Colvin tested Monty through escalating public security challenges: an initial escape was found and repaired, a second round produced no successful escape, and a third challenge offered $20,000 in August 2026. His public invitation to break the sandbox makes adversarial testing central to the product’s security claims.

Read the topics behind these talks

4 conference talks

Key ideas

Scroll to read ↓

A game of twenty questions exposes the restart problem in long-running agents. Temporal preserves completed work, while Python keeps control of the research workflow.

  • When restarting becomes the problem
    0:00 ↗
  • Two agents try to identify a potato
    1:16 ↗
  • Record external work, replay the control flow
    4:06 ↗
  • Retry a failure, then kill the process
    7:06 ↗
  • A durable agent can still be wrong
    10:44 ↗
  • Build research from smaller agents
    12:19 ↗
  • Plan, search in parallel, then synthesize
    14:57 ↗
  • Keep the Python, add durable boundaries
    16:50 ↗
  • Recovery stops at the unfinished activity
    18:48 ↗
  • The examples and the forthcoming gateway
    21:15 ↗

Key ideas

Scroll to read ↓

Reliable AI applications need explicit contracts: typed outputs, validation that feeds corrective retries, typed tool dependencies, and traces that explain why a run failed.

  • How do you refactor an application whose shape is still changing?
    0:19 ↗
  • The agent loop needs an exit
    1:59 ↗
  • Extract a Person, then make validation matter
    3:32 ↗
  • Inspect the retry, then follow the output type
    5:46 ↗
  • Carry dependency types through memory tools
    7:59 ↗
  • A valid tool call can still search for the wrong thing
    9:37 ↗
  • The trace also exposes time and cost
    11:35 ↗

Key ideas

Scroll to read ↓

MCP sampling lets an agent inside a tool request inference through its client. A PyPI research example shows how this separates specialized context, SQL repair and progress reporting from the main agent.

  • How much infrastructure does agent communication need?
    0:17 ↗
  • Tool calling needs more than an endpoint description
    3:11 ↗
  • When a tool is itself an agent
    4:01 ↗
  • The sampling round trip
    5:37 ↗
  • A research tool that generates and repairs SQL
    7:06 ↗
  • Keep the user informed while the tool runs
    9:09 ↗
  • Put specialized context inside the tool
    10:34 ↗
  • Ask the question, then inspect the nested execution
    12:27 ↗

Key ideas

Scroll to read ↓

A political-relations extractor becomes a practical test bed for prompt optimization, evaluation design, and changing a running agent through typed configuration.

  • How do you improve an agent that is already running?
    0:15 ↗
  • Finding relatives is easier than defining which ones count
    3:55 ↗
  • Turn the question into structured extraction
    7:10 ↗
  • Connect model access and telemetry separately
    10:58 ↗
  • Build an evaluation that explains its score
    16:51 ↗
  • Compare prompts through their failure cases
    24:04 ↗
  • Use an agent to improve another agent’s instructions
    30:05 ↗
  • Choose what the optimizer is allowed to change
    37:30 ↗
  • A high score still needs a defensible judge
    46:11 ↗
  • Decide whether the workload justifies optimization
    52:06 ↗
  • Make the running application consume typed configuration
    57:01 ↗
  • Change the language, then the model
    1:02:03 ↗
  • Connect the optimized prompt—and inspect the failure
    1:04:38 ↗
  • Use the next user interaction as evidence
    1:10:52 ↗
  • Optimize the objective without exporting sensitive content
    1:15:44 ↗

References