<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mark Nguyen</title>
    <description>The latest articles on DEV Community by Mark Nguyen (@mark-slidefactory).</description>
    <link>https://dev.to/mark-slidefactory</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4243624%2F2f709356-1227-4db4-81cc-e0fa5ec45a70.jpg</url>
      <title>DEV Community: Mark Nguyen</title>
      <link>https://dev.to/mark-slidefactory</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mark-slidefactory"/>
    <language>en</language>
    <item>
      <title>What Five Months of AI Code Review Actually Found</title>
      <dc:creator>Mark Nguyen</dc:creator>
      <pubDate>Sat, 14 Nov 2026 01:05:21 +0000</pubDate>
      <link>https://dev.to/mark-slidefactory/what-five-months-of-ai-code-review-actually-found-46gh</link>
      <guid>https://dev.to/mark-slidefactory/what-five-months-of-ai-code-review-actually-found-46gh</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on the &lt;a href="https://www.theslidefactory.com/post/what-five-months-of-ai-code-review-actually-found" rel="noopener noreferrer"&gt;SLIDEFACTORY blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Since February 27, 2026, every pull request in our active repositories has been reviewed by &lt;a href="https://coderaven.io" rel="noopener noreferrer"&gt;CodeRaven&lt;/a&gt;, the AI code-review platform we built and operate. That gives us 148 days of production history. It isn’t a benchmark or a vendor demo. It’s the complete record of what an AI reviewer actually did across our own and our clients’ codebases, including the parts that flatter nobody.&lt;/p&gt;

&lt;p&gt;Most claims about AI code review come from the companies selling it, measured on curated examples. We sell it too (CodeRaven is our product), so read this with that in mind. What we can offer is the full dataset, published with its limitations attached. And honestly, the most interesting findings aren’t the ones we would have picked.&lt;/p&gt;

&lt;h2&gt;
  
  
  The headline numbers
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;1,164 pull requests&lt;/strong&gt; reviewed over 148 days&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2,812 reviews&lt;/strong&gt;, about 2.4 per PR, since PRs get re-reviewed as they change&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;14,552 findings&lt;/strong&gt; posted as review comments&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;~7 million lines touched&lt;/strong&gt; (+5,477,927 added / −1,478,062 removed)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;76.0% of AI Code Review approved; 24.0% requested changes&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Severity distribution across reviews: 1,441 low · 1,134 medium · 237 high · 0 critical&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Total AI spend: $161.20&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  One in four PRs was asked to change
&lt;/h2&gt;

&lt;p&gt;If you want one number that answers whether AI Code Review actually pushes back or just rubber-stamps, it’s the 24% changes-requested rate. One PR in four got stopped and revised. That rate wasn’t constant. It started much rougher, 57.9% approval in the first partial week, and settled into a band between 72% and 81% as the codebases absorbed feedback and authors got used to being reviewed.&lt;/p&gt;

&lt;h2&gt;
  
  
  237 high-severity catches, zero critical ones
&lt;/h2&gt;

&lt;p&gt;Over five months, 237 reviews flagged high-severity issues. The critical count is zero, and we’re reporting that as-is rather than dressing it up: either nothing catastrophic entered a pull request in 148 days, or things that would have become catastrophic were caught while they were still merely “high.” The data can’t distinguish those two stories, and neither can we.&lt;/p&gt;

&lt;p&gt;What the number does tell you is that real problems worth blocking a merge showed up at a rate of about 1.6 per day, every day, across three active repositories. Code review, human or AI, exists for that steady drip, not for the dramatic save.&lt;/p&gt;

&lt;h2&gt;
  
  
  The AI Code Review cost: $161.20. Total.
&lt;/h2&gt;

&lt;p&gt;Not per month. The entire 148-day, 14,552-finding history cost $161.20 in AI spend. That works out to roughly &lt;strong&gt;1.1 cents per finding&lt;/strong&gt; and about &lt;strong&gt;68 cents per high-severity catch&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;For comparison, price out fifteen minutes of a senior engineer’s time reading a diff, spotting the issue, and writing it up. This isn’t “cheaper than a human reviewer.” It’s a different category of expense. The whole AI Code Review layer costs less per month than the coffee at the standup where you’d debate turning it off. At that price, the question stops being whether AI review is worth it and becomes what the argument is for not running it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Month by month: volume nearly doubled, scrutiny held
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Month (2026)&lt;/th&gt;
&lt;th&gt;PRs&lt;/th&gt;
&lt;th&gt;Reviews&lt;/th&gt;
&lt;th&gt;Low / Med / High&lt;/th&gt;
&lt;th&gt;Approval&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Feb (27–28)&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;10 / 8 / 1&lt;/td&gt;
&lt;td&gt;57.9%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mar&lt;/td&gt;
&lt;td&gt;200&lt;/td&gt;
&lt;td&gt;420&lt;/td&gt;
&lt;td&gt;269 / 123 / 28&lt;/td&gt;
&lt;td&gt;75.5%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Apr&lt;/td&gt;
&lt;td&gt;227&lt;/td&gt;
&lt;td&gt;431&lt;/td&gt;
&lt;td&gt;244 / 160 / 27&lt;/td&gt;
&lt;td&gt;81.2%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;May&lt;/td&gt;
&lt;td&gt;194&lt;/td&gt;
&lt;td&gt;559&lt;/td&gt;
&lt;td&gt;258 / 240 / 61&lt;/td&gt;
&lt;td&gt;76.9%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Jun&lt;/td&gt;
&lt;td&gt;283&lt;/td&gt;
&lt;td&gt;775&lt;/td&gt;
&lt;td&gt;385 / 316 / 74&lt;/td&gt;
&lt;td&gt;72.3%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Jul (1–24)&lt;/td&gt;
&lt;td&gt;244&lt;/td&gt;
&lt;td&gt;608&lt;/td&gt;
&lt;td&gt;275 / 287 / 46&lt;/td&gt;
&lt;td&gt;77.3%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Review volume nearly doubled from March (420) to June (775) as re-review activity grew: more iterations per PR, not just more PRs. The approval rate stayed in a narrow band while that happened, which is the pattern you’d want. Throughput scaled without the reviewer getting more lenient. May and June also carried the heaviest high-severity load (61 and 74), the same months with the deepest re-review cycles.&lt;/p&gt;

&lt;h2&gt;
  
  
  The clearest pattern in the author data: churn predicts pushback
&lt;/h2&gt;

&lt;p&gt;CodeRaven reviews PRs from eight contributors. Three data points describe the spread:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Our highest-volume contributor by PR count:&lt;/strong&gt; 364 PRs, &lt;strong&gt;83.3% approval&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Highest approval rate in the dataset:&lt;/strong&gt; 84.8%&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Our highest-churn contributor:&lt;/strong&gt; 196 PRs, 2.63 million lines added, and the &lt;strong&gt;lowest approval rate: 62.3%&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The contrast worth noticing: PR count alone doesn’t predict pushback. The contributor with the most PRs holds an 83.3% approval rate, close to the best in the dataset. The contributor who moved the most code, 2.63 million lines across 196 PRs, sits at the bottom. &lt;a href="https://www.gitclear.com/" rel="noopener noreferrer"&gt;GitClear&lt;/a&gt; has been documenting this churn-quality correlation industry-wide as AI-assisted coding pushes churn and duplication up. We can see it reproduced at the level of individual contributors in our own repos. The more code you move per unit time, the more often review says stop.&lt;/p&gt;

&lt;p&gt;The honest reading is that approval rate mostly measures blast radius per change. Small, contained changes sail through AI Code Review; big sweeping ones get stopped. When AI helps you generate more code faster, independent review gets more necessary, not less. The throughput is real, and so is the debt.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this dataset can’t tell you about AI Code Review
&lt;/h2&gt;

&lt;p&gt;Every “state of” report should have this section; here’s ours.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Severity is the only structured category.&lt;/strong&gt; CodeRaven doesn’t currently tag findings by issue type, so we can’t rank “most common mistake” from structured data alone. A text-mining pass over the 14,552 review comments is the planned follow-up to this report.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Three active repositories.&lt;/strong&gt; Eight repos are monitored, but the volume comes from three internal and client repositories. This is one team’s production reality, not an industry sample.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Month boundaries are approximate.&lt;/strong&gt; Monthly rows come from rolling-window differencing and can be off by one or two at the edges. All-time totals are exact.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;We built the reviewer.&lt;/strong&gt; We’ve published the raw counts so you can discount our interpretation and keep the data.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What we’d do with these numbers
&lt;/h2&gt;

&lt;p&gt;If you’re running AI-assisted development (Copilot, Claude, Cursor, agents), here are the takeaways we act on ourselves:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Put review where the churn is.&lt;/strong&gt; Our data says high churn predicts changes-requested. If AI is multiplying your line count, that’s precisely where an independent reviewer belongs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Treat sub-penny review as default-on.&lt;/strong&gt; At 1.1 cents per finding, the cost argument against a second set of eyes no longer exists.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Watch approval-rate drift, not just bug counts.&lt;/strong&gt; A reviewer that gets more lenient as volume grows is decorative. Ours held between 72% and 81% while volume nearly doubled, and that band is the health metric we track.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you run AI review on your own repos, what approval rate are you seeing? I’d like to compare notes.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>programming</category>
    </item>
    <item>
      <title>AI-Native SDLC: The Agency Reality Check</title>
      <dc:creator>Mark Nguyen</dc:creator>
      <pubDate>Sat, 14 Nov 2026 01:04:49 +0000</pubDate>
      <link>https://dev.to/mark-slidefactory/ai-native-sdlc-the-agency-reality-check-3g81</link>
      <guid>https://dev.to/mark-slidefactory/ai-native-sdlc-the-agency-reality-check-3g81</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on the &lt;a href="https://www.theslidefactory.com/post/ai-native-sdlc-the-agency-reality-check" rel="noopener noreferrer"&gt;SLIDEFACTORY blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Anthropic published two pieces this year that together describe what happens to an engineering organization once agentic coding stops being a tool somebody uses and becomes the way the whole team works.&lt;/p&gt;

