with-agents

The Pragmatic Engineer — selected conversations

Building Codex with Tibo Sottiaux

Eighteen curated conversations on agent workflows, design, harnesses, and software quality

A manually reviewed selection of Pragmatic Engineer conversations with Maggie Appleton, Matt Pocock, Tibo Sottiaux, Martin Fowler, Dex Horthy, Boris Cherny, Mario Zechner and Armin Ronacher, Laura Tacho, Hillel Wayne, Mitchell Hashimoto, Kent Beck, Peter Steinberger, Grady Booch, Steve Yegge, DHH, Dax Raad, Charity Majors, and Addy Osmani. Topics include design prototyping, reusable skills, agent workflows, context and harness design, TDD and verification, architecture, measurement, accountability, and open-source governance. Practitioner observations, product-team claims, and forecasts are not controlled findings.

The Pragmatic Engineer 3 of 18
In this collection Browse 18 summaries 3 of 18

Codex separates its agent from the interface people use to control it. Tibo Sottiaux explains why that boundary matters as OpenAI brings the agent into more products, and how the team decides whether to improve the model or the harness—the instructions, tools, and execution controls around it.

Based on the video's English auto-generated captions, without an original-audio check. Capability claims and forecasts are Sottiaux's product-team reports, not independently validated findings.

Main takeaways

  • Rust helped enforce an agent–interface boundary, not just improve speed. 18:44–21:55(opens in a new tab): Sottiaux describes correctness, efficiency, compile-time checks, and the team's Rust expertise as reasons for the choice. A separate Rust core also discouraged coupling the agent to one product interface, leaving it usable in other products. He says TypeScript or Python could have worked too; this is a design trade-off, not a claim that agents require Rust.
  • Open source improves feedback but creates real operating costs. 21:55–26:07(opens in a new tab): the team wanted contributors to use Codex to improve Codex and to learn directly from the changing open-source ecosystem. Sottiaux reports easier onboarding and useful contributions, alongside low-quality submissions, awkward boundaries with internal repositories, and competitors shipping copied features before OpenAI releases them.
  • Model choice need not require changing the whole setup. 26:07–28:56(opens in a new tab): supporting other providers' models avoids forcing users into a fork or a new setup just to try a model, while giving the team feedback from comparisons in the same harness.
  • Local execution and cloud execution solve different constraints. 32:28–36:18(opens in a new tab): Sottiaux describes local tool execution as sandboxed by default, with permission requests for commands needing access beyond it; the cloud option runs tools in a managed VM instead. Local work preserves an existing development setup, while cloud machines avoid laptop resource and availability limits. He proposes—rather than demonstrates—using agents to recreate and maintain that setup in the cloud.
  • Better models can need fewer behavioral reminders. 37:06–41:18(opens in a new tab): the harness supplies the instructions, tools, and execution controls around the model. Sottiaux's example is an instruction to run tests: a later model better infers that requirement without the reminder. Research and engineering decide together whether to change the harness or wait for a training improvement, depending on its expected arrival.
  • Agents need organizational context to answer organizational questions. 41:18–43:26(opens in a new tab): new starters are encouraged to ask Codex about project state, ownership, and past decisions. Sottiaux connects this usefulness to access to code, Slack, and documents, supported by work in broadly accessible internal channels. This is the connected internal workflow he describes, not a capability available without the relevant data and permissions.
  • Review dependency assumptions, not just the changed code. 47:38–49:43(opens in a new tab): Sottiaux describes models following dependency chains to find cases where a library behaves differently from its documentation, breaking an assumption in the calling code. He says automated security findings block OpenAI pull requests.
  • Passing checks does not settle whether a change is worth building. 49:43–52:50(opens in a new tab): he argues for discussing a change's intent separately from code correctness. He also proposes agreeing on a component's behavior and invariants—conditions that must remain true, including resource-use, data-access, and security constraints—so internal changes need less repeated discussion if those guarantees hold. He does not describe how to enforce them.
  • Cheaper changes make good boundaries more useful, not obsolete. 52:50–55:57(opens in a new tab): Sottiaux expects dependency upgrades and other maintenance to become increasingly automated, with good changelogs and documentation helping models reason through changes. He also describes rearchitecture as faster. But stable abstractions still limit how far a change propagates, letting a team iterate inside one component without disrupting the rest.
  • Merging Codex into ChatGPT was an execution and scaling project. 1:02:53–1:06:57(opens in a new tab): Sottiaux contrasts a locally executed agent with ChatGPT's managed cloud stack. The work included running the full harness with a cloud computer efficiently at a much larger user scale and reconciling plugin and library differences. He describes a unified product as the direction of travel, rather than claiming every capability was already identical across interfaces.

Source

The Pragmatic Engineer — Building Codex with Tibo Sottiaux(opens in a new tab), published September 9, 2026.

Search

Search field guides and resources across the site.

    Keyboard shortcuts

    Press ? to open this guide (usually Shift + /). Close it before using other site shortcuts.

    Show keyboard shortcuts
    ?
    Search site
    Ctrl + K
    Close the current dialog or menu
    Esc

    Site shortcuts are ignored while typing. Browser and extension shortcuts may take priority.