PyData Boston 2025

Generative Programming with Mellea: from Agentic Soup to Robust Software
2025-12-08 , Horace Mann

Agentic frameworks make it easy to build and deploy compelling demos. But building robust systems that use LLMs is difficult because of inherent environmental non-determinism. Each user is different, each request is different; the very flexibility that makes LLMs feel magical in-the-small also makes agents difficult to wrangle in-the-large.

Developers who have built large agentic-like systems know the pain. Exceptional cases multiply, prompt libraries grow, instructions are co-mingled with user input. After a few iterations, an elegant agent evolves into a big ball of mud.

This hands-on tutorial introduces participants to Mellea, an open-source Python library for writing structured generative programs. Mellea puts the developer back in control by providing the building blocks needed to circumscribe, control, and mediate essential non-determinism.


Our ninety minute hand-on tutorial will introduce participants to Mellea.

Outline

  • Minutes 0-20: Introduction to Generative Computing: common design patterns and pitfalls, by example.
  • Minutes 20-40: Basics of Mellea: Requirements and Requirement Checking, the Instruct-Validate-Repair Loop, Sampling Strategies, Generative Functions, Objects-as-context.
  • Minutes 40-50: MiniDataResearcher: A Case Study in Prompt Decomposition
  • Minutes 50-70: Tuning custom Mellea Components with mellea tune
  • Minutes 70-90: Putting it All Together: Adding custom-tuned models and KV cache optimization to MiniDataResearcher.

Participants may follow along with the examples. We will provide a Colab notebook for this purpose, but participants can also follow along with a small language model on their own machine. Time is built into this Outline for setup, interactive debugging, and ad hoc deep dives addressing participant questions.

Who This Talk is For:: We are still in the early days of generative programming. All developers -- from Junior to Principal -- will find something to learn from this tutorial. We expect basic familiarity with Python.


Prior Knowledge Expected: No previous knowledge expected

Nathan Fulton is a manager at IBM Research. He is an expert in large language models, formal verification, and reinforcement learning. Nathan earned bachelors degree from Carthage College in Computer Science and Mathematics, and a Ph.D. from Carnegie Mellon University's Computer Science Department. During his PhD studies, Nathan was a member of André Platzer's Logical Systems Lab and a core developer of the KeYmaera X theorem prover for hybrid systems. Nathan has previously worked as a Senior Applied Scientist at Amazon Web Services and as a Research Scientist at the MIT-IBM AI Lab.