&lt;p&gt;The first, published in June, was &lt;a href="https://claude.com/blog/running-an-ai-native-engineering-org" rel="noopener noreferrer"&gt;Fiona Fung’s talk writeup from Code w/ Claude SF&lt;/a&gt;. She runs engineering for Claude Code, and her piece is about people and process: the four team norms that stopped working once her team went agentic, and what replaced them. The second, published in August, was &lt;a href="https://claude.com/blog/the-ai-native-sdlc-playbook" rel="noopener noreferrer"&gt;Louis Claxton’s AI-native SDLC playbook&lt;/a&gt;, which is the more prescriptive counterpart. It lays out six stages, a chain of committed files that runs through all of them, and a governance layer underneath.&lt;/p&gt;

&lt;p&gt;Read together, they’re probably the best public description of this shift I’ve seen. They also share an assumption neither one really states: you own your roadmap. Anthropic can change direction when its own product, tooling, or team changes what makes sense. Agencies can’t. We’re an eleven-person agency, and most of our work arrives with a signed scope, a fixed date, and a client who agreed to a specific list of deliverables. That constraint changes which parts of the AI-native SDLC you can actually adopt, and most of what’s being written about this shift isn’t written for people working under it.&lt;/p&gt;

&lt;p&gt;One disclosure before the rest. We build and sell &lt;a href="https://coderaven.io/" rel="noopener noreferrer"&gt;CodeRaven&lt;/a&gt;, an AI code-review platform, so we have a commercial interest in one specific stage of this process. The data further down is published with its limitations attached, and you’re welcome to keep the numbers and discard our framing.&lt;/p&gt;

&lt;h2&gt;
  
  
  What an AI-native SDLC actually changes
&lt;/h2&gt;

&lt;p&gt;The software development lifecycle is just the path a change takes from someone’s idea to something running in production. You plan it, design it, build it, test it, deploy it, and maintain it. Traditionally, each step belongs to a different role, and work moves between them through documents, tickets, meetings, and sign-offs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvfuo87zvadh9pwxm438u.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvfuo87zvadh9pwxm438u.jpg" alt="The AI Native SDLC" width="800" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A lot of that ceremony was built around one assumption: writing the code was the slow, expensive part. Requirements documents, estimation rituals, and design review existed to force agreement before anyone spent three months building the wrong thing. When building the thing takes an afternoon, a lot of that structure is guarding against a cost that no longer exists.&lt;/p&gt;

&lt;p&gt;An AI-native SDLC keeps the six stages but changes what travels between them. Instead of relying mainly on tickets and meetings, each stage ends by committing a plain markdown file that the next stage reads. An idea becomes an intent file. The intent becomes a spec. The spec becomes an implementation plan naming which files change and which tests prove it worked. Then come the actual diff, the pull request and its review findings, and an incident record if production disagrees with all of it.&lt;/p&gt;

&lt;p&gt;The files are readable by both a person and an agent, they live in git next to the code, and the chain of commits becomes an audit trail without anyone having to build a separate one. You’ll also see the same idea called the agentic SDLC or just the AI SDLC. Different labels, same basic structure.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bottleneck moved, and three stages absorbed it
&lt;/h2&gt;

&lt;p&gt;Fung’s point is straightforward. On her team, writing code, writing tests, and refactoring stopped being what slowed anyone down. The bottleneck didn’t disappear when the typing did. It moved to verification, review, and security, because those still run much closer to human speed regardless of how fast the diff shows up.&lt;/p&gt;

&lt;p&gt;Claxton makes the same point structurally. Build collapses to hours while the stages on either side keep much of their original length. Your review queue was sized for the amount of code humans could write. Your security review was staffed around roughly the same assumption. Your approval gates still run on their existing cadence. None of that gets ten times faster because generation does, so either the queue backs up or work starts shipping under-reviewed.&lt;/p&gt;

&lt;p&gt;The real question isn’t which AI tools to buy. It’s which existing processes were solving a problem you no longer have, and which ones just had a lot more work dropped on them.&lt;/p&gt;

&lt;h2&gt;
  
  
  The four norms Fung’s team rewrote
&lt;/h2&gt;

&lt;p&gt;The tooling is only part of the change. Fung’s other point is that the way the team works has to change with it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Planning went just-in-time.&lt;/strong&gt; Her team wrote a solid six-month roadmap and it was obsolete by month three, specifically because of what their own tooling did to throughput. Planning moved away from long design documents and toward prototypes and discussion in pull requests. Build it, put internal users on it, and act on what they say.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Context gathering stopped starting with the author.&lt;/strong&gt; When a person wrote the code, finding that person was usually step one when someone had a question. When nearly every pull request is agent-assisted, “who made this change” doesn’t get you very far. The better question is what you actually need to know. Ask the agent first, then ask whether that answer should be captured somewhere so the next person doesn’t have to go looking for it again.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Review became trust but verify.&lt;/strong&gt; The agent handles style, linting, obvious bugs, and test coverage. Humans stay where judgment still matters: legal risk tolerance, trust boundaries, security-sensitive code, and product taste. Fung’s caveat here is important. The right split keeps moving as models improve, so the review policy needs to be revisited instead of written once and treated as finished.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Roles blurred.&lt;/strong&gt; Product managers on her team write code now. Engineers pick up design and content work. What she’s stopped hiring for is raw throughput, because the models increasingly provide that. The value moves toward creative builders with product sense and engineers with deep systems knowledge.&lt;/p&gt;

&lt;p&gt;Obsolete processes don’t remove themselves. Somebody has to have permission to kill them, and on her team that permission is an explicit principle rather than something everyone is expected to infer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where this breaks against a signed scope of work
&lt;/h2&gt;

&lt;p&gt;Just-in-time planning is the right answer when the roadmap belongs to you. It’s a much harder sell when a client signed a statement of work that lists the deliverables and the launch date. We can’t always prototype our way toward whatever the project turns out to want. We’ve already committed to a scope, and the commercial relationship is built around delivering against it.&lt;/p&gt;

&lt;p&gt;The same tension runs through the rest of the process. Fung’s advice to kill your noisiest process assumes you own the process. A lot of ours belong to clients: their approval cycles, brand review, change boards, security requirements, release windows, procurement rules, accessibility checks, and internal ticketing systems. Those aren’t processes an agency can simply decide are obsolete.&lt;/p&gt;

&lt;p&gt;Claxton’s playbook has a sidebar about legacy systems and naming one source of truth per artifact, but for an agency that is the main event rather than a footnote. The cleanest version of the playbook has the repository holding the authoritative record. On client work, that option frequently isn’t ours to choose. Their Jira may be the system of record because their auditors, compliance team, or internal process already depends on it. We don’t get to replace it with a markdown file in our repo because the architecture would be cleaner.&lt;/p&gt;

&lt;p&gt;None of that makes the AI-native SDLC unusable for agencies. It just means the split runs differently than it does at a product company. The stages where you control your own tooling port over almost completely. The stages where the client’s process is the gate often don’t, and pretending otherwise usually produces a plan nobody follows for very long.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the AI-native SDLC gives you regardless of who owns the roadmap
&lt;/h2&gt;

&lt;p&gt;Review does, and we have data on that one rather than opinion.&lt;/p&gt;

&lt;p&gt;Since February 27, we’ve run every pull request in our active repositories through CodeRaven. Over the first 148 days, that came to &lt;strong&gt;1,164 pull requests&lt;/strong&gt;, &lt;strong&gt;14,552 findings&lt;/strong&gt;, and a total AI spend of &lt;strong&gt;$161.20&lt;/strong&gt;. The full breakdown is in our &lt;a href="https://www.theslidefactory.com/post/what-five-months-of-ai-code-review-actually-found" rel="noopener noreferrer"&gt;five-month AI code review dataset&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Two findings matter here. First, &lt;strong&gt;24% of pull requests got changes requested&lt;/strong&gt;, and that rate stayed within a &lt;strong&gt;72% to 81% approval band&lt;/strong&gt; even while review volume nearly doubled from March to June. A reviewer that gets more permissive as the pile grows isn’t very useful, and we didn’t see that drift.&lt;/p&gt;

&lt;p&gt;Second, across eight contributors, what predicted getting stopped wasn’t how many pull requests someone opened. Our highest-volume contributor by count had an &lt;strong&gt;83.3% approval rate&lt;/strong&gt;, near the top of the group. The contributor who moved the most code, &lt;strong&gt;2.63 million lines added across 196 pull requests&lt;/strong&gt;, had the lowest approval rate at &lt;strong&gt;62.3%&lt;/strong&gt;. Approval rate mostly tracked how much surface area a change touched.&lt;/p&gt;

&lt;p&gt;That’s the sequencing argument. Agentic coding raises the amount of code a person can move in a week, and the amount of code moved is the thing that correlates with review pushing back. Turning on generation before the independent check means accelerating exactly the input most likely to create problems.&lt;/p&gt;

