{
  "video": {
    "id": "7T-gldvgfpo",
    "title": "Stop Telling Agents How",
    "duration": 2976,
    "upload_date": null,
    "channel": "AI Engineer",
    "source": "AI Engineer",
    "event_format": ""
  },
  "analysis": {
    "video_id": "7T-gldvgfpo",
    "title": "Stop Telling Agents How — Dan Barrett, Raymond Weitekamp & Jose Montes de Oca, OpenProse",
    "one_liner": "OpenProse argues that you should write declarative, composable markdown 'contracts' that say what outcome you want, not how to get it. Any harness with sub-agents (Claude Code, Codex, your own) then compiles and runs them as event-driven multi-agent workflows, and you only 'pin the how' later to cut cost.",
    "summary": "Dan Barrett traces a path from prompting to context engineering to harness engineering. He argues that the one constant is communicating intent, and that the next layer is declaring outcomes as composable contracts instead of procedural instructions. Raymond Weitekamp presents OpenProse as 'just markdown', event-driven rather than chat, and harness-agnostic: even its compiler and VM are a giant prompt. He demos run.prose.md, where a voice agent writes a PR-review job triggered by GitHub webhooks, and the team has used that same review back-pressure to build the app itself. Barrett then runs a quant-model regulatory documentation workflow in Codex, which takes just the public 'kernel' plus a contract program.",
    "key_points": [
      "OpenProse is a 'programming language for agents', but it is all markdown, essentially one giant prompt. H3 headers are overridden with a type system, and the kernel/system prompt runs to roughly 70-80k+ tokens. The runtime prompt literally says 'You are the compiler. This is not an analogy.'",
      "It is event-driven, not chat. In run.prose.md a job is a contract plus a trigger, and the triggers implemented today are cron schedules and webhooks (GitHub, Slack, etc.).",
      "Programs declare sub-agents, the skills and tools each one gets (e.g. 'always use Exa, not regular web search'), and inputs and outputs. If a dependency is missing, the program does not compile or run.",
      "Fresh sessions are checked against a declarative contract, which avoids the self-review bias of a model grading its own work. In Raymond's PR-review back-pressure loop, some PRs went through 14 rounds of review before the reviewer agents let them pass, across dozens of PRs in a few days.",
      "'Pinning the how': start loose with an expensive, smart model, then take a good agent trace (a 'golden session') and shrink-wrap it into more procedural instructions so later runs are cheaper.",
      "They describe OpenProse as the inverse of DSPy. Same intent (an abstraction over complex workflows), opposite implementation: DSPy isolates each LLM call behind typed deterministic code, while OpenProse lets the AI be the compiler, 'everything in fuzzy land'. The weakness: results vary by model (Haiku vs Fable), and the agent declares its own completion.",
      "Planned use of cheap decision/classifier models: a fast verifier at the end of a job, a router for GitHub events, and a 'semantic memoizer' that decides when an upstream contract's state has changed and downstream work needs re-running (React-style memoization over a DAG of contracts). None of this is shipped yet.",
      "Quant model documentation demo: a big bank has about 4,000 models that must be re-documented yearly for regulators and auditors, a problem worth $10-50M a year. They ran it in Codex on the public SOFR curve model with a cheap model, and say quants rated the output 'shockingly good' for far less cost."
    ],
    "takeaways": [
      "Write prompts as declarative contracts (goal, end state, inputs, outputs) rather than step-by-step procedures, so smarter or cheaper models can find the 'how' themselves.",
      "Verify work with fresh sessions checked against a written contract, not by asking the same agent to double-check itself.",
      "Start loose with a strong model, then codify a successful trace into pinned procedural steps to drive cost down for repeated runs.",
      "Use contract-style workflows only for work that is repeated, reliable, repeatable and auditable. For one-offs and exploration, chat is better.",
      "Compose intermediate contracts as checkpoints in a DAG to constrain the shape of a multi-agent workflow (fan-out/fan-in, adversarial review, loop-until-condition) without writing code."
    ],
    "topics": [
      "agents",
      "multi-agent workflows",
      "declarative prompting",
      "event-driven automation",
      "harness engineering",
      "code review",
      "regulated finance"
    ],
    "tools": [
      "OpenProse",
      "run.prose.md",
      "Claude Code",
      "Codex",
      "Anthropic",
      "OpenAI",
      "Exa",
      "DSPy",
      "GitHub",
      "Slack",
      "Stripe",
      "ChatGPT",
      "EleutherAI",
      "Notion",
      "Jira",
      "Fable",
      "Haiku",
      "Pi",
      "Matt Pocock's workflow"
    ],
    "quotes": [
      {
        "text": "We want to tell it what what to do, not how to do it because the harness in its infinite wisdom and its infinite intelligence is going to figure that out.",
        "at": "04:50",
        "url": "https://www.youtube.com/watch?v=7T-gldvgfpo&t=290s"
      },
      {
        "text": "You are the compiler. This is not an analogy.",
        "at": "11:18",
        "url": "https://www.youtube.com/watch?v=7T-gldvgfpo&t=678s"
      },
      {
        "text": "Dan's approach with open prose is the exact opposite which is like AI is getting smart enough to be the compiler. Like let everything be in fuzzy land.",
        "at": "27:17",
        "url": "https://www.youtube.com/watch?v=7T-gldvgfpo&t=1637s"
      },
      {
        "text": "even more important than your data is you don't want to be shipping your standard operating procedure out to the big labs.",
        "at": "32:27",
        "url": "https://www.youtube.com/watch?v=7T-gldvgfpo&t=1947s"
      }
    ],
    "words": 10531
  },
  "summary_url": "/#7T-gldvgfpo",
  "transcript": {
    "html": "/transcripts/7T-gldvgfpo.html",
    "txt": "/transcripts/7T-gldvgfpo.txt",
    "vtt": "/transcripts/7T-gldvgfpo.vtt"
  }
}