惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Vercel News
Vercel News
博客园 - 司徒正美
大猫的无限游戏
大猫的无限游戏
Last Week in AI
Last Week in AI
V
Visual Studio Blog
阮一峰的网络日志
阮一峰的网络日志
小众软件
小众软件
宝玉的分享
宝玉的分享
Apple Machine Learning Research
Apple Machine Learning Research
美团技术团队
WordPress大学
WordPress大学
博客园 - 聂微东
人人都是产品经理
人人都是产品经理
罗磊的独立博客
The Cloudflare Blog
V
V2EX
月光博客
月光博客
有赞技术团队
有赞技术团队
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
GbyAI
GbyAI
博客园 - 【当耐特】
T
Tailwind CSS Blog

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Most agentic workflows are just while loops with vibes
Aditya Agarwal · 2026-06-14 · via DEV Community

Each week I see a new “autonomous agent” demo in my feed, and each week it seems to be the same thing: a loop that calls an LLM, does not check anything important, and runs until the API key screams.

We need to talk about this. Because most of what people are calling "agentic workflows" are just while loops with vibes.

The Pattern Is Everywhere

You've seen the code. Maybe you've written it. I know I have.

It appears as shown in the image below:

while not done:
    result = call_llm(context)
    context = update_context(result)
    done = result.is_acceptable()  # narrator: most of the time, it's not

That seems_good_enough function is doing a lot of heavy lifting. In most repos I've poked through, it's either a hardcoded iteration cap or another LLM call asking "are we done yet?" Sometimes it's literally just max_retries -= 1.

That doesn't sound like an agent. It's more like a billing reminder with a ticking clock. 🔥

Why This Matters Right Now

The hype around agentic coding is intense. People are building "autonomous" systems that refactor code, write tests, and deploy features without human input. The promise is amazing.

The truth is more mundane. Token spend is on the rise everywhere and most of it is from agent loops with no clear, “done” condition. They spin. They retry. They rephrase the same prompt in hopes that the new answer will be the one that satisfies the prompt.

The Exit Condition Is the Whole Point

Here's the thing nobody wants to hear: the hard part of building an agent isn't the loop. What's difficult is to determine when the loop needs to stop.

→ A code-writing agent needs to know what "correct" means — tests pass, types check, linter is clean
→ A research agent needs to know what "sufficient" means — not "keep Googling forever"
→ A planning agent needs to know what "done" means — an actionable plan, not an infinite refinement spiral

If your exit strategy relies on the LLM declaring that it has finished, then well done, you've left the design of your system up to a token predictor with no understanding of what it means to be finished.

The Bar Should Be Higher

I'm not saying agents are fake. Real agentic systems exist and they're genuinely useful.

But they share one trait: crisp, verifiable exit conditions that don't depend on the model's self-assessment. Think tool-use results you can programmatically validate. You want external state changes that you can measure. You want explicit claims, not feelings.

What sets an agent apart from a while loop is accountability. An agent is aware of its success, while a while loop is only aware of running out of retries.

A Quick Gut Check

Before sending out your next agent, question yourself on three fronts:

→ Can I write a unit test for my exit condition without mocking the LLM?
→ If I removed the iteration cap, would this loop ever stop on its own?
→ Can I explain to a non-technical person what "done" means for this workflow?

If you answered no to any of those questions, then you don't have an agent. You have an expensive loop! Which is fine, loops are useful, just don't put "autonomous" in the paper. 😅

The Uncomfortable Truth

We are currently at a stage where the sample itself is the final product. It's simple to launch and raise funds based on a looping LLM call that creates impressive output in a screen recording.

Production is a whole other beast. Production means your agent is running at 3 AM and there is no one there to see if it got a little stuck and ate up your entire monthly token budget because it just kept trying to work on iteration two.

If you can't define your exit condition, you didn't build an agent. You built a billing event.

The most effective agent code I have seen consists mostly of mundane constructs like conditionals, validators, and state machines, with an LLM hidden somewhere inside them, and not the other way around. The smarts are not in the loop, but in the ability to get out of it. 🧠

So here's my question: What's the most creative exit condition you've built into an agent workflow — one that doesn't just ask the model "are we done?"

You have great ideas that I'd love to use.