&lt;p&gt;Two files port over too, and both cost very little to put in place. A &lt;code&gt;CLAUDE.md&lt;/code&gt; at the repo root holds build, test, and lint commands, the conventions that actually matter, and a running list of what the agent keeps getting wrong. A simple rule works well: if the same mistake happens twice, it goes in the file. Anthropic’s &lt;a href="https://code.claude.com/docs/en/memory" rel="noopener noreferrer"&gt;memory documentation&lt;/a&gt; covers the mechanics.&lt;/p&gt;

&lt;p&gt;Alongside it, a review policy defines which passes you care about, what counts as important versus a nit, how many nits one review should be allowed to report, and what should be skipped entirely. That last part matters because AI review can bury a team in low-value style comments until people stop paying attention to the reviewer altogether. Reliable agent workflows need more than capable models. They also need clear instructions, evaluation criteria, review policies, and defined boundaries for human oversight.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://code.claude.com/docs/en/permission-modes" rel="noopener noreferrer"&gt;Plan mode&lt;/a&gt; ports over too, and for agency work it’s probably the highest-leverage thing on this list. The agent reads the codebase without touching it and produces a written plan naming which files should change and which tests should prove the work is correct. The engineer corrects the plan before code exists.&lt;/p&gt;

&lt;p&gt;Catching a bad decision while it’s still a paragraph costs a text edit. Catching the same decision in a finished diff costs a rework cycle, and when the diff itself took four minutes to generate, that rework cycle becomes one of the most expensive parts of the change. Waterfall front-loaded planning because building was expensive. AI-native engineering front-loads planning because building is cheap and reviewing isn’t.&lt;/p&gt;

&lt;p&gt;There’s also a second benefit that matters specifically when you bill clients. A committed plan becomes a scope artifact. When a client asks for something the plan doesn’t cover, the conversation about whether it’s in scope has a document attached to it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to measure, and the one metric we’d keep
&lt;/h2&gt;

&lt;p&gt;Fung suggests tracking three things as these changes roll out: onboarding ramp time going down, pull request cycle time going down, and the share of agent-assisted commits going up. Her caveat is right: throughput is a metric, not the goal.&lt;/p&gt;

&lt;p&gt;Her evidence for those three is the weaker part of an otherwise strong piece. Ramp time is described as much faster than a year ago. The commit metric is an anecdote about not having seen a non-assisted commit in four months. Those are useful directional signals, but they’re surprisingly directional for an article telling engineering leaders to start measuring.&lt;/p&gt;

&lt;p&gt;If we kept one, it’d be &lt;strong&gt;approval rate&lt;/strong&gt;, or whatever your equivalent measure of review strictness is. Ramp time and cycle time both improve naturally when generation speeds up, so they mostly confirm that the tool is doing what you expected. Approval rate is the one that can quietly go the wrong way while every other number looks great, and you won’t see that drift unless you record a baseline before changing anything.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this can’t tell you
&lt;/h2&gt;

&lt;p&gt;We have production data for one stage out of six. The &lt;strong&gt;1,164 pull requests&lt;/strong&gt; are review data. Our use of plan mode, context files, and scope artifacts is experience rather than measurement, and those sections should be read at that weight.&lt;/p&gt;

&lt;p&gt;The sample is &lt;strong&gt;three active repositories and eight contributors on a single team&lt;/strong&gt;. That’s our production reality, not an industry pattern. We also sell an AI code reviewer, and the section arguing you should sequence review first is the one place where our data and our commercial interest point in the same direction.&lt;/p&gt;

&lt;p&gt;We also don’t have a clean baseline, because these repositories were never run without AI review during this dataset. We know that &lt;strong&gt;24% of pull requests received changes requested&lt;/strong&gt;, but we can’t tell you what that number would’ve been under human-only review.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we’d do with this
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Sequence review ahead of generation.&lt;/strong&gt; Churn predicts pushback, and agentic coding is a churn multiplier. The other order accelerates the problem before installing the check.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Write the two files before anything else.&lt;/strong&gt; A context file and a review policy change agent output immediately, and most of the remaining practices assume one or both already exists.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Treat plan mode as both a control and a scope artifact.&lt;/strong&gt; On client work, the second function can be worth as much as the first.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sort your processes by who owns them.&lt;/strong&gt; The ones you own are fair game for Fung’s advice about killing what no longer serves you. The ones a client owns are a negotiation, not a decision, and planning as though they’re yours is how these initiatives stall.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Record one number before you change anything.&lt;/strong&gt; Ours is approval rate. Most of the speed metrics improve on their own and tell you less.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The practical version of the &lt;strong&gt;AI-native SDLC&lt;/strong&gt; for an agency is narrower than the version you’d implement inside a product company. The file chain and review layer port over almost completely, the organizational norms port where you actually control the process, and just-in-time planning mostly doesn’t port when someone else signed for the scope.&lt;/p&gt;

&lt;p&gt;That’s a narrower adoption than either Anthropic article describes, but it’s still most of the value.&lt;/p&gt;

&lt;p&gt;If you’ve adopted parts of this on client work, which pieces held up against a fixed scope, and which didn’t?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>programming</category>
    </item>
    <item>
      <title>Claude Code Removed from Anthropic’s Pro Plan. And It Reveals a Bigger AI Pricing Problem</title>
      <dc:creator>Mark Nguyen</dc:creator>
      <pubDate>Sat, 14 Nov 2026 01:04:01 +0000</pubDate>
      <link>https://dev.to/mark-slidefactory/claude-code-removed-from-anthropics-pro-plan-and-it-reveals-a-bigger-ai-pricing-problem-3j1m</link>
      <guid>https://dev.to/mark-slidefactory/claude-code-removed-from-anthropics-pro-plan-and-it-reveals-a-bigger-ai-pricing-problem-3j1m</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on the &lt;a href="https://www.theslidefactory.com/post/claude-code-removed-pro-plan-anthropic-pricing" rel="noopener noreferrer"&gt;SLIDEFACTORY blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;On April 21, 2026, developers noticed that &lt;strong&gt;Claude Code had been removed from Anthropic’s $20 Pro plan&lt;/strong&gt;, silently, with no announcement, no email, and no entry in the changelog. Just an updated pricing table with a red X where a checkmark used to be. By the next morning, after a wave of developer backlash, the page had been quietly restored. Anthropic’s Head of Growth, Amol Avasare, called it a test affecting roughly 2% of new Pro signups. Existing subscribers, he said, were not impacted.&lt;/p&gt;

&lt;p&gt;So everything’s fine. Move along.&lt;/p&gt;

&lt;p&gt;Except this story isn’t really about a pricing page glitch. The &lt;strong&gt;Claude Code Pro plan removal&lt;/strong&gt;, however brief, is a signal that the economics of flat-rate AI subscriptions are quietly falling apart, and Anthropic isn’t the only company that’s going to feel it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Update, November 2026: Where Claude’s Plans Ended Up
&lt;/h2&gt;

&lt;p&gt;Claude Code stayed on the Pro plan. Anthropic’s &lt;a href="https://claude.com/pricing" rel="noopener noreferrer"&gt;pricing page&lt;/a&gt; (checked November 13, 2026) lists Pro at $20 a month, Max at $100 and a new $200 tier called Ultra, with Claude Code included on all three. Max and Ultra now also come with monthly API credits, $100 and $200, for building on the Claude Platform. The rest of this article is as published in April.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Gym Membership Problem: How AI Subscriptions Were Always Built on an Assumption
&lt;/h2&gt;

&lt;p&gt;To understand what’s happening with Anthropic’s pricing, it helps to think about gyms.&lt;/p&gt;

&lt;p&gt;A gym charges you $40 a month. But that gym doesn’t have physical capacity for all of its members to show up simultaneously. Most gyms sell three to ten times more memberships than they can actually accommodate at peak hours. They do this because they’ve studied behavior: the average member goes twice in January, once in February, and barely at all by spring. The business model works because most people don’t use what they’re paying for.&lt;/p&gt;

&lt;p&gt;This isn’t dishonest. It’s a rational model built on realistic usage assumptions. You get cheap access to a great facility. The gym gets predictable revenue. Everyone wins, as long as the assumption holds.&lt;/p&gt;

&lt;p&gt;AI subscriptions work the same way. When Anthropic priced Claude Pro at $20/month, that price was calibrated around how &lt;em&gt;humans&lt;/em&gt; use AI: you ask a question, read the answer, think for a moment, ask something else. That cycle has natural friction: attention limits, work hours, meetings, sleep. Even a heavy human user generates a finite volume of compute in a month.&lt;/p&gt;

&lt;p&gt;The gym membership model works until too many members actually show up. And in 2026, AI agents are flooding the gym.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI Agents Are the Friends Who Never Leave the Gym
&lt;/h2&gt;

&lt;p&gt;Here’s where the analogy gets precise. Imagine the gym started allowing members to lend their access cards to friends. One friend becomes two. Two becomes a group chat. And unlike you, these friends don’t go home. They’re on the treadmill at 3am. They bring more friends. They run every machine simultaneously, indefinitely, without stopping to check their phone.&lt;/p&gt;

&lt;p&gt;That’s what AI agents do on a flat-rate subscription.&lt;/p&gt;

