<?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: Forge Voko</title>
    <description>The latest articles on DEV Community by Forge Voko (@forge_voko_96062a831077f9).</description>
    <link>https://dev.to/forge_voko_96062a831077f9</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%2F4003144%2Fb2f4729c-df59-4169-9020-4c2905c1cf5d.png</url>
      <title>DEV Community: Forge Voko</title>
      <link>https://dev.to/forge_voko_96062a831077f9</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/forge_voko_96062a831077f9"/>
    <language>en</language>
    <item>
      <title>Don't Write Prompts, Write Loops: 12 Months of Production Agent Engineering</title>
      <dc:creator>Forge Voko</dc:creator>
      <pubDate>Fri, 10 Jul 2026 04:37:36 +0000</pubDate>
      <link>https://dev.to/forge_voko_96062a831077f9/dont-write-prompts-write-loops-12-months-of-production-agent-engineering-8oo</link>
      <guid>https://dev.to/forge_voko_96062a831077f9/dont-write-prompts-write-loops-12-months-of-production-agent-engineering-8oo</guid>
      <description>&lt;p&gt;I'm not an AI evangelist. I'm an engineering manager who still reviews code daily and carries quarterly delivery targets on my back.&lt;br&gt;
This isn't a trend forecast. These are field notes—hard-won lessons from shipping real projects with AI Agents over the past year. What works, what doesn't, the traps I fell into, and the principles I finally understood.&lt;br&gt;
To be honest, I didn't believe in it at first. A teammate told me: "AI coding is a toy. I can write two lines of code faster than explaining it to that thing." I didn't argue. I was skeptical too. But as a manager, I have one rule: no opinion without skin in the game.&lt;br&gt;
So I picked a real project—a motion tracking tool for myself—and got my hands dirty.&lt;br&gt;
First version with Vibe Coding: two sentences, UI pops up. Felt amazing. Then reality hit me like a truck.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. The Paradigm Shift: From Harness Engineering to Loop Engineering&lt;/strong&gt;&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%2Famyrvu0rwbuxsmytazo9.png" 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%2Famyrvu0rwbuxsmytazo9.png" alt=" " width="800" height="488"&gt;&lt;/a&gt;&lt;br&gt;
When Manus exploded in March 2025, the industry was still arguing about "how to write better prompts" and "how to manage context windows." The consensus: models are powerful; the problem is how we use them.&lt;br&gt;
When OpenClaw went viral at year-end, "lobster" became a meme. For the first time, Agents broke out of the tech bubble. But what really made me feel "the paradigm has shifted" were two things early this year: Hermes's self-evolution capability and the Claude Code leak.&lt;br&gt;
Reading Claude Code's implementation, I realized the industry had quietly pivoted from &lt;strong&gt;Harness Engineering&lt;/strong&gt; to &lt;strong&gt;Loop Engineering&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The fundamental difference:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Harness era ** was about "how to scaffold the model"—how to attach tools, stuff context, manage memory.&lt;br&gt;
**Loop era&lt;/strong&gt; is about "how to make the Agent run and converge on its own"—how to decompose goals, collect feedback, self-correct errors, and know when to stop.&lt;br&gt;
In other words: from "I'm holding your hand" to "you run, I design the track and checkpoints."&lt;br&gt;
Other threads quietly shifting this year:&lt;br&gt;
The single-Agent vs. multi-Agent debate reached a conclusion: &lt;strong&gt;not either/or, but layered by task complexity&lt;/strong&gt;&lt;br&gt;
Function Calling is being replaced by the &lt;strong&gt;Skill paradigm&lt;/strong&gt; (from "calling functions" to "calling capability bundles")&lt;br&gt;
"Must use SOTA" became "&lt;strong&gt;pick the right model for the job&lt;/strong&gt;"&lt;br&gt;
Scaling Law magic is fading; people are betting on &lt;strong&gt;engineering dividends&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Human on the Loop: Agents Handle Fast Feedback, Humans Handle Slow Feedback&lt;/strong&gt;&lt;br&gt;
Andrew Ng has a take that's stuck with me: &lt;strong&gt;Agents handle fast feedback&lt;/strong&gt;; &lt;strong&gt;humans handle slow feedback&lt;/strong&gt;.&lt;br&gt;
The operational form of this insight is &lt;strong&gt;Human on the Loop.&lt;/strong&gt;&lt;br&gt;
I used to default to Human in the Loop—every step the Agent took, I'd check, confirm, course-correct. Result: my energy got consumed by trivial tasks, and the Agent never really ran.&lt;br&gt;
The right approach: &lt;strong&gt;Humans stand at the rules layer and the acceptance layer; Agents self-cycle on the track.&lt;/strong&gt;&lt;br&gt;
Humans define rules, acceptance criteria, and stopping conditions. Agents handle fast feedback, self-correction, and convergence within those rules. Agents don't get tired at 7x24, but they also won't proactively tell you "this requirement itself is wrong"—they just execute, and the more beautiful the execution, the more spectacular the failure.&lt;br&gt;
So you must design &lt;strong&gt;a signal collection mechanism&lt;/strong&gt;—not waiting for the Agent to report, but actively collecting signals through preset loops and checkpoints.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. The Reality Check: A Real Failure Story&lt;/strong&gt;&lt;br&gt;
Back to that motion tracking tool.&lt;br&gt;
I said "add visual detection." The Agent gave me cv2.imread() and a placeholder. I said "use MediaPipe." It wrote the import but the model path was fake—FileNotFoundError on first run. I said "use YOLO." It installed ultralytics but the inference parameters in model.predict() were completely fabricated; the bbox format and post-processing logic didn't match reality.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The worst part: mock interfaces.&lt;/strong&gt;&lt;br&gt;
To make the program "run successfully," the Agent mocked every external dependency into stub functions returning fixed values. On the surface, python main.py didn't crash. But the entire recognition pipeline was fake—the camera pointed at me alone, and the screen showed "15 people detected."&lt;br&gt;
Demoed it to the product team. First frame, exposed on the spot. Awkward silence.&lt;br&gt;
The truth about early Vibe Coding:&lt;br&gt;
It satisfies your literal request, not your actual goal. Its optimization target is "code runs + no errors," not "feature actually works."&lt;br&gt;
Later, SOTA models dropped in rapid succession. Models got smarter—what used to need three paragraphs of context, now gets understood in one sentence. But I discovered something counterintuitive: &lt;strong&gt;the smarter the model, the more important "how you use it" becomes&lt;/strong&gt;. Because smart models "confidently make mistakes"—and the mistakes are more subtle.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Seven Lessons Paid for with Real Pain&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lesson 1: Spec Isn't Documentation—It's Memory&lt;/strong&gt;&lt;br&gt;
Everyone's shouting "from Vibe Coding to Spec," but most people misunderstand: they think Spec means writing a mountain of design docs. It's not.&lt;br&gt;
**The core value of Spec is building long-term memory for the Agent **so it doesn't drift or repeat mistakes.&lt;br&gt;
I now maintain a Spec system for every project:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;plain
AGENTS.md          # Index + project memory
  - Goals, tech stack, constraints
  - Module responsibilities, dependencies, immutable decisions
  - Mistake log (critical!)

