Inside OpenAI's Agentic Software Factory — Transcript
Full transcript
- 0:00Today we're talking about software
- 0:01factories, and how the best companies in
- 0:02the world are using them, and also how
- 0:04you can apply these ideas to your own
- 0:06workflow. What we're going to look at
- 0:07today is how agents can be used at every
- 0:09single part of the development process,
- 0:10from writing code, testing code,
- 0:12reviewing code, all the way through to
- 0:14how you can monitor your applications in
- 0:15production using AI agents.
- 0:17>> [music]
- 0:17>> I think this is where software
- 0:18engineering is heading, and the best
- 0:20companies in the world are already
- 0:21adopting these ideas. So, in this video,
- 0:23I'm going to break down a recent article
- 0:24about how OpenAI are using software
- 0:26factories, and I'll also show you a
- 0:28bunch of live demos, so you can see how
- 0:30to apply this in your own workflow.
- 0:32Everything in this video, including all
- 0:33of the prompts and the resources, are
- 0:34linked for free in the description
- 0:35below. So, let's get into it. Okay, so
- 0:37this is the article we're going to talk
- 0:38about today. So, this is from The
- 0:39Pragmatic Engineer. It's a really great
- 0:41article talking about how OpenAI are
- 0:43building their software factory, or how
- 0:45they're structuring their development
- 0:47process in the age of AI agents. There
- 0:50are a couple of interesting ideas, but
- 0:52probably the main thing we want to focus
- 0:53on today is the actual architecture of
- 0:56the software factory.
- 0:58So, when we take a look at this diagram,
- 0:59what we can see is that it looks pretty
- 1:01similar to the way most people are
- 1:03probably already building code. So, you
- 1:05have a software builder, this is
- 1:07essentially the person that describes
- 1:08the task. Notice that they've used the
- 1:10word builder, because this could be an
- 1:12engineer, but it could also be someone
- 1:14else in the team, maybe a product
- 1:15manager as well. They send their request
- 1:18to Codex, which is used to build the
- 1:19code, and then we have some kind of
- 1:21continuous integration system to build
- 1:23and test the code, and then the agent
- 1:25will iterate around this cycle a few
- 1:26times until we have a code change that
- 1:29is ready to go.
- 1:30The other thing that most companies are
- 1:32already doing is code review with AI
- 1:34agents. But what's interesting about the
- 1:36way OpenAI are doing this
- 1:38is they have multiple different agents.
- 1:39So, they have things like a data
- 1:41specialist, an infrastructure
- 1:43specialist, a cloud specialist, and also
- 1:45a security specialist as well. So,
- 1:47they're breaking their review process
- 1:48down into multiple different AI agents
- 1:50looking at different things.
- 1:52Perhaps the most interesting parts of
- 1:53this system though, to me,
- 1:55are the classification elements. So, as
- 1:59we have AI agents generating much, much
- 2:01more code, many of us have pull requests
- 2:03that are stacking up and we're unable to
- 2:05keep up with the code changes as humans.
- 2:07So, what's really clever or interesting
- 2:09about the approach from OpenAI is they
- 2:11do a classification on the change. They
- 2:13will look at whether a change is low
- 2:14risk or high risk and then decide
- 2:16whether an agent should auto merge and
- 2:18auto deploy that change.
- 2:20And this makes a lot of sense. People
- 2:21will immediately object to this idea of
- 2:23agents merging code without a human
- 2:25review.
- 2:26But, I think there are some cases where
- 2:28if you're making a documentation change
- 2:30or fixing a minor bug,
- 2:32it's probably unnecessary to get a lot
- 2:34of human review. And
- 2:36often this stuff will depend on the type
- 2:38of business you're in. So, risk is
- 2:39relative. So, the level of risk or what
- 2:42you consider to be a low risk or a high
- 2:43risk change is going to look very
- 2:45different depending on what you're doing
- 2:47or which company you're working in. So,
- 2:49if you're a solo developer making code
- 2:50changes on GitHub, honestly, the risk of
- 2:53you making a mistake or merging a bad
- 2:54change is probably pretty low,
- 2:56realistically. But, if you're Amazon or
- 2:58you're building cloud services where one
- 2:59change can take down an entire region
- 3:01for thousands of customers, the risk
- 3:04profile looks completely different. An
- 3:06example of a high risk change would be
- 3:08anything touching infrastructure,
- 3:09anything touching a database. Those
- 3:11things can cause a lot of problems, so
- 3:13you always want a human to review. The
- 3:15other one we're going to take a look at
- 3:16today is this severity bot. This is an
- 3:18AI agent that will monitor production,
- 3:21look for any errors, and then basically
- 3:23automatically investigate the incidents,
- 3:25figure out what to do about it, and then
- 3:27take action or help the on-call
- 3:28engineers resolve those incidents. This
- 3:31is something that I'm really, really
- 3:32interested in myself because I spend a
- 3:34lot of time working in cloud operations
- 3:36where engineers are getting hundreds or,
- 3:38you know, many, many pages every single
- 3:40day.
- 3:41So, something like this is really,
- 3:43really powerful and it's a really great
- 3:45use of AI agents cuz AI agents can scan
- 3:47logs and metrics. They can correlate
- 3:49data across multiple places. They can do
- 3:52things that humans would struggle to do
- 3:54during an outage or an incident. So, I
- 3:56think that's another really interesting
- 3:57thing we're going to take a look at.
- 3:59They also have some other interesting
- 4:00things like they have a performance
- 4:01factory as well running performance
- 4:03tests in production. And if there are
- 4:05any regressions or errors, then they
- 4:07also send those back into Codex. So, you
- 4:09can kind of see this whole factory as a
- 4:11bit of a loop where we're pushing code
- 4:12through. We're getting it into
- 4:14production. We're using AI agents at
- 4:16every single step of the process and
- 4:18we're feeding back into here. So,
- 4:20anytime we have bugs or incidents or
- 4:22production outages, we push tickets back
- 4:25into the pipeline and then it's kind of
- 4:26a self-improving loop if you think about
- 4:28it that way. All right. So, this is the
- 4:29first demo where we're going to review
- 4:31open pull request. So, the idea here is
- 4:32we have an open pull request. We're
- 4:35going to run a classifier using some
- 4:37kind of agents to look at the code
- 4:39change, decide what level of risk it is.
- 4:42And then depending on that, we can add
- 4:44labels to the change and then we can
- 4:46have basically an agent merge that
- 4:48change into production. So, assuming
- 4:51that it's low risk and all of our tests
- 4:53and our checks are passed, we will merge
- 4:55that to production. But if this is high
- 4:57risk, maybe it's a database change or an
- 4:59infrastructure change for example, then
- 5:01we're going to wait for a human to
- 5:02review and approve that change. This is
- 5:04going to be an automated system that
- 5:06will just run continually. And if you're
- 5:08like me, you're probably pushing a lot
- 5:10of code changes every single day. So,
- 5:11I'm constantly pushing new code changes.
- 5:13I'm stacking up a large number of pull
- 5:15requests which are relatively small
- 5:16anyway.
- 5:17And it's a real pain to have to review
- 5:19all of those manually every single time
- 5:21and remember which changes need review.
- 5:24And having some something like this can
- 5:26really improve the throughput or the
- 5:28cycle time of your development process.
- 5:30So, this is an example of how you could
- 5:32set this up. There are many different
- 5:33ways you could build this out. But I'm
- 5:35just going to use a simple Codex
- 5:36automation. So, the way this works is
- 5:39we're going to review all of the open
- 5:40pull requests and then apply one risk
- 5:42label to the change. And then the agent
- 5:44is basically you're to automatically
- 5:46merge anything that's open. And this is
- 5:48really, really useful cuz if you think
- 5:49about it, often when you're working on
- 5:50these projects, you're stacking up lots
- 5:52of small changes that are relatively
- 5:54easy to review or merge. And this is
- 5:56just going to help you merge those
- 5:57things faster. So, we're going to run
- 5:59this now and see what happens. So, let's
- 6:01check this out.
- 6:02We're now going to run this automation
- 6:05and go through the pull requests and
- 6:07then see what happens.
- 6:09These are the open pull requests
- 6:11currently. So, you can see here we have
- 6:12some that look relatively trivial. So, I
- 6:13think this is low risk, but the CI
- 6:15checks are failing. So, this is an
- 6:17example of a low risk change that we
- 6:18could auto merge, but we won't because
- 6:20the CI build is failing. If it was
- 6:22green, however, I think we could
- 6:23automatically merge that. You can see
- 6:25here that a lot of these changes are
- 6:26quite old. So, the other thing you want
- 6:28to think about when it comes to auto
- 6:30merging changes is don't merge anything
- 6:31that needs a rebase or like an update
- 6:34because that may change the the actual
- 6:36code in general. And so, that's a
- 6:37slightly more risky in my opinion. So,
- 6:39I'm generally only just merging things
- 6:41that are safe to merge.
- 6:43So, the next demo we're going to do is
- 6:44take a look at an automated on-call
- 6:46alert bot. This is going to be like an
- 6:48SRE agent that monitors your production
- 6:49systems, looks at alerts and monitoring,
- 6:52finds any errors, and then takes action
- 6:55to review.
- 6:57So, the way I thought to do this was to
- 6:58have some kind of pub/sub system. So,
- 7:01basically, I'm running on Google Cloud
- 7:02for most of my apps. So, we get some
- 7:04kind of alert, it will then be pushed
- 7:06into a queue,
- 7:08and then we have an agent running with
- 7:10ADK that will basically review this this
- 7:13issue and then figure out, you know,
- 7:15it'll look at the logs, it'll look at
- 7:16metrics, it'll look at revisions, figure
- 7:19out what's going on, and then store the
- 7:20records in a place that we can review.
- 7:23The reason we'd have a system like this
- 7:24is if you've ever been on call, it's
- 7:25incredibly stressful. It's very
- 7:27difficult for humans when they're paged
- 7:29at 2:00 a.m. in the morning, they're
- 7:30tired, to remember to find all of the
- 7:32information. It can take a really,
- 7:33really long time to search through logs
- 7:36and correlate the metrics, but machines
- 7:38are very, very good at doing this. They
- 7:39can do this incredibly quickly. And so,
- 7:41I think a system like this is something
- 7:43that every software engineering team
- 7:44should have at a certain scale.
- 7:47So, it's pretty clear that there's a
- 7:49problem with with our system here. Uh
- 7:51the system is returning 500 errors. If
- 7:52you were on call as an engineer, this
- 7:54would be a pretty stressful
- 7:56incident trying to figure out what to do
- 7:57and how to resolve the issue. But,
- 7:59because we have our incident triage
- 8:00agent, the agent can now help us figure
- 8:03out exactly what to do. And so, the
- 8:05recommended action is to restore traffic
- 8:06to the previously healthy revision. So,
- 8:08essentially a rollback is the suggestion
- 8:10from the agent. And this is exactly the
- 8:12right thing to do. So, if you were an
- 8:14on-call engineer, you could then go and
- 8:16ask the agent how to do the rollback,
- 8:18for example. But, the agent has
- 8:20correctly triaged the issue, figured out
- 8:22what to do, and given guidance to the
- 8:24on-call engineer. I think this is just
- 8:25absolutely incredible to have this kind
- 8:27of system in production. And what's
- 8:29interesting is it didn't really take
- 8:30that long to kind of put this together.
- 8:32Another really interesting idea in this
- 8:33article that I love is this idea of
- 8:35using AI agents to help us roll out
- 8:37changes to production. So, 12 months
- 8:39ago, people would have said that that
- 8:40was crazy or reckless to use AI agents
- 8:43for the deployment process, but I think
- 8:44it makes a lot of sense right now, and I
- 8:46certainly use it myself a lot.
- 8:48Because you can use AI agents to deploy
- 8:50your changes, use your deterministic
- 8:52code to roll the change out, but then
- 8:54you can have the AI agent pay attention
- 8:55to what's happening in production in a
- 8:57way that a human would struggle to do.
- 8:59So, the agent can spin up its own
- 9:00dashboards, it can look at metrics,
- 9:02logs, telemetry, and very, very quickly
- 9:05detect if there's an error in
- 9:06production.
- 9:07As soon as the agent detects there's an
- 9:08error, it can then immediately resolve
- 9:11the issue by reverting the change. So, I
- 9:13think using the agents in the deployment
- 9:15process is actually a really good idea.
- 9:18If you are interested in this, I'll make
- 9:19all of the code available so you can
- 9:20check this out. So, this is the ADK or
- 9:23Agent Development Kit AI Agent that is
- 9:25running, monitoring our production
- 9:27system, looking for errors, and then
- 9:28taking action in response. So, I really
- 9:30liked the ideas in this article. I found
- 9:33the risk classification to be something
- 9:35I'm going to adopt in my own workflow.
- 9:37It's relatively easy to get that set up
- 9:39and working, and the advantages are
- 9:40quite high. If you're like me, you've
- 9:42probably got a large number of pull
- 9:43requests being stacked up every single
- 9:45day, and it can be a bit of a nightmare
- 9:47to try and keep up with all of the code
- 9:48changes you're producing with agents.
- 9:50So, I think this is a really useful
- 9:51technique. Again, it depends on what
- 9:53you're doing. If you're working on
- 9:55something risky, maybe you want more
- 9:57human review, but if you're working on
- 9:58side projects or simpler things, having
- 10:00agents merge the code at this point in
- 10:02time seems way more realistic.
- 10:05Also, I really like this idea of having
- 10:06agents that monitor production. This is
- 10:09really, really useful. I've worked in
- 10:10really high throughput, you know, risky,
- 10:13operationally heavy environments, and
- 10:15having some kind of automated on-call
- 10:17agent to help you diagnose issues would
- 10:19be incredibly useful. Historically,
- 10:21these things can be quite hard to
- 10:23actually build and make work correctly
- 10:25in production, but I kind of like the
- 10:27way they've done this. So, the agent
- 10:28just investigates the outage, gives you
- 10:30a suggestion about what to do, and you
- 10:33can also ask the agent questions. So,
- 10:35this is just going to speed up incident
- 10:36response. If you've got an outage, it's
- 10:38going to help you resolve the outage
- 10:40much faster. So, I think that's a pretty
- 10:41good use of an AI agent in terms of
- 10:43operations, as well. Thanks again for
- 10:45watching, and I'll see you in the next
- 10:46one. Take care.
About this transcript
This page contains the full transcript of Inside OpenAI's Agentic Software Factory by Owain Lewis, generated from the public captions YouTube serves with the video. The transcript has 2,404 words across 356 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 choose a caption track available on the video.
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, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.