&lt;p&gt;An agent doesn’t sleep. It doesn’t pause between prompts. It doesn’t get distracted. You set it loose on a task at midnight and it runs in autonomous loops, firing requests continuously, chewing through context windows the size of novels, generating output that would take a human days to produce. And it does this on the same $20/month membership as the person sending three chat messages a day.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;One developer tracked 10 billion tokens over eight months of daily Claude Code use, compute that would have cost over $15,000 at API rates, running on a subscription that cost $800 total across that period.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://www.theregister.com/2026/04/22/anthropic_removes_claude_code_pro" rel="noopener noreferrer"&gt;The Register reported&lt;/a&gt; that some Claude Max subscribers ($200/month) were running between $1,000 and $5,000 worth of agent compute every single month. The math isn’t complicated. And it isn’t sustainable.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Engagement per subscriber is way up. We’ve made small adjustments along the way, but usage has changed a lot and our current plans weren’t built for this.” – Amol Avasare, Anthropic Head of Growth&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That’s a polite way of saying: we sold you a gym membership, and you’re living there. And you brought friends.&lt;/p&gt;

&lt;h2&gt;
  
  
  OpenClaw Was the “Lend Your Card” Problem Made Literal
&lt;/h2&gt;

&lt;p&gt;The most vivid example of the friends-at-the-gym problem was OpenClaw, an open-source AI agent framework created by Austrian developer Peter Steinberger. By early 2026, OpenClaw had accumulated &lt;a href="https://thenextweb.com/news/anthropic-openclaw-claude-subscription-ban-cost" rel="noopener noreferrer"&gt;247,000 GitHub stars&lt;/a&gt;, making it one of the fastest-growing open-source projects in history. The appeal was simple: connect your Claude Pro subscription to OpenClaw and suddenly you had a persistent personal AI agent running continuously through WhatsApp, Telegram, email, and anything else you pointed it at.&lt;/p&gt;

&lt;p&gt;In gym terms: OpenClaw was a mechanism for lending your membership card to an entity that genuinely never left the building. It ran at 6am, at midnight, on weekends. And it brought more friends, with multi-agent setups where one $20 subscription powered several parallel agents, each consuming full compute resources simultaneously.&lt;/p&gt;

&lt;p&gt;On April 4, 2026, more than two weeks before the Claude Code Pro plan removal, Anthropic shut it down. &lt;a href="https://www.pymnts.com/artificial-intelligence-2/2026/third-party-agents-lose-access-as-anthropic-tightens-claude-usage-rules/" rel="noopener noreferrer"&gt;As PYMNTS reported&lt;/a&gt;, Claude Pro and Max subscribers could no longer run third-party agent frameworks on their flat-rate plans. For developers who had built operations around the tool, the cost increase was reported at up to 50 times their previous monthly spend.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Anthropic’s April 2026 Timeline:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;April 4:&lt;/strong&gt; Anthropic blocks third-party agent frameworks, including OpenClaw, from running on Pro and Max subscription plans. API billing required for all external agent usage going forward.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;April 21:&lt;/strong&gt; Claude Code quietly removed from the $20 Pro plan pricing page with no public announcement. Discovered by developers comparing current documentation against the April 10 archived version.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;April 22:&lt;/strong&gt; Pricing page restored after developer backlash. Anthropic confirms it was an A/B test on ~2% of new Pro signups. Head of Growth signals broader plan restructuring is coming.&lt;/p&gt;

&lt;p&gt;Read those three events together and a pattern is obvious. This isn’t accidental. Anthropic is methodically separating human-pattern usage from agentic usage, and figuring out how to charge accordingly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Claude Code Isn’t the Only Subscription Feeling This Pressure
&lt;/h2&gt;

&lt;p&gt;It would be easy to frame the &lt;strong&gt;Anthropic Claude pricing changes&lt;/strong&gt; as a communication problem, and the communication has genuinely been poor. Developers who built workflows around Claude Code Pro plan access deserved more than a silent pricing page update. But blaming Anthropic’s process misses the structural problem underneath it.&lt;/p&gt;

&lt;p&gt;Every AI company that sold flat-rate subscriptions before agentic AI became mainstream is facing the same math.&lt;/p&gt;

&lt;p&gt;Cursor, the AI coding editor, went through its own version in mid-2025. After switching from fixed request allotments to credit-based usage pools, some developers reported $350 in overages in a single week on a $20/month plan. Cursor issued a public apology and refunded affected users. They hadn’t priced for agents either.&lt;/p&gt;

&lt;p&gt;GitHub Copilot and Google are managing the same capacity constraints. OpenAI publicly took aim at Anthropic the day Claude Code’s Pro plan removal surfaced, announcing that Codex would remain on their free and $20 tiers, but OpenAI is operating on a fundamentally different compute cost structure. That math will catch up with them too.&lt;/p&gt;

&lt;p&gt;The gym analogy has a hard limit: when too many members actually show up, the gym either gets bigger, sells fewer memberships, or changes the pricing terms. There’s no fourth option. AI companies are in the same position, and right now they’re all quietly working toward the same destination: usage-based pricing that reflects what agents actually consume.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the Claude Code Pro Plan Situation Means for Your Business
&lt;/h2&gt;

&lt;p&gt;If you’re running AI tools at any scale, as an agency, a development team, or a business that’s embedded these tools into real workflows, a few things are worth acting on now rather than waiting until pricing forces your hand.&lt;/p&gt;

&lt;h3&gt;
  
  
  Audit the difference between chat usage and agent usage
&lt;/h3&gt;

&lt;p&gt;There’s a meaningful practical difference between using Claude as a conversational assistant and running Claude Code as an autonomous agent across a codebase. The first matches what $20 subscriptions were designed for. The second is the gym membership problem, and it’s exactly what Anthropic is moving to price differently. Know which category your usage falls into, because that distinction is increasingly what tier structures will be built around.&lt;/p&gt;

&lt;h3&gt;
  
  
  The pricing gap between tiers is going to widen
&lt;/h3&gt;

&lt;p&gt;The $80 jump from Claude Pro ($20) to Claude Max ($100) already felt like a significant leap. If Anthropic restructures plans to formally separate human-pattern usage from agentic usage, which Avasare’s comments strongly suggest is coming, expect that gap to grow. The tool you’re using on a $20 plan today has a realistic chance of becoming a $100 tool within 12 months. Budget for it now.&lt;/p&gt;

&lt;h3&gt;
  
  
  Track your actual token consumption
&lt;/h3&gt;

&lt;p&gt;Most businesses using AI tools have no visibility into what they’re actually consuming. That data matters a lot when pricing shifts. Start tracking usage now, not because you need to cut back, but because you need a real baseline when you’re deciding between plan tiers, API billing, or building your own infrastructure.&lt;/p&gt;

&lt;h3&gt;
  
  
  Don’t build single-vendor dependency into critical workflows
&lt;/h3&gt;

&lt;p&gt;The Claude Code situation is a useful reminder that any AI tool running on a subscription plan can change under you, sometimes overnight and sometimes without warning. A pricing restructure, a policy shift, or a capacity crunch can disrupt workflows you’ve started treating as infrastructure.&lt;/p&gt;

&lt;p&gt;This is something we navigate constantly, both in our own products and when integrating AI into client work. When we built &lt;a href="https://coderaven.io" rel="noopener noreferrer"&gt;CodeRaven&lt;/a&gt;, one of the core decisions was designing around model portability from the start, not because we assumed any single provider would pull the rug, but because we’d seen enough of how this industry moves to know that locking into one provider’s pricing model is a liability, not a convenience.&lt;/p&gt;

&lt;p&gt;The practical hedge isn’t complicated: know which parts of your stack would break if a pricing change hit tomorrow, and have at least a rough answer for what you’d do if it did. That might mean keeping API access as a fallback alongside a subscription, maintaining some familiarity with alternative models, or simply avoiding deep automation built on top of features that haven’t been around long enough to feel permanent. Claude Code on a $20 plan, as it turns out, was one of those features.&lt;/p&gt;

&lt;h3&gt;
  
  
  Consider whether usage-based pricing might already make more sense for you
&lt;/h3&gt;

&lt;p&gt;For some workflows, paying per token through the API is actually cheaper than a flat subscription, especially if your usage is irregular rather than continuous. If you’re doing burst-heavy, intermittent work, API billing gives you more control. If you’re running agents continuously, a subscription at the right tier is usually still more efficient. The point is to do the math intentionally rather than defaulting to a plan because it was right six months ago.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Gym Eventually Has to Charge More for 24/7 Access
&lt;/h2&gt;

&lt;p&gt;Gyms that oversell memberships don’t collapse because members use too much. They collapse when too many members actually show up, when the implicit deal stops working for everyone simultaneously.&lt;/p&gt;

&lt;p&gt;What Anthropic is navigating right now is exactly that moment. Usage patterns changed faster than pricing could follow. Claude Code shipped. Claude Cowork landed. OpenClaw exploded to a quarter million GitHub stars. Long-running async agents became everyday workflows practically overnight. &lt;a href="https://www.wheresyoured.at/news-anthropic-removes-pro-cc/" rel="noopener noreferrer"&gt;As Ed Zitron noted&lt;/a&gt;, the Max plan was designed before any of this existed. It was built for heavy chat usage, not for agents running around the clock.&lt;/p&gt;

&lt;p&gt;The uncomfortable truth about the flat-rate AI subscription model is that it was always priced on the assumption that most users wouldn’t fully use what they were paying for. That assumption made AI tools accessible to a mainstream audience, which was genuinely valuable. But as agentic workflows become the default rather than the exception, that assumption is obsolete.&lt;/p&gt;