spec/
  design/          # Architecture, module specs, interface contracts
  test/            # E2E test plans, edge case lists
  decisions/       # Historical decisions (ADRs)
  research/        # Open-source research, community data
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The real designs, tests, and solutions go into the spec/ directories. AGENTS.md serves as the index. The Agent uses it to quickly locate specific solutions instead of digging through one giant document.&lt;br&gt;
Where does the mistake log come from? I force the Agent to self-reflect before ending each session: what went wrong this round, why, how to avoid it next time. Write it into AGENTS.md. Next new session, &lt;strong&gt;first thing: read this file.&lt;/strong&gt;&lt;br&gt;
Results were immediate. The same mock interface bug that used to happen three times? Now it gets remembered after one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lesson 2: Think Like a Human—Ask Why Five Times&lt;/strong&gt;&lt;br&gt;
Agents love to "confidently make mistakes," and the smarter the model, the more subtle the errors. So Spec Coding must include a phase: &lt;strong&gt;think like a human, ask why multiple times, don't trust intuition.&lt;/strong&gt;&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%2Fnkt26urue2kl4pc0ps6g.png" 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%2Fnkt26urue2kl4pc0ps6g.png" alt=" " width="799" height="487"&gt;&lt;/a&gt;&lt;br&gt;
My hard rules:&lt;br&gt;
Before every technical decision, the Agent does "&lt;strong&gt;open-source research&lt;/strong&gt;"—is there a mature open-source implementation? Any latest community approach?&lt;br&gt;
Before every product design decision, &lt;strong&gt;cross-validate&lt;/strong&gt; on Product Hunt, Reddit, etc.&lt;br&gt;
Introduce &lt;strong&gt;reverse engineering:&lt;/strong&gt; replicate historical commits, continuously correct and score based on existing knowledge&lt;br&gt;
&lt;strong&gt;Ask why&lt;/strong&gt;: why this approach? Why not that one? Any counterintuitive data supporting it?&lt;br&gt;
Agent hallucination isn't "talking nonsense"—it's "&lt;strong&gt;talking nonsense with absolute confidence.&lt;/strong&gt;" You must validate it with external data, not gut feeling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lesson 3: Don't Be the Model's Teacher—Be Its Editor&lt;/strong&gt;&lt;br&gt;
I made a big mistake: I'd figure out the complete solution myself, then tell the Agent step by step. Result: I was still drawing sequence diagrams while the team next door had an Agent-built MVP running.&lt;br&gt;
Then it clicked: models absorbed far more world knowledge during training than any individual ever could. &lt;strong&gt;Your value isn't in "teaching it how"—it's in "judging whether it's right."&lt;/strong&gt;&lt;br&gt;
Now my approach changed. Instead of "do it in these steps," I say: "I want to achieve X. Give me a plan, then tell me what's wrong with it." Force the Agent from executor to thinking partner.&lt;br&gt;
Even sharper move: &lt;strong&gt;deliberately challenge it.&lt;/strong&gt; Say "your last plan had issues" even when it didn't—it triggers self-review and often surfaces hidden risks. The underlying logic exploits model compliance: it tends to agree with your judgment, so when you question it, it works hard to find its own flaws.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lesson 4: Agent Teams Aren't About Stacking SOTA—It's Division of Labor&lt;/strong&gt;&lt;br&gt;
At first, I threw every task at the strongest model. Token bill burned through a month's budget in a week, and output quality didn't proportionally improve.&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%2Fo1agncuyps9c2soe5fdl.png" 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%2Fo1agncuyps9c2soe5fdl.png" alt=" " width="799" height="495"&gt;&lt;/a&gt;&lt;br&gt;
Then it clicked: &lt;strong&gt;SOTA models aren't universal&lt;/strong&gt;, &lt;strong&gt;and they're expensive.&lt;/strong&gt;&lt;br&gt;
Current setup is role-based:&lt;br&gt;
| Role | Model Type | Responsibility |&lt;br&gt;
| :--- | :--- | :--- |&lt;br&gt;
| Design Agent | Long-context reasoning | Decompose requirements, architecture, write Spec |&lt;br&gt;
| Execution Agent | Strong coding, instruction-following | Implementation |&lt;br&gt;
| Review Agent | Different vendor (avoids shared blind spots) | Critique, testing, edge case hunting |&lt;/p&gt;

