oughtinc/ice
Interactive Composition Explorer: a debugger for compositional language model programs
ICE – Interactive Composition Explorer
What it is – ICE is a Python library that lets you build, run, and debug recipes – structured workflows that call language‑model agents (e.g., GPT‑3/4) to solve a task. It records every LM call and shows an interactive trace in your browser, so you can see how a complex prompt chain behaved.
Key ideas
- Recipes – a hierarchy of subtasks (question‑answering, ranking, verification, …) that together solve a higher‑level problem.
- Agents – reusable building blocks that perform a single LM operation such as completion, scoring, or classification. Agents are stateless and can be swapped out (human, LM, or hybrid).
- Modes – run a recipe entirely with humans, entirely with LMs, or a mix (human+LM) to compare performance.
- Parallel execution – ICE can fire many LM calls at once, speeding up large recipes.
- Trace UI – after a run, a web UI visualises the execution graph, showing inputs, outputs, timings and any errors, which is useful for debugging and research.
Typical workflow
- Install the package (
pip install ought-ice). - Put your API keys in
~/.ought-ice/.env. - Write or import a recipe (e.g., the “Hello World” primer).
- Call
ice.run(recipe, mode="LM"). - Open the generated trace in a browser to explore each step.
Who might use it
- Researchers experimenting with chain‑of‑thought or iterated‑decomposition prompting.
- Developers building AI assistants that need a clear, reproducible workflow.
- Anyone who wants to compare human‑in‑the‑loop vs. fully‑automated LM pipelines.
Status – Pre‑1.0; the public API can change without notice.
Links –
ICE is an open‑source project from Ought, the team behind the research‑assistant tool Elicit.
Related
- Project
- Project
- Project
- Project