&lt;p&gt;What comes next, whether that’s tiered agent pricing, compute credit pools, hybrid models, or something we haven’t seen yet, will define which AI platforms win the next two years. Not necessarily the companies with the best models, but the companies that figure out how to price access to those models in a way that’s sustainable for both sides of the transaction.&lt;/p&gt;

&lt;p&gt;The gym needs to either get bigger, sell fewer memberships, or start charging more when you move in permanently and bring your friends. Anthropic is actively testing which of those it’s going to be. So is everyone else in the industry. Pay attention to how they answer, because the structure they land on will shape how your business plans around AI tools for years.&lt;/p&gt;

&lt;p&gt;How are you handling this on your own team: subscriptions, API billing, or a mix?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>programming</category>
    </item>
    <item>
      <title>Retrieval-Augmented Generation (RAG) Systems with OpenAI</title>
      <dc:creator>Mark Nguyen</dc:creator>
      <pubDate>Sat, 14 Nov 2026 00:52:38 +0000</pubDate>
      <link>https://dev.to/mark-slidefactory/retrieval-augmented-generation-rag-systems-with-openai-1jda</link>
      <guid>https://dev.to/mark-slidefactory/retrieval-augmented-generation-rag-systems-with-openai-1jda</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on the &lt;a href="https://www.theslidefactory.com/post/exploring-retrieval-augmented-generation-rag-systems-with-openai" rel="noopener noreferrer"&gt;SLIDEFACTORY blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Exploring Retrieval-Augmented Generation (RAG) Systems with OpenAI
&lt;/h2&gt;

&lt;p&gt;Recently, I had a conversation where the term RAG (&lt;a href="https://www.theslidefactory.com/solution/ai-agent-development" rel="noopener noreferrer"&gt;Retrieval-Augmented Generation&lt;/a&gt;) came up. While it’s becoming more common in AI discussions, many people still have questions about what it actually means and how it can be implemented. A lot of interest revolves around how RAG works in practical terms, especially when paired with tools like OpenAI. So, in this article, we’ll dive into what RAG systems are, how they function, and how they can be used to tackle real-world challenges such as answering complex queries and generating context-aware content.&lt;/p&gt;

&lt;h2&gt;
  
  
  Update, August 2026: The OpenAI Landscape Has Changed
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;If you built (or are about to build) RAG on OpenAI’s Assistants API, act now:&lt;/strong&gt; OpenAI deprecated the Assistants API and is shutting it down on August 26, 2026. Its replacement, the Responses API, reached feature parity and is where all new RAG work should happen. The concepts in this article are unchanged (retrieval plus generation is still the architecture), but the implementation path is now the Responses API’s built-in &lt;code&gt;file_search&lt;/code&gt; tool: you upload documents to a vector store, OpenAI handles parsing, chunking, and embeddings, and retrieval runs a hybrid of vector and keyword search automatically. For custom pipelines, the pattern below (embed, retrieve, augment the prompt, generate) still applies verbatim; only the API surface has moved. If your production system still says &lt;code&gt;assistants&lt;/code&gt; anywhere in its code, migrating is this month’s job, not this quarter’s.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a Retrieval-Augmented Generation (RAG) System?
&lt;/h2&gt;

&lt;p&gt;At its core, &lt;strong&gt;Retrieval-Augmented Generation (RAG)&lt;/strong&gt; is a hybrid method that combines the power of &lt;strong&gt;information retrieval&lt;/strong&gt; and &lt;strong&gt;natural language generation (NLG)&lt;/strong&gt;. RAG allows AI systems to retrieve relevant information from external databases, knowledge repositories, or other data sources, and then generate contextually accurate responses using an NLG model like OpenAI’s GPT. This combination is particularly useful in domains where large-scale models alone may not have up-to-date or specific enough information. By leveraging external sources, the RAG system ensures that generated content is accurate and based on real-time, relevant data.&lt;/p&gt;

&lt;h2&gt;
  
  
  How RAG Systems Work
&lt;/h2&gt;

&lt;p&gt;RAG systems operate in two primary stages:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Retrieval Stage&lt;/strong&gt;: The system searches for relevant information or documents based on a user’s input. The retrieval process can pull from web databases, internal knowledge repositories, or structured data sources like SQL databases. The goal is to identify and rank the most relevant pieces of information based on the user’s query​.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generation Stage&lt;/strong&gt;: Once the relevant information has been retrieved, it’s passed to a generative model like OpenAI’s GPT. The model uses the retrieved data to generate a response, ensuring that the output is grounded in accurate, up-to-date information. This makes the generated content richer and more context-aware, as it reflects real-time or specific data rather than relying solely on the model’s training data​.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Real-World Application: Using RAG for Search Query and Article Retrieval
&lt;/h2&gt;

&lt;p&gt;In the partial example below, we’ll breakdown how a &lt;strong&gt;Retrieval-Augmented Generation (RAG)&lt;/strong&gt; system might improve the quality of answers to a users question by:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Searching for relevant articles,&lt;/li&gt;
&lt;li&gt;Using that information to augment a user’s original query,&lt;/li&gt;
&lt;li&gt;and then generating a more detailed response with a LLM completion API.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The Process
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F65qorqnv36si6lp4omy2.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F65qorqnv36si6lp4omy2.jpeg" alt="RAG Flow Chart for LLM" width="799" height="501"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. User Query&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The user asks a question in natural language:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;“Can you summarize the most recent research on climate change impacts?”&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Retrieval Stage (Search Query)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The system first performs a search for relevant, up-to-date articles on the impacts of climate change. It uses a search engine or a pre-built database to retrieve the most relevant articles related to the user’s query.&lt;/p&gt;

&lt;p&gt;For example, the system retrieves the following articles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Article 1&lt;/strong&gt;: &lt;em&gt;“Impact of Climate Change on Global Agriculture in 2024”&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Article 2&lt;/strong&gt;: &lt;em&gt;“Rising Sea Levels and Their Effect on Coastal Communities”&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Augmentation Stage (Modifying the User Query)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once the articles are retrieved, the system can scan the article, grab the relevant information and augment the original user query with the key findings or highlights from the retrieved articles. This can provide additional context for OpenAI (or any external LLM)to generate a more informed and up-to-date response.&lt;/p&gt;

&lt;p&gt;Here’s an example of the augmented prompt that could be sent to OpenAI:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“Recent research shows significant impacts of climate change, including disruptions in global agriculture and rising sea levels affecting coastal communities. Can you summarize these effects and suggest mitigation strategies?”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Generation Stage (OpenAI’s Response)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With the augmented query, OpenAI’s model generates a more detailed and contextually aware response. Here’s an example of what OpenAI might return using the Chat Completion API:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="s2"&gt;"role"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"assistant"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="s2"&gt;"content"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"Recent research highlights two major impacts of climate change. First, global agriculture is facing disruptions due to changing temperatures and extreme weather patterns, leading to reduced crop yields. Second, rising sea levels are threatening coastal communities, causing displacement and increasing the risk of floods. To mitigate these impacts, strategies include investing in sustainable farming practices and developing better flood defense systems for vulnerable coastal areas."&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;‍&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Final Output to the User&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The final output displayed to the user is the response from OpenAI, which now includes both a summary of recent research and actionable suggestions for addressing the impacts of climate change.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“Recent research highlights two major impacts of climate change. First, global agriculture is facing disruptions due to changing temperatures and extreme weather patterns, leading to reduced crop yields. Second, rising sea levels are threatening coastal communities, causing displacement and increasing the risk of floods. To mitigate these impacts, strategies include investing in sustainable farming practices and developing better flood defense systems for vulnerable coastal areas.”&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of Using RAG Systems
&lt;/h2&gt;

&lt;p&gt;The combination of retrieval and generation in RAG systems offers significant advantages for many applications:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Access to Updated Knowledge&lt;/strong&gt;: Large language models like OpenAI’s GPT are trained on static datasets, which means they may not have access to the most current information. A RAG system augments this by retrieving real-time data, whether from databases or live web sources, allowing for more up-to-date responses​.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Domain-Specific Expertise&lt;/strong&gt;: Whether it’s healthcare, finance, or any other specialized field, RAG systems can retrieve highly specific, domain-relevant information to generate accurate and reliable content that adheres to the necessary guidelines or terminologies​.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enhanced Performance on Complex Queries&lt;/strong&gt;: For questions requiring detailed, multi-step responses, like generating SQL queries or providing legal advice, the retrieval component ensures the generated content is grounded in factual, relevant data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Improved Accuracy and Fact-Checking&lt;/strong&gt;: Since the model bases its generation on retrieved information, the risk of hallucination (the model generating incorrect information) is minimized. This makes the system more reliable for use cases requiring high accuracy, such as SQL query generation or complex research questions​.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Implementing RAG Systems with an LLM
&lt;/h2&gt;

&lt;p&gt;The actual set-up of a RAG system can vary in complexity, depending on the actual needs of the application. Here’s a high-level view of how you might go about setting up an implementation:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Retrieval Module&lt;/strong&gt;: The first step is setting up a retrieval system that can pull in relevant data. This could be something as simple as indexing documents with ElasticSearch or as complex as integrating with proprietary APIs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Preprocessing Retrieved Data&lt;/strong&gt;: Once relevant information is retrieved, it might need preprocessing, such as summarizing or filtering out irrelevant parts, before feeding it into the model for generation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generation&lt;/strong&gt;: The retrieved data is passed to the generative model (OpenAI’s GPT, for instance), which uses this context to generate a response tailored to the user’s query.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Post-Processing&lt;/strong&gt;: After generation, you may need additional steps, such as fact-checking, formatting, or refining the generated output, depending on the complexity of the user’s request​.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  A Working Example: RAG with the Responses API (November 2026)
&lt;/h2&gt;