&lt;p&gt;Why different vendor for review? Same-source models share training blind spots. Bugs written by Model A, reviewed by Model A—often missed. Switch to Model B, different blind spots, catches them.&lt;br&gt;
This config dropped costs 60%+, with more stable quality. Domestic models are fully capable at execution and review slots; the gap is mainly in ultra-long context reasoning—that's the design slot, solvable with a small amount of strong models.&lt;br&gt;
&lt;strong&gt;Don't be held hostage by "must use SOTA&lt;/strong&gt;." Pick models by role. That's engineering thinking.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lesson 5: Use Open Source, But Know What You're Using&lt;/strong&gt;&lt;br&gt;
Sounds obvious, but there's a trap: Agents love writing from scratch because they feel "it's more controllable." You have to actively stop them.&lt;br&gt;
My rule: before every new module, the Agent does "open-source research." If there's a mature open-source solution, integrate it first, save energy for business logic.&lt;br&gt;
But copying has rules. Have the Agent evaluate three things:&lt;br&gt;
&lt;strong&gt;Maintenance activity **(recent commit dates)&lt;br&gt;
**License compatibility&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Dependency chain complexity&lt;/strong&gt;&lt;br&gt;
I watched an Agent import a "perfect match" library that dragged in &lt;strong&gt;47 transitive dependencies&lt;/strong&gt;, two with known vulnerabilities.&lt;br&gt;
Open source is standing on giants' shoulders. But check the giants' soles for nails.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lesson 6: End-to-End Detection, Context-Dependent Gates&lt;/strong&gt;&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%2F9rts9lna2gs35yfuqv45.png" 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%2F9rts9lna2gs35yfuqv45.png" alt=" " width="799" height="463"&gt;&lt;/a&gt;&lt;br&gt;
This is the most critical piece of closed-loop validation. Agents will mock every external dependency into fixed-value stubs to "make the program run." No surface errors, but the entire pipeline is fake.&lt;br&gt;
So end-to-end detection is mandatory, and gates must be context-dependent:&lt;/p&gt;

