Stop Telling Agents How — Transcript
Full transcript
- 0:01[music]
- 0:12>> My name is Dan. I am the creator of Open
- 0:15Pros. This year is Raymond I'm joined by
- 0:16Raymond and
- 0:18Jose two fabulous teammates, co-workers,
- 0:22just phenomenal creators and engineers
- 0:24all around. I'll introduce them a little
- 0:26bit in a bit. Uh
- 0:28just a little bit of background about
- 0:30what we're what we're about to show you
- 0:32here.
- 0:33Uh
- 0:345 years ago
- 0:35in April of 2021, I was named the
- 0:40best prompter in the Eleuther AI
- 0:43back rooms Discord, which was a skill at
- 0:46the time that I thought would be
- 0:47tremendously valuable for many years
- 0:49afterward and actually it lasted I think
- 0:52around like two or three years maybe was
- 0:55the lifetime of of that skill.
- 0:57And I say that because a lot obviously,
- 1:00as you all know, has changed in the last
- 1:025 years.
- 1:03But one thing has not changed and
- 1:06I've been to a lot of workshops today.
- 1:08We've got a lot of
- 1:10amazing talks coming up.
- 1:12But the one thing that seems to be
- 1:15ever present in in all of the work that
- 1:18we do and and that actually doesn't
- 1:20change
- 1:21with the latest harness or the latest
- 1:22model is we all still need to
- 1:25communicate our intent
- 1:27to the thing and no matter how smart the
- 1:29thing gets,
- 1:31there is still this challenge of how do
- 1:33I get out of my brain the thing that I
- 1:35want and and get it into the super
- 1:38intelligence that is just going to carry
- 1:40it away and and do everything for me. Uh
- 1:42Open Pros is is a is a language, it's a
- 1:45framework, it's a
- 1:47started as a project based on my own
- 1:50love of language and my own
- 1:52strong belief that language is this
- 1:55really powerful
- 1:58force of creation and I mean that like I
- 2:00know that's a little bit cliche, but
- 2:02that's like in the very literal sense
- 2:04now with with the capabilities that we
- 2:06have. You can write a sentence and the
- 2:09things just make that sentence true. And
- 2:12so the question then becomes like what
- 2:14is the sentence that you write now that
- 2:17you have this tremendously powerful
- 2:19machine
- 2:21to make it true. And the skill of
- 2:22prompting from 5 years ago looks very
- 2:24different from the skill of what we like
- 2:27to think of as contract creation or
- 2:28contract composition
- 2:31today. And when you were dealing with a
- 2:32model that was just completing the the
- 2:35next token, there was there was good
- 2:38patterns and bad patterns for for
- 2:40prompting.
- 2:41A few years later, you were filling out
- 2:43context by hand and you were taking rag
- 2:45results and and tool calls and stuff and
- 2:48search results and stuffing them into
- 2:49into the context window and you call
- 2:51that context engineering.
- 2:53And then the harness started doing that
- 2:54for you and you were building a harness
- 2:56and and and you were you were you
- 2:57thought of the harness as this this
- 2:59machine that was stuffing context for
- 3:01you.
- 3:02And and in the last 8 10 months, we've
- 3:05seen a number of papers come out that is
- 3:08just pushing everything up another layer
- 3:10of abstraction and and the harnesses
- 3:12themselves are are changing out from
- 3:15under you. We
- 3:16saw a great presentation by Anthropic
- 3:18this morning on on flows and that's this
- 3:21idea of this like self-modifying
- 3:23harness topology that is managing sub
- 3:25agents in a way that just was not
- 3:27thinkable even just a year ago. So, if
- 3:30if
- 3:31is solved and the context is now solved
- 3:34and now the harnesses are now solved,
- 3:35like what's kind of the next step here?
- 3:37And that's what we'd like to talk a
- 3:39little bit about today and show you some
- 3:40of the stuff we've been we've been
- 3:41building in in support of that.
- 3:44I like to think of it as as
- 3:46once you can name the thing that you
- 3:48want,
- 3:49any harness can self-shape, can fan out,
- 3:52do any sort of loop to get you there.
- 3:55And the question is what are the good
- 3:57best practices for naming the thing that
- 3:59you want.
- 4:00And and we think of that as as
- 4:02declarative. We're we're going to borrow
- 4:04concepts from classical software
- 4:05engineering. I'm a software engineer of
- 4:0712 years. Jose and Raymond have been
- 4:09around the block with this as well.
- 4:11Jose was early Google Cloud and he's
- 4:13informed a number of the ways we think
- 4:15about this. Raymond is just a phenomenal
- 4:18uh uh
- 4:19He told me to He told me to introduce
- 4:20himself as a as a vibe code
- 4:22extraordinaire, but that's way
- 4:23underselling his his talents. He's a PhD
- 4:26and two-time founder and has been doing
- 4:29harness engineering for basically as
- 4:30long as anybody I know. Um and and so so
- 4:34it's this idea of borrowing old
- 4:36engineering patterns and applying them
- 4:38into this new world. We want to write
- 4:40our prompts compositionally. We want to
- 4:42compose
- 4:43composition over inheritance.
- 4:45We want to write our prompts
- 4:47declaratively rather than procedurally
- 4:50or imperatively. We want to tell it what
- 4:52what to do, not how to do it because the
- 4:55harness in its infinite wisdom and its
- 4:57infinite intelligence is going to figure
- 4:59that out. And if we tell it how to do
- 5:01the thing, now we're actually leaving
- 5:03cost and and intelligence on the table
- 5:05because we could run it for a cheaper
- 5:07model. A more intelligent model can
- 5:09figure out how to do the thing. So it's
- 5:10this idea of write what you want,
- 5:12declare what you want, the outcome, the
- 5:14goal, the end state. We think of that as
- 5:17a contract.
- 5:18And and
- 5:20write it in a way such that you can
- 5:22compose these because when you build a
- 5:23system, when when you build an open
- 5:25framework like this, when you build a
- 5:27system that has many parts, maybe across
- 5:29your company or across your team, you
- 5:31want to do things in a way that allows
- 5:32things to elegantly compose and that
- 5:34lets you manage
- 5:37complexity in in a in a more local way.
- 5:39Um
- 5:40with that, I'm going to hand it over to
- 5:42Raymond who's going to tell you a little
- 5:43bit about how it works and then we're
- 5:45going to show you some some demos after
- 5:46that. We'll we'll we'll open it up to
- 5:49questions throughout. So, and please do
- 5:50raise uh your hand if you have
- 5:52questions, interject, please.
- 5:55>> Awesome. Thank you, Dan. Okay, so there
- 5:59um
- 6:00I wanted to just help you understand
- 6:01Open Pros and put it in a quadrant. Um
- 6:05so,
- 6:06if there's only two things that you
- 6:07remember, the two things that I want you
- 6:09to remember are it's just markdown.
- 6:12So, we like to sometimes call it it's a
- 6:14programming language for agents. We
- 6:16sometimes call it a framework, but all
- 6:18of it is just text. It's just one giant
- 6:21prompt. Um and then the second thing to
- 6:24just help you figure out in your mental
- 6:26bucket where this fits is it's event
- 6:28driven. It's not chat. We're not
- 6:30chatting with these things. Um
- 6:31I'll chat with an agent that will make
- 6:33Open Pros programs later, but if you
- 6:35only remember two things about us,
- 6:36that's it. It's it's all text and we're
- 6:39doing these event-driven multi-agent
- 6:41workflows, not chatting. Um you can it's
- 6:44open source, you can run it locally with
- 6:45NPX skills.
- 6:47Uh I'll walk through the hosted version
- 6:48that I've built uh run.pros.md, and uh
- 6:52we also will do it for you. If you want
- 6:54to reach out, uh we'll help you out.
- 6:56So, uh I guess quick question, like how
- 6:59many people in here are from the the
- 7:01finance side of things?
- 7:03Okay, that's good. How many are like AI
- 7:06engineers or developers? Okay. Then how
- 7:09many people um
- 7:11are maybe more like PMs or like
- 7:13professionals but and you're using AI
- 7:15but you don't know how to code?
- 7:17Okay, fewer but Okay, good. So, I've got
- 7:19why should I care for those three
- 7:21audiences? So,
- 7:22for the small regulated industries, one
- 7:25of the things that we've seen um some
- 7:28banks and uh other financial services
- 7:30companies be excited about is like what
- 7:32I said before, it's all text. So, we
- 7:34don't need the procurement department,
- 7:36we don't need the IT department. You can
- 7:38use whatever coding agent you want,
- 7:39whatever inference you want, whatever
- 7:41guardrails you already have, whatever
- 7:42stack you have, we can actually like
- 7:44help you um you know, create these
- 7:47multi-agent workflows without deploying
- 7:49anything to you other than some markdown
- 7:51files. Um so, that's one of the the
- 7:54angles or or benefits of it being all
- 7:56text.
- 7:57Um for the folks that are uh not writing
- 7:59code themselves, uh basically, if you
- 8:01can read logical English, you can read
- 8:03Open Prose. So, we're going to very
- 8:05specifically not get into the syntax of
- 8:08the language. Technically, it is a
- 8:09programming language and it has a
- 8:11syntax, um
- 8:12but it's really meant to be more um read
- 8:15by people and edited by people rather
- 8:18than like handwritten from scratch by
- 8:20people. Like you we don't want users
- 8:23concerned with like learning the schema.
- 8:25And so, you can kind of describe the
- 8:27work, have your agent write the Prose
- 8:28program,
- 8:30you know,
- 8:31that might give you some more ideas for
- 8:32how you might want to edit it, or you
- 8:33might see something you want to change,
- 8:35uh and then that Prose program becomes
- 8:37the reusable workflow.
- 8:39Um
- 8:40and then for the AI engineers and the
- 8:43developers,
- 8:44uh I think the angle where you might
- 8:46want to use this is
- 8:48it's you know, it's
- 8:50not it's a framework that's not a
- 8:52framework, and we'll talk a little bit
- 8:54about that in a second, but even the
- 8:56compiler for the framework, even the
- 8:58virtual machine for the framework, is
- 8:59itself just a giant prompt, and you're
- 9:01literally like incepting cod code into
- 9:04compiling the program for you, incepting
- 9:06Codex into doing that. Uh so, there's uh
- 9:09you can express very, very complex
- 9:11multi-agent workflows that uh things
- 9:14like the Anthropic um
- 9:17uh dynamic What do they call them?
- 9:18Dynamic agent workflows
- 9:20um would probably be like an analogy.
- 9:22You can do that in any coding agent in
- 9:24just our markdown contract.
- 9:27Uh okay. So, first on this idea that
- 9:29it's just markdown, um
- 9:31this can be a complete program, just as
- 9:33an example. And again, I don't want to
- 9:35get uh
- 9:36so hung up in the syntax, um but you can
- 9:40basically say, "Hey, here's the goal and
- 9:42like here is the the contract that that
- 9:45the that this maintains. Like here's the
- 9:47definition of what this contract
- 9:48maintains." Um and again, that's just
- 9:51like a very silly simple one. Um
- 9:55the uh
- 9:58this idea here of like, well, what is it
- 9:59that you can declare? So, again, I don't
- 10:02want to get into the schema and the
- 10:03types and the syntax, but what you or
- 10:06your agent can declare on behalf of you
- 10:09with uh in the CLI is called the pros
- 10:11write function. In our app, it's
- 10:12basically just the agent that drives the
- 10:15whole app for you. You can make sub
- 10:17agents.
- 10:18Uh you can assign specific skills uh to
- 10:21those specific sub agents. You can have
- 10:23specific tools that are available. So,
- 10:25for example, for search, I love Exa. I
- 10:27think they're amazing and I don't want
- 10:29it doing regular web search. I always
- 10:30want it using Exa cuz it's faster and
- 10:32cheaper for me. You can say, "Here's the
- 10:34skill for that. Here's the CLI for
- 10:35that." If you can't find those things,
- 10:37just don't run the program. Like we're
- 10:40not doing it the other way. So, you
- 10:41might have skills that are specific to
- 10:43your company or to your org. And then
- 10:45essentially, you can think of it as like
- 10:47wiring that program together and like if
- 10:50it doesn't have all the dependencies,
- 10:51like do not compile, right? Um and then
- 10:55obviously that what are the inputs of
- 10:56this program, what are the outputs that
- 10:58this uh program has to deliver, this
- 11:00contract has to deliver.
- 11:02Um and again, like again, this could be
- 11:05something if people want to nerd out and
- 11:06ask Dan about how he built it. Like the
- 11:08runtime itself is just a giant prompt,
- 11:10too. So, um you know, some of my
- 11:13favorite sentences in the uh in the
- 11:15skill or the prompt is like "You are the
- 11:18compiler."
- 11:19This is not an analogy. You are the
- 11:21compiler. And uh it seems to work. Um
- 11:26So, uh yeah, and then this idea of a
- 11:29event-driven. So, we want to get out of
- 11:32this idea that everything is a
- 11:33conversation, that everything is a chat,
- 11:35um and build event-driven systems.
- 11:38So, um
- 11:40again, like
- 11:42uh
- 11:42just to compare these different workflow
- 11:44trees, it's like something something
- 11:46happens that might be just like a cron
- 11:47job on a schedule, that might be a new
- 11:49issue is opened in GitHub, or a new PR
- 11:52uh is filed, or you have some webhook
- 11:54system, right? Um that you're I don't
- 11:56know, Stripe
- 11:58isn't working, whatever, then you can
- 12:01now um you know, trigger that workflow
- 12:04that you've expressed
- 12:06uh to go handle that entire thing end to
- 12:08end and deliver on the contract.
- 12:12Um and so, this idea of like starting to
- 12:14build towards jobs, so you can set this
- 12:16up yourself with your own agents in your
- 12:18own system, and what I built um in
- 12:20run.prose.md
- 12:22is um this idea of like a job is a
- 12:25contract plus a trigger. So, again, the
- 12:28the trigger can be something super
- 12:30trivial like a schedule, and so here I'm
- 12:32basically saying like, "Okay, every day
- 12:35uh run this."
- 12:36Um but uh right now, the two the two
- 12:39main triggers that we have implemented
- 12:41in the app as is are um our webhooks,
- 12:44which really
- 12:45uh inevitably cover a lot of different
- 12:46things, like a whole Slack app is just
- 12:48webhooks, GitHub just webhooks. Um and
- 12:52cron jobs. We're happy to add more if
- 12:54you want to give us feedback on ones
- 12:55that we can make easier for you. Um and
- 12:59again, from from that trigger, then you
- 13:01triage uh these workflows. So,
- 13:04uh you can start to build out these, you
- 13:05know, code factories from um
- 13:08creating these standing jobs
- 13:10um
- 13:10of the Prose programs.
- 13:13Uh what I want to show and I'll get
- 13:15towards in a second is
- 13:17um
- 13:18one of the things that I've been
- 13:19building to make sure that's ready in
- 13:20time for this event is
- 13:22um is webhooks and using uh GitHub uh
- 13:26events specifically, and I've been
- 13:29forcing myself to use the program to
- 13:33develop the program.
- 13:34And so, one of the examples that we now
- 13:36have in the issue in the system is,
- 13:39well, there's two different main ones.
- 13:40One is like any GitHub issue that comes
- 13:42in, you write a prose program for how
- 13:44it's going to try to address the issue.
- 13:47So, you can make that as complex or as
- 13:49simple as you want. You can run
- 13:51it could be a multi-agent workflow. It
- 13:53could have specific, um, skills that it
- 13:55has to follow or use models.
- 13:58Um, and so, basically the input is
- 14:00whatever that issue was, the output is a
- 14:02commit. And it has to go all the way to
- 14:04getting that thing done for you. Uh, and
- 14:06then similarly, uh, and I'll show this
- 14:07one more specifically is like doing it
- 14:09with, uh, PR reviews. So, you can do
- 14:12this event-driven kind of adversarial
- 14:14review. And I don't know if you guys
- 14:16heard, um, in one of the things I
- 14:18thought was interesting this morning in
- 14:19the Anthropic workshop where they're
- 14:20talking about um, the challenges with
- 14:23self-review. So, like, you're you're in
- 14:25Claude Code and you're like,
- 14:27"All right. Here,
- 14:29I'm going to let you push to production,
- 14:30but just could you just check like one
- 14:33more time for me?" And like, it's it's
- 14:35biased to, you know, think that it did a
- 14:38good job. And so, so are humans, right?
- 14:40And so, um, I'll show a workflow where
- 14:43essentially the agents that are building
- 14:45this get this backpressure from the app
- 14:47itself
- 14:48um, through through pull requests.
- 14:51Um, okay. So, while we transition to
- 14:55this, are there any questions now while
- 14:57we switch over to the
- 14:58to the web app?
- 15:02>> Please, no question is too silly.
- 15:05Is that a hand or a phone? I can't see
- 15:06the lights here.
- 15:09>> Maybe none.
- 15:10>> Yeah, go ahead.
- 15:10>> One over there.
- 15:11>> [clears throat]
- 15:12>> It's a great question. Uh, I'll field
- 15:13this.
- 15:14>> Yeah, you should take that.
- 15:15>> Yeah.
- 15:16Uh, so, we actually have this idea of
- 15:20earlier I alluded to the what and the
- 15:22how being two two different two
- 15:23different ideas. Declare the outcome and
- 15:26then the how is a little bit you you
- 15:27leave it open, let the agent figure it
- 15:29out.
- 15:30On that spectrum, you actually do, to
- 15:33your point, at at certain places want to
- 15:37weigh in on the how. And in fact, we
- 15:38have a
- 15:40a feature a
- 15:41syntax that lets you pin the how. And so
- 15:45you can initially declare it very loose.
- 15:47You can let a very intelligent agent run
- 15:50and figure out how to get to the thing
- 15:52that you've declared. And then once it
- 15:55does that, you can say here's the agent
- 15:56trace.
- 15:58Let's take this trace and we will sort
- 16:00of codify it or or I don't know, shrink
- 16:02wrap it
- 16:03into a how. And what that allows us to
- 16:05do is actually drive down the the the
- 16:08cost of completing the workflow. So you
- 16:10you start with a very expensive model,
- 16:12figures it out, and then you sort of, as
- 16:15you say, make it more specific, more
- 16:17deterministic. So you're kind of like
- 16:19shifting the the the the the spectrum
- 16:21from
- 16:22totally at just a what to to how how to
- 16:26do it. And and the cost comes down as
- 16:28you do that.
- 16:29So when we say it's all markdown, that's
- 16:31where you can start it, but then you can
- 16:35move your way to to uh more specific
- 16:39procedural imperative style instructions
- 16:42as well.
- 16:43>> Yeah, I guess a couple comments on that.
- 16:45So one, we do have a system where you
- 16:46can take like a golden session and like
- 16:50the like say make this into a reusable
- 16:52workflow. Like that was the best cloud
- 16:54code session I've ever had. Like I
- 16:56wanted to do cuz that's this is we get
- 16:58this all the time, right? And I think
- 17:00there's there's a part of it where like
- 17:02these things are non-deterministic.
- 17:04I think a lot of the
- 17:06quote-unquote pinned and stable
- 17:08endpoints people have shown actually are
- 17:10changing as all these companies are
- 17:12compute constrained, but I also just
- 17:14think there's this like changing
- 17:15expectations thing, right? Which is like
- 17:18the first time you tried like whatever
- 17:20it was, like Fable or whatever, like
- 17:21blew your blew your mind and you're
- 17:23like, I want whatever. This workflow is
- 17:25so amazing. I want this every time. And
- 17:27then you kind of like boil the frog and
- 17:29like have just different expectations
- 17:31and all of a sudden doesn't happen again
- 17:33and like some of that is just
- 17:34reliability. And so so one thing you can
- 17:36do is like take a really good session
- 17:39and like codify it. But then the other
- 17:41thing, just to give Dan a little bit
- 17:42more credit of like building the
- 17:44framework is like it's not just
- 17:46literally like the markdowns you see are
- 17:48like the tip of the iceberg of what it's
- 17:51seeing. So like the last time I checked
- 17:53the full like system prompt or skill or
- 17:57however you
- 17:58there's I mean it is a skill it is a
- 17:59system prompt is like close to 70,000
- 18:03tokens, 80,000 tokens of like
- 18:05>> longer. We're trying to clean it up.
- 18:07We're trying to
- 18:07>> Yeah, well now that the agents are
- 18:08smarter we can make it a little bit
- 18:10shorter. But we basically have this full
- 18:12type system that's like we're overriding
- 18:14markdown with a very very clear type
- 18:16system and a very specific prompt for
- 18:18how the agent is going to deliver this
- 18:20incredibly complex multi-agent um
- 18:23product on the out um but maybe to be
- 18:26explicit about where we don't mess with
- 18:27it is like
- 18:29um
- 18:30So like Claude code when it runs it it
- 18:32has its own system for sub-agents. We
- 18:34don't want to mess with that. We don't
- 18:36want where we don't want our prompt to
- 18:38be um
- 18:39in any way like specific to Claude code
- 18:41cuz Codex has a totally different like
- 18:43set of sub-agents. So the the we're like
- 18:47I don't know, a meta harness, like
- 18:49>> [laughter]
- 18:49>> whatever. We're one layer we want you to
- 18:50bring your own harness. We don't want to
- 18:52be the harness. We want to be this uh
- 18:54thing that is compiled by the harness.
- 18:56So I guess that's a couple pieces of
- 18:58>> Does that answer your question?
- 18:59>> um
- 19:01All right. So if you want to try it,
- 19:03it's um it's here the QR code
- 19:04run.prose.md uh the QR code goes to
- 19:07that. If you want to start playing
- 19:08around with it. Um what I want to do
- 19:11in
- 19:12um showcasing this is to
- 19:17uh show off a couple of things. So,
- 19:20the um the first thing is that um
- 19:25the So, this is
- 19:28the This is a Prose program in the edit
- 19:30mode, right? It is technically Markdown
- 19:33and Dan's overridden like the H3 headers
- 19:36with all the types of this thing.
- 19:39But, getting someone to like learn that
- 19:42syntax and write it
- 19:45from scratch, it's kind of a
- 19:48not really the point. Um and so, what we
- 19:53um what we want to do is So, even though
- 19:56everything that executes this program is
- 19:58here, and in fact, I've for the real
- 20:02nerds in the audience, you can see that
- 20:04I've over I've taken the front matter of
- 20:06the Markdown file, and that is actually
- 20:08all of the stuff that's happening in the
- 20:10cloud. So, I could take this program
- 20:12and export it as a pure Markdown file
- 20:15and go send it to my friend, and they'll
- 20:17it'll upload in their cloud this the
- 20:19exact same way
- 20:21um to keep it like composable and keep
- 20:23it true to that idea of that we're pure
- 20:24Markdown.
- 20:26Um
- 20:26anyways, the whole idea is like even
- 20:27though that is the thing and we'd want
- 20:29you to be reading this thing, it's not
- 20:31like the entry point. So, what I've
- 20:33built instead is um an agent which
- 20:38hopefully will
- 20:40talk to me here.
- 20:42>> Hi, it's Prose. What are you hoping to
- 20:44get done today?
- 20:45>> Okay, so uh every time I have a new pull
- 20:49request, I want you to um write me a
- 20:53Prose program in my run-prose repo that
- 20:57will review it as if you are a a grumpy
- 21:01senior developer who doesn't like
- 21:05AI-generated code.
- 21:08>> Sure, I can do that. Hang on.
- 21:11>> Okay.
- 21:12So, I'm going to mute myself.
- 21:15So, it's it's talking. It's going to try
- 21:17to figure this out. And the the whole
- 21:20idea is like anything
- 21:24So, anything that can charge money or
- 21:26spend money, you have to confirm. I
- 21:29think that's like a best practice. Um
- 21:33Oh, yeah.
- 21:35Great. So, I had to confirm cuz that
- 21:37that action costs money for it to So,
- 21:40that's the pros rate function. So, it
- 21:41basically takes my query and is going to
- 21:44generate a new program um from that
- 21:47including all the wiring. This step is
- 21:48going to take a little bit longer. So,
- 21:50while that's running, I'll show like the
- 21:51manual way of doing that. Which is in
- 21:54the jobs tab. I don't know why this is
- 21:56cutting out. Um in the jobs tab, we can
- 21:59go here, make a new job. The the uh on a
- 22:03schedule is just a cron job. We have a a
- 22:06web hook that's open-ended. So, like you
- 22:08can have yourself or your agent um
- 22:11either use our specific web hook or like
- 22:13wire our thing to listen to your web
- 22:15hook. But for Git GitHub, um
- 22:17so, I'll do the same one. So, for GitHub
- 22:19pull requests, we make that easy.
- 22:22Um we're going to do it in the run.pros.
- 22:24We're going to
- 22:25uh I've just pre-wired this contract.
- 22:27It's like, "Okay, you're going to review
- 22:29my thing." And then I can pick, you
- 22:31know, what
- 22:32uh model that they have. We'll we'll add
- 22:34more uh later. Right now, we have the
- 22:36the like top three from
- 22:39uh OpenAI.
- 22:40Uh and then I would just uh
- 22:42create that and deploy that. So,
- 22:46then the other thing while this um
- 22:49this one's working that I want to show
- 22:50is how I've actually been using that as
- 22:52back pressure. So, the main thing
- 22:55Don't get too hung up on the um
- 22:58whatever, the content up here. But the
- 22:59thing that I want to show you here is
- 23:02like the
- 23:04the the volume. So, like in
- 23:07whatever that is, like this entire thing
- 23:09is goes back to 3 days ago, but then if
- 23:11I go here, like these are all still from
- 23:133 days ago or 4 days ago.
- 23:15Or so, like in the span of a few days,
- 23:18this is doing like dozens and dozens and
- 23:20dozens of PRs, and every time I'm asking
- 23:23for a new feature about this GitHub was
- 23:26webhooks feature that I wanted to have
- 23:28ready for this event, uh every single
- 23:31one of those is firing off like a series
- 23:33of review agents where it's like so some
- 23:35of them are simple like okay, this one
- 23:37clearly seems to have worked right away.
- 23:40So, there's only one round. Uh some of
- 23:42these had,
- 23:44you know, 14
- 23:46rounds of review before
- 23:48uh it felt like the reviewer agents were
- 23:50like aligned and it let this thing pass.
- 23:53Um and even just today, like I noticed
- 23:55something that I didn't love about um
- 23:58how it was doing it, and I was able to
- 24:02um you know, basically say okay,
- 24:04um on our staging server, you know,
- 24:06don't mess with production. I'm about to
- 24:07give a talk. On the staging server, I
- 24:09want you to like change the things the
- 24:12exact ways in which this will get
- 24:14triggered, but you have to use the
- 24:15system yourself. So, um like both our
- 24:18dev version of this and our prod version
- 24:20of this are giving different reviews. Um
- 24:22and now the agent that's running
- 24:25uh here,
- 24:27uh which we can see all the different
- 24:29jobs in the the runs tab here,
- 24:31essentially like cannot consider its job
- 24:34to be complete until it's like um
- 24:38a a like um like my developer agents
- 24:41have like have to take that feedback
- 24:42into account.
- 24:43>> And just to emphasize like what's
- 24:44different about something like this from
- 24:46any other chat-based or or agent-based
- 24:49flow that you've seen is all of these
- 24:51are getting compared against a contract.
- 24:53So, you could think of it as a fresh
- 24:55session every time is getting
- 24:56benchmarked against this contract that
- 24:58you've written declaratively, which as
- 25:00as Raymond alluded to earlier, gets the
- 25:03models out of this like self-confidence
- 25:06loop where you don't want the same model
- 25:07checking the thing that was done. So,
- 25:09you're spawning new sessions and and
- 25:11bouncing them off of a contract, which
- 25:13is I just a better uh pattern for for
- 25:16how to do it. Yeah, go ahead.
- 25:16>> Yeah.
- 25:18>> But, doesn't [clears throat] it seem
- 25:18like a great opportunity for one-shot
- 25:19classifiers like Jeff?
- 25:22>> Yeah. So, they um
- 25:25>> We have a lot of good stuff in the pipe.
- 25:27So, so the idea of checking against a
- 25:29contract and and verifying it. Sorry,
- 25:31Raymond.
- 25:32>> Yeah.
- 25:32>> Uh it it is super exciting on these
- 25:34decision models where uh you you have a
- 25:37contract, which is some ideal state, and
- 25:40then you have your messy real-world
- 25:41state, and you can apply a general class
- 25:44decision model like like Jeff to say, is
- 25:46this is this passing or not?
- 25:48>> So, I think
- 25:49>> in this, but it's coming.
- 25:50>> Yeah, and I think I think without um
- 25:53like
- 25:54Dan, again, we're going a lot off
- 25:56script, but it's a great question, and
- 25:58uh the great Jeff-ification is upon us.
- 26:01So, we need to speak to this. Um
- 26:04is uh I think Dan and I both
- 26:07been thinking about this a lot and
- 26:08realized that like
- 26:10um
- 26:11OpenPros itself, the language that's all
- 26:14markdown, I think does not have any
- 26:16place in
- 26:18the Jeff land because they're not
- 26:20generative. Like, so the whole idea of
- 26:24the lang- like it generating a language
- 26:26and understanding a language, like it
- 26:29uh it's not that. But, I think the the
- 26:32two places where we think it would fit
- 26:33really well, and in particular with the
- 26:35hosted run.pros, is one on the back end.
- 26:39So, the the downside or the weakness of
- 26:42OpenPros is it is you are letting the
- 26:44agent say, "I have met the contract.
- 26:46Here it is." Right? And so, I'll often
- 26:48say to people
- 26:49uh like the intent behind OpenPros is
- 26:53similar to something like DSPy where you
- 26:55want to have like this abstraction layer
- 26:58over which you can express very complex
- 27:00workflows.
- 27:01The implementation is the exact opposite
- 27:03of DSPy. DSPy is like every LLM call is
- 27:06a black box and you
- 27:08you isolate the crap out of that thing.
- 27:10It's all deterministic code. It's all
- 27:12typed interfaces to like only let the
- 27:14black box do that thing. Dan's approach
- 27:17with open prose is the exact opposite
- 27:18which is like AI is getting smart enough
- 27:20to be the compiler. Like let everything
- 27:23be in fuzzy land.
- 27:25So the the the weakness of it though is
- 27:27like if you run it on Haku or you run it
- 27:29on Fable you're going to get a very
- 27:30different result and and you're also
- 27:32letting it say I'm done. So I think a
- 27:34very natural place for like uh Jev or
- 27:37these new like decision models or
- 27:39whatever we want to call them system one
- 27:40models is like you were saying like as a
- 27:43verifier on the end of the job like very
- 27:45very fast and cheap. Um and then the
- 27:48other thing that I want to build that's
- 27:50relevant to this this is like a router.
- 27:52So like why would I have to go click the
- 27:55button that like oh issues go to the
- 27:57issue job but PRs go to the PR review
- 27:59job. Why don't I just say like
- 28:01okay all the GitHub events that come in
- 28:04like you know solve the issues review
- 28:07the PRs right?
- 28:09Another question.
- 28:10>> Don't give them any more ideas about the
- 28:11game.
- 28:11>> Okay.
- 28:12>> I know I was going to say I was going to
- 28:13>> [laughter]
- 28:14>> Thank you.
- 28:15It's just topical on the Twitter sphere
- 28:16at the exact moment that like why
- 28:18wouldn't you just RL this? Like if I got
- 28:19all these beautiful runs here against
- 28:21the contract why am I not just RLing
- 28:22this?
- 28:22>> So
- 28:23So one of the ideas back to the language
- 28:25question is one of the ideas of like why
- 28:28why are we doing this at all in
- 28:30language? Like the original human side
- 28:32of this is like
- 28:33you can commit it to get and you can
- 28:35version control it or you can
- 28:37you know use it in notion or or Jira and
- 28:40and have anybody on your team using it.
- 28:42But from from a engineering side it's
- 28:45the fact that it's all text is like
- 28:47perfect and beautiful for for RL. So,
- 28:50we're not doing that right now, but like
- 28:52that's absolutely something we're
- 28:53talking with various prospects about is
- 28:56like once you have all of your stuff
- 28:58written as text, this is like
- 29:00>> Yeah.
- 29:00>> a whole lot better for for RL.
- 29:02>> Yeah, we haven't hit volumes where this
- 29:04is important, but like if you are
- 29:07hosting the model and you have this
- 29:09100,000-ish token prefix, then you can
- 29:11like just it or you like, you know,
- 29:14build these um
- 29:15more token efficient representations.
- 29:17So,
- 29:18um
- 29:19Yeah, if someone wants to do a trillion
- 29:21tokens in Open Pros, we'll happily just
- 29:23it for you. Um So, anyways, to go back,
- 29:26thank you. Those are Those are really
- 29:27good ones. We now have our grumpy senior
- 29:30pull request review.
- 29:32Um and again, like the key idea is so
- 29:34the agent did all that for us. The key
- 29:36idea here is um
- 29:38uh like the by deploying this job, like
- 29:41this will now start spending money when
- 29:44whenever we get a new PR, so I have to
- 29:46click that. So, then I'm going to
- 29:47confirm that. And then once this is
- 29:49deployed, it'll go when I go back over
- 29:51to my jobs, it will um
- 29:54it will look exactly like uh let's see.
- 29:57So, if we just Oops, I did
- 30:00switch that.
- 30:02Once this loads, we should see
- 30:06and the grumpy one is at the top or the
- 30:07bottom.
- 30:10Yeah, here we go. Grumpy AI skeptic PR
- 30:12review. So,
- 30:13um you can see I was practicing earlier.
- 30:16Um
- 30:18Okay. So,
- 30:20let's see what in terms of this. I think
- 30:22those are the main things. Um
- 30:24Yeah, I'm in charge of run.pros.md, so
- 30:26if you run into any issues, don't tell
- 30:28my boss, you just send it straight to
- 30:30me.
- 30:31Uh and my agents will uh take care of it
- 30:33for you.
- 30:34Um
- 30:35but yeah, I'm really excited about this
- 30:37as just like a a simple, easy-to-use um
- 30:40um way for having these like event-based
- 30:42systems. If you want to see other
- 30:43triggers or other features then that's
- 30:45really fun for me. But again, you don't
- 30:47need to use the hosted thing at all and
- 30:49like you can uh
- 30:51you can use the um the skill instead NPX
- 30:53skills add open prose prose. Um but now
- 30:58uh with that Dan is going to um
- 31:01go through a specific example that is
- 31:05for [clears throat] our finance friends
- 31:08um and we're going to show that one
- 31:11uh in
- 31:13Codex and then he'll use that as an
- 31:14opportunity to talk a little bit more
- 31:16about how all this works under the hood.
- 31:19>> Yep. Thank you.
- 31:20>> Sure.
- 31:21>> Um so
- 31:24getting that working in the cloud is is
- 31:26interesting. One of the more interesting
- 31:28use cases that we've been talking about
- 31:30with various customers and prospects is
- 31:34um
- 31:35you can this is
- 31:37this is a framework or a language or
- 31:39pattern that you can build in house and
- 31:41you can use you can run it on prem. The
- 31:43whole idea here is that you can run it
- 31:45on prem. You don't need to use our cloud
- 31:47version of it. We'd love you to try it
- 31:49out in the cloud and and and and play
- 31:51with it get a get a feel for that. Um
- 31:53but if this is something that you want
- 31:55to implement uh inside your organization
- 31:58the most interesting use case that we're
- 31:59seeing is on top of open models on top
- 32:02of your own harness bring your own
- 32:03harness and then use this as kind of the
- 32:06application layer on on top of that and
- 32:08that lets you build this full stack in
- 32:10house. You don't have to ship any of
- 32:12your data out to the labs. More
- 32:13important than your data, you don't have
- 32:14to ship out your institutional
- 32:17We like to think of open prose actually
- 32:19as like institutional operational
- 32:21knowledge as documentation, right? Think
- 32:24of it as like standard operating
- 32:25procedures. So even more important than
- 32:27your data is you don't want to be
- 32:28shipping your standard operating
- 32:30procedure out to the big labs.
- 32:32Um and so so this fits really nicely in
- 32:34this stack of of open open source
- 32:37application layer
- 32:39sits on top. We we publish this open
- 32:41open core. Uh it has a permissive
- 32:44license. You can bring it in house and
- 32:45and use it. We have a number of big
- 32:47companies who are are already doing
- 32:48that. Um and and you can bring your own
- 32:52harness. You can use it with the
- 32:53approved models that your company
- 32:54already has. Uh so you don't have to
- 32:56feel like you're throwing data or your
- 32:58organization's knowledge over the wall.
- 33:00Um this is just I mean a a
- 33:03we can get into this a little bit and I
- 33:05want to field more questions. Um this is
- 33:07a a workflow that we're building out for
- 33:09a customer um that is interested in
- 33:13using OpenProse to document their quant
- 33:15models. So uh for those of you who are
- 33:17familiar,
- 33:19um quant models have all sorts of
- 33:21regulatory um
- 33:23um commitments whereby every every 3
- 33:26years or every 1 year or on certain
- 33:28event changes, you need to update the
- 33:31the model documentation for these quant
- 33:33models. So this is normally a process
- 33:35that we found in our experience that is
- 33:37uh human white collar, very smart person
- 33:41intensive, right? These people uh maybe
- 33:43some of you probably spend a a share of
- 33:46your your year going through and and
- 33:48writing documentation. That documents
- 33:51what your model's being used for, under
- 33:53what conditions was it tested, under um
- 33:56uh who who what other models reference
- 33:58it upstream, and a whole slew of other
- 34:00required These are obviously required by
- 34:02the regulators and your internal
- 34:04auditors and your internal compliance.
- 34:06Um so this is this is a a flow that that
- 34:09we've found success running.
- 34:12Uh it's it's perfect because in some
- 34:14ways the regulatory docs are like an
- 34:17OpenProse program, right? And so this
- 34:20these are requirements written as prose.
- 34:23Um and and so I'm going to kick off
- 34:26You can see here uh
- 34:28we're in Codex. You You run this in
- 34:31Cloud Code. You could run this on your
- 34:32own harness. The whole point is that
- 34:34this is harness agnostic.
- 34:36Uh so we we just say boot the kernel.
- 34:40Uh and then pros run and then a specific
- 34:43program. And so I'm going to kick this
- 34:44off and while it runs I can show you
- 34:46like what the kernel looks like
- 34:48uh and then what the program itself
- 34:49looks like.
- 34:50Um just go back to Chrome.
- 34:54And then
- 34:54>> Right there.
- 34:55>> It's uh
- 34:57that one.
- 34:58So this is the kernel. Um
- 35:00it's markdown. It's not intended to be
- 35:03read by you which is why it's formatted
- 35:04like this. We originally had it in a
- 35:06nice looking format and people
- 35:07complained. They're like, "What is
- 35:08this?"
- 35:09Uh it's meant to be read by the agents.
- 35:12Uh and it's just markdown. It's
- 35:13operating instructions for what to
- 35:15expect. You could think of it a lot like
- 35:17a a bootloader or a resolution path, a
- 35:20an index
- 35:22uh system, a way of finding other
- 35:24documents that you that that the that
- 35:26the agent needs. Um
- 35:29and then the program itself
- 35:32looks and again this is what I
- 35:34referenced in Codex looks very similar.
- 35:36So this is again markdown. It contains a
- 35:39whole slew of the requirements that the
- 35:42regulators and the compliance and the
- 35:43auditors are looking for.
- 35:45Uh and this specifies, you know,
- 35:48uh the ideal state of of the end result
- 35:51is going to comply with this contract.
- 35:54Uh and so those are the only two things
- 35:56you pass in. You just pass in the kernel
- 35:57which is published publicly. You can all
- 35:59download that right now uh and and and
- 36:01try it out and then write any program
- 36:03that you want, any contract that
- 36:05requires some complex um
- 36:08set of conditions to satisfy and then
- 36:10the agents are just going to chug and
- 36:12and the you know, the better the
- 36:13harness, the better the model, the the
- 36:15faster and the cheaper that they will
- 36:16produce the output. Uh but the idea is
- 36:19that that you're you're declaring the
- 36:21the result rather than declaring how to
- 36:23how to go about about doing it.
- 36:26Um
- 36:27Let's see we can poke back and see. We
- 36:29ran this with a a relatively cheap model
- 36:31here so that it would run faster.
- 36:34Uh but it's still working.
- 36:36Um
- 36:39Oh, it looks like it's finishing up. So,
- 36:40this is I mean this is the document that
- 36:41it produced. So, in this case we're
- 36:44we're we're um creating documentation
- 36:47for the sofa curve. It's a public uh
- 36:49model. So, we're not showing any any uh
- 36:52internal uh bank data here. Um and this
- 36:57I don't know. Raise a hand. Anybody Are
- 36:59there any like quants in the room?
- 37:01To review it?
- 37:02How does this How does this look?
- 37:05Yeah, [laughter] all right. Well,
- 37:06we'll come we'll come we'll come find
- 37:08you afterwards. Um but but so that you
- 37:10know this is this is this is
- 37:11documentation that has to be produced um
- 37:14regularly for every model. A big bank
- 37:17has
- 37:184,000 or so models. They have to be re
- 37:20re re-documented yearly and uh this is a
- 37:24this is a a a problem that is worth
- 37:27anywhere between 10 to 50 million
- 37:28dollars a year uh for some of these
- 37:30bigger banks and and we're having great
- 37:32success in in um
- 37:34in doing it for them for for much
- 37:36cheaper.
- 37:37Uh granted there are some some um
- 37:41Getting this
- 37:42through compliance and the auditors and
- 37:44the regulators is is another part of the
- 37:46battle obviously as I'm sure you're all
- 37:48familiar with but um
- 37:50we we can benchmark this against
- 37:52historical results. We can benchmark
- 37:54this against how long it takes the teams
- 37:56to do it uh and we have quant you know
- 37:58quants who are on the floor who are able
- 38:00to to rate these and and give us a sense
- 38:03of how how well the models are doing on
- 38:05this and we're finding that it's I mean
- 38:07quite shocking shockingly good. Um for
- 38:10for much cheaper than than traditional
- 38:13uh
- 38:13manual way of doing this.
- 38:15Any questions? Any like
- 38:16>> the quants do the stuff that the quants
- 38:18are good at.
- 38:19>> Making the models.
- 38:20>> Not the regulatory paperwork which
- 38:22probably isn't very fun. I'm not a
- 38:24quant, but
- 38:26>> [snorts]
- 38:27>> Any questions?
- 38:28Great question. Uh
- 38:30yes. And so, actually, um Raymond
- 38:32showing off the chat agent a little bit
- 38:35as part of the kernel, as
- 38:37buried in the markdown
- 38:39at a at a path, we have uh best
- 38:42practices. The These are the types of
- 38:43things you want to be doing when you're
- 38:45declaring out out outcomes. Uh these are
- 38:48um and anti-patterns, things that you
- 38:50shouldn't be doing. And so, yes, there
- 38:52is there is a a world in which you're
- 38:55not typing the whole contract itself,
- 38:59but you're iterating, and and that's
- 39:00what Raymond was showing uh with another
- 39:03agent following our best practice guide
- 39:05on how to on on how to create the
- 39:07contract. But, yeah, I mean,
- 39:09getting getting intent out of people's
- 39:11heads is like the hard part, and and I
- 39:13think this is a piece of it. It's
- 39:14certainly not like the whole
- 39:15>> Yeah. I have a slightly like longer uh I
- 39:19don't want to make this too long. We
- 39:20only have 5 minutes. But, like, a
- 39:21slightly longer rant on this, which is
- 39:23that I do think that this is a big part
- 39:25of why
- 39:26chat like blew up so fast is like you do
- 39:30not need to know anything about what
- 39:32you're looking for, just start engaging
- 39:33with ChatGPT, and just like
- 39:35the magic of
- 39:37generative AI and like having it
- 39:39like come back to you, right? And so,
- 39:41like, if that's
- 39:43I don't I don't know that OpenProse is
- 39:46the best place if you're at that stage
- 39:48of something where you re you really
- 39:50don't even know the shape of what you're
- 39:51talking about, or you're not even sure
- 39:54like what it is that you're looking for.
- 39:56Um and like this go
- 39:59I'm like a very old-school DSPy user,
- 40:01and like my my joke about DSPy was like,
- 40:04"Oh, no, I have to know what I want now,
- 40:06right?" Because like the whole idea of
- 40:07DSPy is like you have to you create the
- 40:10signature of the thing that you want.
- 40:11And if you and you you you like see
- 40:14something like that, you're like, "This
- 40:15is so awesome." And then you sit down,
- 40:16and you're like, oh I I actually
- 40:19don't know what I want to do I, right?
- 40:21So, I think I think with the
- 40:23you know, Open Prose is a lot less
- 40:25strict than something like DS fire where
- 40:27you like you literally really needed to
- 40:28say the signature of the return object
- 40:31or nothing happens. Um
- 40:33but yeah, I would say like the built-in
- 40:36agent hopefully can like help with some
- 40:38of like you can just turn on the voice
- 40:39and be like, what can you do? Like and
- 40:42it can do almost anything you can do in
- 40:43the app like we
- 40:45you know, we have those hard-coded like
- 40:46confirm things for um
- 40:50for like anything that would cost money.
- 40:51Obviously, we want people like click a
- 40:53button for that. Um but yeah, I think I
- 40:56think it's um
- 40:58I don't know, I think it's also related
- 40:59to like the great jobification is like
- 41:02there are
- 41:04like chat isn't a great
- 41:06um
- 41:07interface and agents that are like RLF
- 41:10to be convincing chat partners are not
- 41:13necessarily like the best type of AI for
- 41:17workflows that don't have human
- 41:20conversation as part of them at all.
- 41:22Um
- 41:22>> And let me let me interject, which is
- 41:25just use cases like we tell people you
- 41:27don't want to use this if if you're
- 41:30doing a one-off, if you are like chat is
- 41:33perfect for that. You're if you're in
- 41:34exploratory mode.
- 41:36What this is good for is something you
- 41:38need to do a lot. It it needs to be
- 41:40reliable, it has to be repeatable, it
- 41:42needs to be auditable.
- 41:44Those types of workflows are what what
- 41:46we're what Open Prose is built for and
- 41:49meant for and so there is an implicit
- 41:51like you do know what you need
- 41:53in in here.
- 41:54>> Oh, we got a question from a real quant.
- 41:57>> And earlier I alluded to and I I
- 41:58wouldn't just call it inheritance, I
- 41:59would call it composition. So, we we in
- 42:02fact a core feature of of the framework
- 42:06and and the the pattern itself is it's
- 42:08built to be composed and so yes,
- 42:11injecting multiple contracts into the
- 42:14same
- 42:16uh run in in which the agent now has to
- 42:18satisfy many of them is is is a
- 42:22a core piece here. The other half
- 42:25the event-driven half
- 42:27uh which maybe looks a little bit you
- 42:28might call it inheritance. I I think of
- 42:30it more like um
- 42:32uh I don't know if you're familiar with
- 42:34like React React-style memoization where
- 42:36you have certain components. It's still
- 42:38composition. You have certain components
- 42:40that have upstream dependencies and when
- 42:44the data on on one of them changes, it's
- 42:47of course going to trickle down to
- 42:48everything below it.
- 42:50Um
- 42:51that is another place where Jev is super
- 42:53exciting and and the decision model
- 42:55super exciting because we had built that
- 42:56system and we had agents trying to
- 42:59determine has the state changed and if
- 43:02the state on upstream dependency
- 43:04changes, do we kick off downstream
- 43:06dependency?
- 43:07Uh but that's very expensive to run and
- 43:09Jev becomes suddenly this very cheap
- 43:11like semantic classifier or semantic
- 43:14memoizer, which you could think of it as
- 43:16like a cache and Jev is deciding when
- 43:19something is out of date and now it
- 43:21kicks off everything downstream from
- 43:22that. So, that's another kind of core
- 43:24component of of the framework.
- 43:27Minus the Jev part, we're still working
- 43:28we're still building that part in. Yes,
- 43:31and there is no magic here. It's all
- 43:32just English. It's all just language.
- 43:34Uh yeah, it's but yes, and that's where
- 43:37the composition composability comes in.
- 43:40>> The other piece to your point is like
- 43:41it's not just a template. So, like you
- 43:43could obviously even pre-LLMs, you could
- 43:45have
- 43:47um or very let's say not very early LLMs
- 43:50or even like encoders could like fill a
- 43:52template for you. Like you like prefix
- 43:54the template and like fill the thing.
- 43:56But here it's like, "Well, what can you
- 43:58template?" And so, you could template
- 44:01the entire multi-agent workflow. So,
- 44:03like this the simple example that I give
- 44:05is you could say like the output that I
- 44:07need is an article.
- 44:09You know, and maybe there's it's got
- 44:11like this type of article, it's going to
- 44:12be this length, whatever, right? Some
- 44:14constraints around that.
- 44:16And the input is like the topic. Like
- 44:19until you've got a good article for me,
- 44:22and the parent agent decides good, it
- 44:24decides when to exit, so that's where
- 44:26you're going to get a better result with
- 44:27a stronger model than a weaker one.
- 44:30I've got a researcher
- 44:33sub-agent. That agent has my access CLI
- 44:36and my access skill on how to use a CLI
- 44:38cuz I don't want it, you know, using any
- 44:40random web search. I've got a writer
- 44:43sub-agent that has my special like
- 44:46here's the last 10 articles I wrote that
- 44:48are really good, and you I want you to
- 44:50write like this. I've got a copy editor
- 44:52uh sub-agent, and that whole thing is
- 44:55just maybe
- 44:56>> But the really important 100 lines of
- 44:58markdown, and it might take them 10
- 45:00hours to do it.
- 45:01>> important parts to emphasize there is is
- 45:03the contract composition where so you
- 45:05you you go to like, I mean, these things
- 45:07have been around forever. Any Any
- 45:09Any workflow builder, drag-and-drop
- 45:10workflow builder.
- 45:12That's a different way of thinking about
- 45:13this because when you think about this
- 45:15in terms of that like DAG
- 45:18directed acyclic graph of contracts, you
- 45:21can have intermediary steps that you
- 45:23almost think of them as like checkpoints
- 45:25or like
- 45:27this intermediary step meets the
- 45:29contract, and the thing is going, and it
- 45:32hits this contract and fulfills this
- 45:33one, and then that causes the next one
- 45:35to keep going until it's fulfilled that
- 45:37contract. So, you can you can still in
- 45:39some ways declare the how to get there
- 45:42just by composing these intermediary
- 45:44contracts along the way and still
- 45:46letting the agents be a little bit
- 45:47flexible on on how to do achieve that
- 45:50intermediary step.
- 45:51>> Yeah, and and the shape of it. So, like
- 45:53one one example like when Claude um
- 45:56the dynamic workflows came out, they had
- 45:58this blog post that's like, here's the
- 45:59six types, right? And it's like one of
- 46:01them's like fan out, fan in, and like a
- 46:03map reduce with sub agents. One of
- 46:05them's like a
- 46:06adversarial review, one's like a loop
- 46:08until X condition is met, right? And all
- 46:12of those things you can express in a
- 46:14prose program and then run them on on
- 46:17any agent. So, you can
- 46:18like you can template the shape of the
- 46:21the multi-agent workflow um
- 46:25with no code. Um and again,
- 46:28the whole it's only possible because the
- 46:30the agents are like good at managing
- 46:33themselves and because most harnesses
- 46:34have sub agents. So, like if you're
- 46:36running plain vanilla pie, which has no
- 46:38sub agents at least last time I checked,
- 46:40you're going to
- 46:41want sub agents for it to do that more
- 46:44complex kind of workflow. But, like
- 46:46essentially any harness that has one of
- 46:49the requirements,
- 46:50>> Sub agents.
- 46:50>> sub agents is pretty much the only one
- 46:52for most
- 46:53>> context.
- 46:54>> Yeah, like um
- 46:55like bash and sub agents are actually
- 46:58you don't even need bash. We can run
- 46:59these in
- 47:00VM isolates in code mode, too. So,
- 47:02>> Any other questions? We can give 10
- 47:04minutes back to everyone. Uh
- 47:06it is based on
- 47:08my many years of engineering experience
- 47:11and dealing with people who sometimes
- 47:14are not very good at expressing
- 47:15requirements and other people who are
- 47:16very good at expressing requirements.
- 47:18And it's also, I mean, we we benchmark
- 47:20these internally and and run them
- 47:22against we
- 47:23we have sort of an evolutionary
- 47:25algorithm where we can shrink the kernel
- 47:27by seeing if if they can conform to
- 47:30that. So, it's based on practice and
- 47:33empirical results. Uh
- 47:35>> Yeah, you can just have that as a spec
- 47:37and you could have like let's say you
- 47:38like um
- 47:40uh Matt Pocock's like uh
- 47:42spec, you know, you like Matt I built a
- 47:45funny one just to like troll him that
- 47:46was like auto Pocock and it basically
- 47:49it was my way of proving that my way of
- 47:50wiring skills in works.
- 47:53So, you basically just he has a workflow
- 47:54that's like grill me, you know, and then
- 47:57you ask all these questions and then
- 47:58it's like TDD and then all these other
- 48:01ones and you can put the whole thing in
- 48:03one prose program and just be like do
- 48:05Matt Pocock's workflow and every
- 48:07sub-agent has to load at every stage of
- 48:10the program you have to load this the
- 48:12next skill in the sequence. Um so yeah,
- 48:15you can absolutely like
- 48:16>> do have people I I wasn't calling it
- 48:18spectrum driven development, but like
- 48:20almost by its very nature it is spectrum
- 48:22driven development. I'd love you to try
- 48:24this out. Try it or come find me after
- 48:26and like whatever spectrum driven
- 48:28development specification you have, we
- 48:30could compose with the
- 48:32boot kernel prose run and then we'll see
- 48:35how it does. I I think it would do quite
- 48:37well actually.
- 48:38That's a good good inspiration.
- 48:40I haven't tried it with the spectrum
- 48:42driven development contracts. Like I'd
- 48:43love to sit down and and and try it and
- 48:45see if it overrides it or if it starts
- 48:48colliding.
- 48:49>> That'd be interesting like um
- 48:51>> Here's Here's one
- 48:52>> See how much different skills like throw
- 48:54it off.
- 48:54>> Here's one thing we do have and software
- 48:57engineers using Open Prose to develop
- 49:00software.
- 49:01Uh
- 49:02more of our users are using Open Prose
- 49:05to do ops and product management and
- 49:08um
- 49:09quant model documentation and non I
- 49:11don't know software engineering stuff.
- 49:14Uh I think it's just the blend of like
- 49:15markdown documentation actually is more
- 49:18interesting to non-engineers um as a
- 49:21result. Yeah.
- 49:23Any other questions?
- 49:25Thank you all.
- 49:27Appreciate your time.
- 49:28>> [applause]
About this transcript
This page contains the full transcript of Stop Telling Agents How by AI Engineer, generated from the public captions YouTube serves with the video. The transcript has 9,125 words across 1,406 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.