&lt;p&gt;The walkthrough above runs retrieval yourself. If your documents can be stored with OpenAI, the Responses API can do the retrieval step for you: index the files once in a vector store, and the &lt;code&gt;file_search&lt;/code&gt; tool pulls the relevant chunks into each answer. This is the path for anything that used to run on the Assistants API.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# reads OPENAI_API_KEY from the environment&lt;/span&gt;
&lt;span class="no"&gt;MODEL&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"gpt-6-astra"&lt;/span&gt;  &lt;span class="c1"&gt;# the model OpenAI's file search guide uses (Nov 2026)&lt;/span&gt;

&lt;span class="c1"&gt;# 1. Index the documents once. A vector store holds their chunks and embeddings.&lt;/span&gt;
&lt;span class="n"&gt;store&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;vector_stores&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"research-articles"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;path&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"agriculture-2026.pdf"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"sea-levels-2026.pdf"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"rb"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;uploaded&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;files&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;purpose&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"assistants"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;vector_stores&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;files&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create_and_poll&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;vector_store_id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;store&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;file_id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;uploaded&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# 2. Ask. file_search retrieves the relevant chunks and the model answers&lt;/span&gt;
&lt;span class="c1"&gt;#    from them: retrieval, augmentation and generation in one call.&lt;/span&gt;
&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;responses&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="no"&gt;MODEL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nb"&gt;input&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"Summarize the most recent research on climate change impacts in these articles."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;tools&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="s2"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"file_search"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s2"&gt;"vector_store_ids"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;store&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s2"&gt;"max_num_results"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;include&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"file_search_call.results"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# also return the retrieved chunks&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;output_text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# 3. List the files the answer cited.&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;item&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;output&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="kd"&gt;type&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;"message"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;part&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;note&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;getattr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;part&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"annotations"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;note&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="kd"&gt;type&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;"file_citation"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                    &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"cited:"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;note&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;filename&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Three things to check before you rely on it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Model:&lt;/strong&gt; the example uses the model named in OpenAI’s file search guide in November 2026. Use whichever current model your account has access to.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;max_num_results&lt;/code&gt;&lt;/strong&gt; trades answer quality for speed and tokens. Start around 5 and measure.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;include=["file_search_call.results"]&lt;/code&gt;&lt;/strong&gt; returns the chunks the model saw. Keep it on while testing so you can see why an answer came out the way it did.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your data can’t leave your own systems, keep retrieval on your side (a database or search index you control) and send only the retrieved text in the prompt, as in the walkthrough above.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;While OpenAI and large language models (LLMs) are incredible tools, &lt;strong&gt;Retrieval-Augmented Generation (RAG)&lt;/strong&gt; systems provide a powerful way to enhance these platforms, making it easier to access relevant, real-time data and generate more contextually accurate responses. Whether you’re answering customer queries, augmenting existing data sets with up-to-date information, or optimizing token usage for API requests, RAG systems offer an efficient solution by combining data retrieval with advanced language generation. The result? Smarter, more informed responses that save time and effort while improving the overall quality of interactions.&lt;/p&gt;

&lt;p&gt;By integrating OpenAI’s capabilities with retrieval techniques, you can build applications that not only understand your needs but also act on them quickly and accurately. For businesses, this means more efficient workflows and improved decision-making, without needing deep technical expertise.&lt;/p&gt;

&lt;p&gt;‍&lt;strong&gt;Sources &amp;amp; further reading:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://aws.amazon.com/what-is/retrieval-augmented-generation/" rel="noopener noreferrer"&gt;“What is RAG (Retrieval-Augmented Generation)? – AWS.” AWS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cloud.google.com/use-cases/retrieval-augmented-generation" rel="noopener noreferrer"&gt;“What Is Retrieval Augmented Generation (RAG)?” Google Cloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.blazesql.com/blog/using-chatgpt-to-write-sql" rel="noopener noreferrer"&gt;“Expert guide to using OpenAI’s ChatGPT to write SQL queries.” BlazeSQL&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>programming</category>
    </item>
    <item>
      <title>Building an AI Video Development Workflow: Bigfoots Digital Survival Guide</title>
      <dc:creator>Mark Nguyen</dc:creator>
      <pubDate>Sat, 14 Nov 2026 00:52:08 +0000</pubDate>
      <link>https://dev.to/mark-slidefactory/building-an-ai-video-development-workflow-bigfoots-digital-survival-guide-44c0</link>
      <guid>https://dev.to/mark-slidefactory/building-an-ai-video-development-workflow-bigfoots-digital-survival-guide-44c0</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on the &lt;a href="https://www.theslidefactory.com/post/ai-video-development-workflow" rel="noopener noreferrer"&gt;SLIDEFACTORY blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;72 Hours with AI: Creating Our Bigfoot Commercial&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;As a Portland-based AI agency, we’re always looking for new ways to push the boundaries of what’s possible with technology. At SLIDEFACTORY, our roots are in digital innovation, but today, that means more than just building websites or apps. We’re focused on the future, leveraging AI and emerging technologies to reimagine creative production, workflows, and storytelling.&lt;/p&gt;

&lt;p&gt;Curious about the limits of generative AI in an &lt;a href="https://www.theslidefactory.com/solution/creative-and-generative-ai-production#ai-video" rel="noopener noreferrer"&gt;AI video production&lt;/a&gt; process, we decided to put our capabilities to the test. The challenge? Create a complete commercial, from concept to final cut, using only AI tools. No traditional cameras, no live crews. Just prompts, models, and our creative instincts.&lt;/p&gt;

&lt;p&gt;We gave ourselves exactly 72 hours.&lt;/p&gt;

&lt;p&gt;What followed was an intense, fast-paced sprint that was equal parts exhilarating and eye-opening. The result wasn’t just a finished piece of content. It was a firsthand look at how far AI-powered production has come, and where it’s heading.&lt;/p&gt;

&lt;p&gt;For us, this wasn’t just an experiment. It was a real-time case study in how a nimble, creative AI agency can move quickly, adapt new tools, and deliver results that would have taken weeks in a traditional pipeline.&lt;/p&gt;

&lt;h2&gt;
  
  
  Update, November 2026: How Our AI Video Workflow Has Changed
&lt;/h2&gt;

&lt;p&gt;This post covers a 72-hour sprint from July 2025, and the tools have moved since. Our current process is laid out step by step in our &lt;a href="https://www.theslidefactory.com/project/ai-video-production#ai-video-workflow" rel="noopener noreferrer"&gt;AI video production case study&lt;/a&gt;. It starts the same way, with Midjourney stills and an ElevenLabs voice, but the voice is now a custom voice built from a human read and converted with speech-to-speech. For animation we choose the model by content type: Veo 3, Seedance 2.5, Runway or HeyGen, and a finished video often mixes shots from more than one. The edit still happens in Adobe Premiere Pro.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Spark: Why Bigfoot?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Every great project starts with that moment when someone throws out a seemingly random idea that somehow clicks. We were brainstorming concepts for our own promotional video when someone in the office mentioned Bigfoot. Not as a joke, but as a genuine creative direction. There’s something universally appealing about the myth: mysterious, larger than life, and surprisingly relatable when you think about it. Plus, what Portland, Oregon based Digital Agency doesn’t love a good cryptid story?&lt;/p&gt;

&lt;p&gt;The more we discussed it, the more it made sense. Bigfoot could represent the elusive “perfect client” or embody the mysterious creative process itself. The concept had legs (big, hairy legs), and we decided to run with it. With our tight 72-hour deadline looming, we dove headfirst into the AI production pipeline.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Building the Foundation: Script and Concept Development&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Initially, we considered building out a complex N8N workflow to automate our content generation process. However, we quickly realized this would be overkill for our specific use case. When working under tight deadlines, we’ve found that the simplest approaches often work best, and ChatGPT’s direct interface would serve us just as well without the additional setup time.&lt;/p&gt;

&lt;p&gt;So, after discarding our initial fancy ideas, ChatGPT became our first stop. To benign, we fed it detailed information about SLIDEFACTORY. Our services, our studio personality, our target audience. Then we asked it to generate multiple concept outlines. The AI didn’t disappoint. Within minutes, we had a dozen different approaches, from documentary-style mockumentaries to sleek corporate presentations featuring our mythical protagonist.&lt;/p&gt;

&lt;p&gt;After reviewing the options, we found a direction that felt authentically us while leveraging Bigfoot’s inherent charm. But having a concept was just the beginning. We needed a script that could actually work within our technical constraints and timeline.&lt;/p&gt;

&lt;p&gt;This brought us back to ChatGPT, this time asking for multiple script variations based on our chosen concept. The AI generated everything from snappy 30-second spots to longer narrative pieces. We refined, combined, and iterated until we had something that felt right, a script that balanced humor with genuine information about our services, all delivered through our unlikely spokesperson.&lt;/p&gt;

&lt;p&gt;The collaborative process with AI felt surprisingly natural. Rather than replacing our creative instincts, ChatGPT became a brainstorming partner that never ran out of ideas. It helped us explore directions we might not have considered while keeping our core vision intact.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Designing Our Star: The Great Bigfoot Character Hunt&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;With our script locked, we needed to bring our character to life visually. This is where MidJourney entered the picture, and honestly, this phase became one of the most entertaining parts of the entire project.&lt;/p&gt;