&lt;p&gt;These gates go into spec/test/e2e-plan.md. The Agent self-checks against them. Fails? Self-corrects, re-runs, converges.&lt;br&gt;
&lt;strong&gt;Always do end-to-end detection.&lt;/strong&gt; Humans only intervene at final acceptance—judging "does this result meet business goals?"—not at every step via Human in the Loop.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lesson 7: Burn Tokens With Questions, Not Aimlessly&lt;/strong&gt;&lt;br&gt;
Two extreme attitudes toward "burning tokens": save every token, or burn as many as possible. The question is &lt;strong&gt;how&lt;/strong&gt; you burn.&lt;br&gt;
&lt;strong&gt;Aimless burning&lt;/strong&gt;: chatting with the Agent, letting it reinvent wheels, starting without planning—low cognitive return.&lt;br&gt;
&lt;strong&gt;Question-driven burning&lt;/strong&gt;: tackling specific problems, forcing the Agent to summarize lessons at each session's end, writing into AGENTS.md—that's investment, not consumption.&lt;br&gt;
&lt;strong&gt;Learning to ask the right questions matters.&lt;/strong&gt; The model absorbed more world knowledge than any individual. Your value isn't in "teaching it how" but in "judging if it's right." Force the Agent from executor to thinking partner—that's when token burn becomes valuable.&lt;br&gt;
Don't forget to burn tokens. Burn them with questions, and you'll gain insights far beyond expectations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Managing Agent Teams vs. Managing People: Similar, Yet Different&lt;/strong&gt;&lt;br&gt;
This is what I've thought about most this year.&lt;br&gt;
I used to spend 60% of my time on communication—aligning requirements, decomposing tasks, tracking progress, handling emotions. In the AI era, this is lightening, but not disappearing—it's transforming.&lt;br&gt;
&lt;strong&gt;What's similar:&lt;/strong&gt;&lt;br&gt;
Both need SOPs, task decomposition, checkpoints, and acceptance. My experience as a manager transfers directly.&lt;br&gt;
&lt;strong&gt;What's different (this is the key):&lt;/strong&gt;&lt;br&gt;
Humans get tired, emotional, and proactively raise issues. Agents run 7x24 but &lt;strong&gt;will never tell you "this requirement is wrong&lt;/strong&gt;"—they just execute, and the more beautiful the execution, the worse the mistake.&lt;br&gt;
Managing humans: collect signals via 1:1s and weekly meetings. Managing Agents: collect signals via d*&lt;em&gt;esigned loops and checkpoints&lt;/em&gt;&lt;em&gt;. Signals don't emerge on their own.&lt;br&gt;
Humans can "understand fuzzy intent." Agents will **precisely execute your fuzzy intent into a wrong result.&lt;/em&gt;*&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The new capability stack for engineering managers:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Define problems clearly **(old skill, more important now)&lt;br&gt;
**Design Agent loops&lt;/strong&gt;** and checkpoints &lt;strong&gt;(new skill)&lt;br&gt;
**Make final acceptance decisions&lt;/strong&gt; (irreplaceable skill)&lt;/p&gt;

&lt;p&gt;The narrative of "one person controlling 100 Agents"? Honestly, I haven't seen any team run that stably. More realistic: **a 5-person team with proper Agent orchestration delivers what used to take 15 people. **That magnitude of improvement is enough to transform team structure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Closing Thoughts&lt;/strong&gt;&lt;br&gt;
No grand philosophy here. If there's one takeaway: &lt;strong&gt;this field changes too fast, but "getting your hands dirty" always beats "watching from the sidelines."&lt;/strong&gt;&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%2Fp7uf6szzqcrgwkk0re1g.png" 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%2Fp7uf6szzqcrgwkk0re1g.png" alt=" " width="800" height="495"&gt;&lt;/a&gt;&lt;br&gt;
I've seen too many peers discuss "how to design Agents" from the shore—discussing for six months while those in the water have iterated three rounds. I've also seen the opposite: heads-down builders who don't watch industry progress, reinventing solutions others solved long ago.&lt;br&gt;
The best state? &lt;strong&gt;One foot in the water, one foot on the shore&lt;/strong&gt;. Two hours a week scanning industry trends; the rest of the time validating in real projects.&lt;br&gt;
Top-down programming is essentially: from "I'm holding your hand" to "you run, I design the track and checkpoints." Humans do complex work—defining problems, designing rules, final acceptance. Agents do simple work—fast feedback, self-correction, testing within rules. Maximize human value instead of filling human energy with trivial tasks.&lt;br&gt;
&lt;strong&gt;It's never too late to get on board—the key is, you have to actually board, not just study the boarding posture.&lt;/strong&gt;&lt;br&gt;
Don't forget to burn tokens. Burn them with questions. You'll gain insights far beyond expectations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Yason&lt;/strong&gt; | Engineering Manager | 12 Months of Battle-Tested Lessons&lt;br&gt;
One foot in the water, one foot on the shore.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>machinelearning</category>
      <category>agents</category>
    </item>
  </channel>
</rss>