&lt;p&gt;We started broad: What kind of Bigfoot were we creating? The classic forest-dwelling cryptid? A modern, tech-savvy influencer version? Someone in an obvious costume winking at the camera? MidJourney helped us explore every possibility, generating image after image as we refined our prompts.&lt;/p&gt;

&lt;p&gt;The iterations were fascinating. We saw Bigfoot in business suits, Bigfoot holding smartphones, Bigfoot that looked convincingly real, and Bigfoot that was obviously theatrical. Each generation taught us something about our character and helped us narrow down the personality we wanted to convey.&lt;/p&gt;

&lt;p&gt;Eventually, we landed on a design that struck the perfect balance: clearly Bigfoot, but with a contemporary, approachable quality that would work for our brand. The character had personality in his eyes and a presence that suggested he’d be comfortable on camera discussing slide presentations and creative services.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0d9oqy2o2bueva3mb4jv.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0d9oqy2o2bueva3mb4jv.jpg" alt="AI-generated scenes of Bigfoot being filmed and recorded for a commercial production experiment." width="799" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Finding the Voice: From Pixels to Personality&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Once we had our visual locked down, we faced an interesting challenge: What should Bigfoot sound like? We took our final character image back to ChatGPT and asked it to describe the voice that would match this particular Bigfoot. The AI analyzed the visual elements and suggested characteristics: warm but authoritative, slightly rustic but intelligent, with just enough gravitas to be taken seriously.&lt;/p&gt;

&lt;p&gt;Armed with this description, we headed to ElevenLabs to find our voice actor. The platform’s V3 Alpha compatible voices offered impressive options, and we auditioned several candidates against our character description. When we found the right match, it was immediately obvious, the voice fit our Bigfoot like a perfectly tailored suit.&lt;/p&gt;

&lt;p&gt;Using ElevenLabs V3 Alpha, we were able to generate our voiceover with remarkable control over emphasis and delivery. The technology allowed us to direct the performance, adding natural inflections and emotional beats that brought the script to life. It was like having a voice actor who never got tired and could nail every take.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff0w42rj987w3zr69zqfi.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff0w42rj987w3zr69zqfi.jpg" alt="ElevenLabs text-to-speech interface showing the Bigfoot script and voice model settings used for AI voice generation." width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Scene by Scene: The Visual Production Pipeline&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;With our character and voice established, we needed to create the world around him. ChatGPT helped us break down our script into detailed scene descriptions, providing the kind of specific visual direction that would translate well to our various AI tools.&lt;/p&gt;

&lt;p&gt;This is where things got really interesting from a production standpoint. We experimented with multiple platforms: ChatGPT for conceptual development, Veo3 for video generation, and MidJourney for static scenes. Each tool had its strengths, and finding the right application for each became part of our workflow optimization.&lt;/p&gt;

&lt;p&gt;MidJourney consistently delivered the strongest starting points for our scenes. The image quality was exceptional, and the platform’s ability to interpret our detailed prompts gave us reliable results. However, we quickly discovered that MidJourney’s animation features didn’t provide the level of control we needed for professional work.&lt;/p&gt;

&lt;p&gt;Veo3 offered better animation control, but our licensing restrictions meant we couldn’t feed in our custom images as starting points. This led to inconsistent results that didn’t match our established visual style. We needed a solution that could bridge the gap between MidJourney’s excellent stills and the motion we required.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Animation Solution: Runway Gen-4 Takes Center Stage&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Runway Gen-4 became our secret weapon for bringing static scenes to life. By feeding our MidJourney images into Runway, we could generate sophisticated animations while maintaining visual consistency with our character design. The platform excelled at creating atmospheric background movement, subtle character animations, and environmental effects that elevated our scenes from static to cinematic.&lt;/p&gt;

&lt;p&gt;While Runway was undeniably powerful, we quickly learned that AI animation comes with its own set of challenges. Results were often unpredictable, some animations turned out stiff and unrealistic, while others simply didn’t match our input images or creative vision. It became a process of iteration, requiring multiple attempts to achieve shots that truly worked for our story. What looked promising in our static image didn’t always translate effectively into motion.&lt;/p&gt;

&lt;p&gt;Still, for scenes without dialogue, Runway Gen-4 proved to be our go-to solution despite these hurdles. The tool’s ability to interpret and extend our visual concepts while maintaining quality made it indispensable for our tight timeline. We could generate multiple animation options quickly, then select the best results from several attempts for our final cut, a workflow that became essential given the unpredictable nature of the output.&lt;/p&gt;

&lt;p&gt;However, speaking scenes required a different approach entirely.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz3pjv5bni3wly033fc00.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz3pjv5bni3wly033fc00.jpg" alt="Runway Gen-4 interface generating an animated Bigfoot forest scene from a static AI image." width="799" height="427"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Bringing Bigfoot to Life: HeyGen Avatar IV&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;For the portions of our AI commercial where Bigfoot needed to speak directly to the camera, we turned to HeyGen Avatar IV. This platform allowed us to upload our ElevenLabs-generated voiceover and create synchronized character animations that felt natural and engaging.&lt;/p&gt;

&lt;p&gt;The level of control HeyGen provided was impressive. We could direct our character’s performance, adjusting gestures, expressions, and timing to match our creative vision. The technology seamlessly integrated our custom voice with believable character animation, creating moments that felt genuinely conversational rather than obviously AI-generated.&lt;/p&gt;

&lt;p&gt;Watching our static Bigfoot character come to life and deliver our script with personality and charm was one of those magical production moments that reminded us why we love this work.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3peutldbx1afbm7ocy2t.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3peutldbx1afbm7ocy2t.jpg" alt="HeyGen Avatar IV interface generating a talking Bigfoot video from an uploaded voiceover file." width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Post-Production: Bringing It All Together&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;With our visual elements generated, we entered familiar territory: post-production. Using AI-powered tools in Photoshop, we refined our MidJourney-created images: expanding edges, enhancing details, and adjusting composition to ensure consistency across scenes.&lt;/p&gt;

&lt;p&gt;An interesting discovery emerged during this phase: certain elements, particularly signs with text or written messages, were actually easier to create using ChatGPT than MidJourney. Our workflow evolved into a hybrid approach: we’d generate the base image in MidJourney, then describe the scene and desired edits to ChatGPT for clearer, more contextually accurate text elements. These ChatGPT-generated components were then seamlessly integrated back into our Photoshop workflow, where we blended everything together for a polished final look.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Refining and Integrating Elements&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once all assets were refined, we moved into Premiere Pro, where traditional editing skills became crucial in tying our AI-generated elements into a cohesive final cut. The assembly process felt remarkably similar to conventional production workflows, just with different source materials. Our AI-generated elements cut together naturally, and the familiar rhythm of editing allowed us to craft the pacing and emotional beats essential for an effective commercial.&lt;/p&gt;

&lt;p&gt;For the soundtrack, time constraints led us away from AI music generation and toward Envato’s proven library. This decision reinforced an important lesson: sometimes the hybrid approach, combining AI innovation with established, reliable resources, produces the strongest results.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Power of Hybrid Workflows&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;What struck us most was how naturally our AI-assisted workflow integrated with traditional post-production techniques. The technology enhanced our creative process without replacing the fundamental storytelling skills that make commercial production effective.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Verdict: 72 Hours Well Spent&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Did we succeed in creating a compelling commercial entirely with AI tools in just three days? Absolutely. But more importantly, we learned that AI isn’t about replacing traditional production skills, it’s about augmenting them in exciting ways.&lt;/p&gt;

&lt;p&gt;The technology allowed our Portland AI agency to explore creative directions we might never have considered, iterate rapidly without the usual resource constraints, and produce high-quality content on an aggressive timeline. However, success still required human creative judgment, technical problem-solving, and the kind of storytelling instincts that come from years of production experience.&lt;/p&gt;

&lt;p&gt;Our Bigfoot commercial proved that AI tools like MidJourney, ElevenLabs, Runway, and HeyGen are ready for professional creative work, but they’re most powerful when wielded by people who understand both the possibilities and the limitations. Here in the Pacific Northwest, we’re seeing more agencies embrace this hybrid approach, combining AI innovation with traditional creative expertise.&lt;/p&gt;

&lt;p&gt;As we wrapped up our 72-hour sprint, one thing was clear: Bigfoot might be mythical, but the potential of AI tools like MidJourney, ElevenLabs, Runway, and HeyGen in creative production is very real. For agencies ready to embrace this technology, the future isn’t human versus AI: it’s human with AI, and that future is incredibly exciting.&lt;/p&gt;

&lt;p&gt;‍&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/31aTovFOIaA" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;‍&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>seo</category>
      <category>marketing</category>
    </item>
    <item>
      <title>Why Your AI Automation Keeps Failing (And What LangGraph Does Differently)</title>
      <dc:creator>Mark Nguyen</dc:creator>
      <pubDate>Sat, 14 Nov 2026 00:51:17 +0000</pubDate>
      <link>https://dev.to/mark-slidefactory/why-your-ai-automation-keeps-failing-and-what-langgraph-does-differently-1706</link>
      <guid>https://dev.to/mark-slidefactory/why-your-ai-automation-keeps-failing-and-what-langgraph-does-differently-1706</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on the &lt;a href="https://www.theslidefactory.com/post/why-your-ai-automation-keeps-failing-and-what-langgraph-does-differently" rel="noopener noreferrer"&gt;SLIDEFACTORY blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You’ve seen the demo. An AI agent that drafts emails, pulls data, researches competitors, and drops a clean report into Slack, all without anyone touching a keyboard. It’s impressive. It’s fast. It works perfectly under the conditions it was built in.&lt;/p&gt;

&lt;p&gt;Then it goes live.&lt;/p&gt;

&lt;p&gt;Users give it messy inputs. Something times out. The AI produces a confident wrong answer and nobody catches it until a client does. The workflow that wowed the room six weeks ago now needs a person hovering over it full-time, which defeats the whole point.&lt;/p&gt;

&lt;p&gt;This isn’t a niche problem. MIT’s 2025 study on AI implementation found that 95% of AI pilots deliver zero measurable business impact. Not low ROI, zero. And in almost every case, the model wasn’t the problem. The architecture underneath it was.&lt;/p&gt;

&lt;p&gt;So what’s actually breaking? And what does it look like when it’s built to hold up? That’s what this article is about.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s Actually Failing
&lt;/h2&gt;

&lt;p&gt;Most AI workflow failures aren’t random. They cluster around the same handful of problems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The workflow forgets where it was.&lt;/strong&gt; When a multi-step AI process gets interrupted (a timeout, an error, a server restart) most basic implementations start over from scratch or fail silently. There’s no memory of what already happened. A seven-step process that fails at step five has to begin again at step one, or it just stops.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real processes don’t move in straight lines.&lt;/strong&gt; A customer support workflow might need to check a knowledge base, draft a response, escalate if the issue is sensitive, wait for a manager’s approval, and then send. Most early AI builds model this as a simple chain: A then B then C. When reality requires a branch (“if X, do Y instead of Z”) the chain breaks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Errors have nowhere to go.&lt;/strong&gt; A basic AI pipeline that hits a problem either crashes or silently produces bad output. There’s no built-in retry logic, no fallback, no way to route an exception to a human for review. So either the whole thing stops, or wrong work gets done without anyone knowing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You can’t see what’s happening.&lt;/strong&gt; When something goes wrong in an AI workflow, figuring out which step failed, why, and what the AI was working with at that moment is often impossible. You know the output was wrong. You don’t know where it went wrong.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The demo environment wasn’t real.&lt;/strong&gt; Demo data is clean and predictable. Demo users are patient. Demo load is low. Production is the opposite of all three, and most initial AI builds aren’t designed for it.&lt;/p&gt;

&lt;p&gt;These aren’t technology failures. They’re architecture failures. The AI could do the job, but nobody built the scaffolding required to make it reliable.&lt;/p&gt;

&lt;h2&gt;
  
  
  What “Built Right” Actually Looks Like
&lt;/h2&gt;

&lt;p&gt;The tools that address this most directly are &lt;a href="https://www.langchain.com" rel="noopener noreferrer"&gt;LangChain&lt;/a&gt; and LangGraph, two frameworks from the same team that solve different parts of the problem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LangChain&lt;/strong&gt; is the toolkit. It handles the connective tissue: linking an AI model to your data sources, your APIs, your databases. It gets a working prototype built fast, which is genuinely useful. You want to see something running early so you can evaluate whether the approach is right before committing to a full build.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.langchain.com/langgraph" rel="noopener noreferrer"&gt;&lt;strong&gt;LangGraph&lt;/strong&gt;&lt;/a&gt; is what you add when the prototype needs to become a real system. It’s an orchestration layer that controls how the AI workflow actually runs: how it moves between steps, what it remembers, what it does when something goes wrong, and where humans need to be involved.&lt;/p&gt;

&lt;p&gt;The practical difference looks like this:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Situation&lt;/th&gt;
&lt;th&gt;LangChain Alone&lt;/th&gt;
&lt;th&gt;With LangGraph&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Simple chatbot or document Q&amp;amp;A&lt;/td&gt;
&lt;td&gt;Works fine&lt;/td&gt;
&lt;td&gt;Overkill&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multi-step workflow with decision points&lt;/td&gt;
&lt;td&gt;Gets complicated fast&lt;/td&gt;
&lt;td&gt;Built for this&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Workflow needs to pause for human approval&lt;/td&gt;
&lt;td&gt;Requires custom workarounds&lt;/td&gt;
&lt;td&gt;Built-in&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Server restarts mid-task&lt;/td&gt;
&lt;td&gt;State is lost&lt;/td&gt;
&lt;td&gt;Picks up exactly where it left off&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multiple AI agents working together&lt;/td&gt;
&lt;td&gt;Brittle to coordinate&lt;/td&gt;
&lt;td&gt;Handled natively&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Something breaks and you need to know why&lt;/td&gt;
&lt;td&gt;Hard to diagnose&lt;/td&gt;
&lt;td&gt;Full execution history available&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Most workflows that are simple in a demo end up in the right column once they hit real conditions. That’s not a reason to over-engineer from day one, it’s a reason to know what you’re getting into and plan accordingly.&lt;/p&gt;

&lt;h2&gt;
  
  
  The One Problem That Breaks Everything: Memory
&lt;/h2&gt;

&lt;p&gt;If there’s a single thing to understand about why AI workflows fail in production, it’s this: most of them have no persistent memory between steps.&lt;/p&gt;

&lt;p&gt;Think of it like an employee who forgets everything the moment they look away from the screen. Every step in the workflow starts from zero. The AI doesn’t remember what the previous step produced, what decisions were made, or where in the process it was when something interrupted it.&lt;/p&gt;

&lt;p&gt;According to the &lt;a href="https://www.langchain.com/state-of-agent-engineering" rel="noopener noreferrer"&gt;LangChain State of Agent Engineering report&lt;/a&gt;, durability and state management are the top production challenges teams face in 2026, and it’s exactly what LangGraph’s automatic checkpointing is built to address. Every time the workflow moves from one step to the next, the current state is saved. If anything interrupts the process (a timeout, a crash, a deliberate pause) the workflow can resume from exactly that point. Same context. Same position. Nothing lost.&lt;/p&gt;

&lt;p&gt;For workflows that run for minutes or hours, or that span multiple sessions with a user, this isn’t optional. It’s the difference between a system that works in the real world and one that only works in ideal conditions.&lt;/p&gt;

&lt;h2&gt;
  
  
  When the AI Should Stop and Ask
&lt;/h2&gt;

&lt;p&gt;One of the most common architecture mistakes we see is building AI workflows that are designed to run to completion without any human input. That works fine for low-stakes, fully automatable tasks. It’s the wrong design for almost anything that touches a customer, a contract, or a decision with real consequences.&lt;/p&gt;

&lt;p&gt;Real business processes have checkpoints. A workflow that researches a lead and drafts an outreach email probably shouldn’t send that email automatically, a person should review it first. A workflow that processes invoices might handle 90% of them automatically, but flag the outliers for human review before anything gets paid.&lt;/p&gt;

&lt;p&gt;LangGraph has built-in support for this pattern. The workflow can pause at any point, hand off to a person for review or approval, and then resume from exactly that point once the human has weighed in. The AI handles the volume. The human handles the judgment calls.&lt;/p&gt;

&lt;p&gt;This pattern shows up consistently in well-built marketing and operations workflows, systems that run autonomously most of the time, but route edge cases to a person automatically rather than guessing. The result is teams that actually trust the output, because they know the AI isn’t making calls it shouldn’t be making on its own.&lt;/p&gt;

&lt;h2&gt;
  
  
  When One AI Isn’t the Right Answer
&lt;/h2&gt;

&lt;p&gt;For straightforward workflows, a single AI handling everything is fine. For more complex processes, it’s often the wrong architecture.&lt;/p&gt;

&lt;p&gt;A single AI handling research, quality review, drafting, routing, and approval logic all at once ends up with a bloated context window, inconsistent results, and debugging that’s nearly impossible. The more you ask one AI to juggle, the worse it does at each individual thing.&lt;/p&gt;

&lt;p&gt;The better pattern for complex processes is to break the work into specialized agents, each with a clear job. One handles research. One drafts. One reviews for quality before anything leaves the system. LangGraph coordinates them: when the research step finishes, the output gets routed to the drafting step automatically. If the review step flags a problem, it goes back for revision instead of moving forward.&lt;/p&gt;

&lt;p&gt;This produces better outputs, makes the system easier to debug, and lets you improve one part of the workflow without touching the rest. LangGraph’s &lt;a href="https://github.com/langchain-ai/langgraph" rel="noopener noreferrer"&gt;open-source repository on GitHub&lt;/a&gt; includes working examples of multi-agent patterns you can reference directly.&lt;/p&gt;

&lt;h2&gt;
  
  
  So Where Does That Leave You?
&lt;/h2&gt;

&lt;p&gt;If you’ve tried AI automation and hit a wall: tools that worked in the demo but required constant babysitting in practice, workflows that failed in ways nobody could diagnose, results too inconsistent to trust, the problem almost certainly wasn’t the AI model. It was the architecture.&lt;/p&gt;

&lt;p&gt;The teams getting durable results from AI automation in 2026 aren’t the ones using the most tools. They’re the ones that built their workflows with state management, human checkpoints, and real error handling, the infrastructure that makes AI reliable rather than just impressive.&lt;/p&gt;

&lt;p&gt;LangGraph is a powerful framework, but it’s not a drag-and-drop tool. Getting it right takes architectural thinking alongside the technical implementation, and knowing which tool is actually the right fit before you start building.&lt;/p&gt;

&lt;p&gt;How are you handling state and human review in your own agent workflows? I’d like to hear what’s worked and what hasn’t.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
