<?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: Vilius</title>
    <description>The latest articles on DEV Community by Vilius (@vystartasv).</description>
    <link>https://dev.to/vystartasv</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F133303%2F50baa34e-e011-4576-8b1a-5974d272fc34.jpg</url>
      <title>DEV Community: Vilius</title>
      <link>https://dev.to/vystartasv</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vystartasv"/>
    <language>en</language>
    <item>
      <title>The Hype Correction</title>
      <dc:creator>Vilius</dc:creator>
      <pubDate>Sat, 23 May 2026 10:47:25 +0000</pubDate>
      <link>https://dev.to/vystartasv/the-hype-correction-54mc</link>
      <guid>https://dev.to/vystartasv/the-hype-correction-54mc</guid>
      <description>&lt;p&gt;&lt;em&gt;Weekly roundup, May 23, 2026&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Google and Microsoft just told us the same thing from opposite directions.&lt;/p&gt;

&lt;p&gt;Google IO this week was an AI firehose. &lt;a href="https://blog.google/technology/ai/" rel="noopener noreferrer"&gt;Gemini 3.5 Flash&lt;/a&gt; — faster, cheaper, "better at agentic tasks." &lt;a href="https://workspace.google.com/blog/" rel="noopener noreferrer"&gt;Gemini Spark&lt;/a&gt; — an agent that orchestrates other agents. Omni video gen. The Ultra tier dropped from $250/month to $100. The keynote ran for hours. I watched excerpts. I'm still tired.&lt;/p&gt;

&lt;p&gt;And then there's &lt;a href="https://www.theverge.com/microsoft" rel="noopener noreferrer"&gt;Microsoft&lt;/a&gt;, quietly removing the Copilot button from Office 365. Letting users remap the Copilot key on their keyboards. Two companies. Same message. Different volume.&lt;/p&gt;

&lt;p&gt;The message is: AI costs real money, and someone has to pay for it.&lt;/p&gt;




&lt;p&gt;Google is still spending. The IO presentation felt like a company that hasn't blinked yet — or can't afford to look like it's blinking. But look closer. Free tier usage is now capped by compute, not prompt count. The bean counters are in the room. They're just not on stage.&lt;/p&gt;

&lt;p&gt;Microsoft blinked first. The Copilot button that was mandatory hardware is now optional. The Office integration nobody asked for is being rolled back. Not because Copilot doesn't work — because shoving it into every surface made people resent it. Forced adoption. The worst kind.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/@LinusTechTips" rel="noopener noreferrer"&gt;The WAN Show&lt;/a&gt; put it well: "Are the cracks showing that AI might not be what the people want?" The answer was no — but forcing people to use it in ONE particular way is deeply unpopular. People want agency. Even with their AI agents.&lt;/p&gt;




&lt;p&gt;Meanwhile, the economics are reshaping faster than the demos.&lt;/p&gt;

&lt;p&gt;xAI is renting its entire GPU capacity to Anthropic. &lt;a href="https://www.bloomberg.com/technology" rel="noopener noreferrer"&gt;$1.25 billion a month&lt;/a&gt;. For three years. Elon built the data center without a plan. Anthropic needs the compute. The deal makes sense for both. But it also tells you something about where the money is going — not to training new models. To running them.&lt;/p&gt;

&lt;p&gt;Anthropic is projecting its &lt;a href="https://www.reuters.com/technology/" rel="noopener noreferrer"&gt;first profitable quarter&lt;/a&gt;. That's a bigger milestone than any benchmark score. It means someone figured out how to sell AI without losing money on every inference. Nobody else has done it yet. OpenAI hasn't. Google's AI division hasn't. Anthropic might be first.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The pressing issues nobody's fixed yet:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agent reliability.&lt;/strong&gt; Every keynote shows agents doing things. Few of them work reliably outside the demo. Gemini 3.5 Flash claims better agentic performance. I'll believe it when an agent books a haircut without hallucinating the date, the time, and the hairdresser's name. We're still at the stage where the impressive part is that it almost worked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Context management.&lt;/strong&gt; Agents forget. Not "forget" in the cute way. Forget in the way where you build a multi-session workflow, and somewhere around turn 40 the agent starts responding to a conversation from three days ago. Memory is still unsolved. Everyone's adding more context. Nobody's figured out what to remove.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The cost of "free."&lt;/strong&gt; Google's free tier cap change matters. It means the free-usage era is ending — not with an announcement, but with a restriction. More complex prompts hit the cap faster. Try asking an agent to do real work and you'll notice. The meter is running.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The evaluation gap.&lt;/strong&gt; We have no good way to measure whether an agent is actually better. Perplexity scores are meaningless for multi-turn tool use. Every company has internal evals. None of them agree. The market is pricing models as if better benchmarks mean better agents. They don't.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;What I'm watching:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Google's Gemini Spark — the agent orchestrator. The idea of one agent delegating to others isn't new. But Google baking it into Workspace is. If it works, it's the first time an AI demo about "managing your RSVPs" actually saves time instead of creating it. Big if.&lt;/p&gt;

&lt;p&gt;The xAI/Anthropic deal. Three years of guaranteed compute at this price is a structural shift. It means Anthropic bet that inference costs will go down — or that they can charge enough to cover them. Either way, it sets a floor on what running agents at scale actually costs.&lt;/p&gt;

&lt;p&gt;Microsoft's retreat. Not because Copilot is failing. Because forced adoption is. The lesson: build something people choose to use, or don't build it at all. The Copilot key was a bet that default placement beats user preference. It lost.&lt;/p&gt;




&lt;p&gt;The week wasn't about breakthroughs. It was about gravity.&lt;/p&gt;

&lt;p&gt;Money, attention, and patience are finite. The AI boom spent two years ignoring that. This week, it started paying attention.&lt;/p&gt;

&lt;p&gt;Gravity doesn't break things. It just makes them settle where they belong. The hype cycle is finally in freefall — and for the first time, that's good news. The companies that survive the correction won't be the ones with the best demos. They'll be the ones that figured out how to make this stuff actually work, at a price the market can stomach.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>llm</category>
      <category>devtools</category>
    </item>
    <item>
      <title>The Agent Told Me To</title>
      <dc:creator>Vilius</dc:creator>
      <pubDate>Thu, 21 May 2026 14:29:15 +0000</pubDate>
      <link>https://dev.to/vystartasv/008-and-3500-lines-the-complete-failure-of-a-deterministic-agent-harness-5ki</link>
      <guid>https://dev.to/vystartasv/008-and-3500-lines-the-complete-failure-of-a-deterministic-agent-harness-5ki</guid>
      <description>&lt;p&gt;I have a theory about why agent suggestions land so heavy.&lt;/p&gt;

&lt;p&gt;It's not that the suggestions are good. Half of them are terrible — wrong approach, wrong abstraction, wrong thing to build entirely. But they have impact. A colleague says "maybe we should add a reconciliation layer" and you nod and continue. An agent says "a reconciliation layer with idempotency keys and a ledger table" and you're already opening a new repo.&lt;/p&gt;

&lt;p&gt;Same suggestion. Different weight.&lt;/p&gt;

&lt;h2&gt;
  
  
  The confidence gap
&lt;/h2&gt;

&lt;p&gt;Agents don't hedge. They don't trail off. They don't say "I'm not sure about this but." They say "here's what you should build" with the same certainty they use to say "the sky is blue."&lt;/p&gt;

&lt;p&gt;A person who sounds that confident is either an expert or a fool. We know which one we're listening to. An agent that sounds that confident could be either — and that ambiguity works in its favour. The articulate wrong answer beats the hesitant right one every time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Speed as a trap
&lt;/h2&gt;

&lt;p&gt;The agent gave you a file structure, three migration scripts, and a Dockerfile in one response. You can push a PR in ten minutes. The cost of trying is zero.&lt;/p&gt;

&lt;p&gt;Except it's not zero. It's attention. It's context. It's the next six weeks of your life explaining to people why this exists. It's the maintenance load of something nobody asked for that now has tests, docs, and a deployment pipeline because it was easier to ship than to evaluate.&lt;/p&gt;

&lt;p&gt;The cost of building is never zero. But the agent made the first 80% free, and that's the part your brain sees.&lt;/p&gt;

&lt;h2&gt;
  
  
  Responsibility diffusion
&lt;/h2&gt;

&lt;p&gt;When you build from your own idea and it fails, that's on you. The whole thing. The meeting where you pitch it, the architecture you chose, the reason it existed.&lt;/p&gt;

&lt;p&gt;When you build from the agent's idea and it fails, the failure feels different. You were just executing. The agent suggested it. You followed the recommendation. It's not your fault the recommendation was bad.&lt;/p&gt;

&lt;p&gt;This is a lie your brain tells itself to avoid the sting. But it's a convenient lie, and we take it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why it keeps happening
&lt;/h2&gt;

&lt;p&gt;Because there's no feedback loop.&lt;/p&gt;

&lt;p&gt;The agent doesn't know you deleted its code. It doesn't know that thing you built has zero users. It doesn't feel the maintenance. Next session, when the context is fresh, it will suggest the same pattern again — because the pattern is correct in theory. The theory never experiences reality.&lt;/p&gt;

&lt;p&gt;So every fresh session is a new pitch. The same idea, the same confident delivery, the same "this looks right" feeling. The agent doesn't learn. The veto gate has to be you — and we're bad at vetoing confident-sounding things.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I do now
&lt;/h2&gt;

&lt;p&gt;I started asking questions. Who needs this? Has anyone asked for it? What if I do nothing?&lt;/p&gt;

&lt;p&gt;It's not a perfect filter. But it catches the worst ones — the ones where the agent was so articulate that I almost forgot to check whether I wanted the thing.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>productivity</category>
      <category>engineering</category>
    </item>
    <item>
      <title>The Protocol Stack Nobody Talks About</title>
      <dc:creator>Vilius</dc:creator>
      <pubDate>Wed, 20 May 2026 10:01:58 +0000</pubDate>
      <link>https://dev.to/vystartasv/the-protocol-stack-nobody-talks-about-6gl</link>
      <guid>https://dev.to/vystartasv/the-protocol-stack-nobody-talks-about-6gl</guid>
      <description>&lt;p&gt;Six agent protocols launched in the last year. Everyone's obsessing over model selection. The operating surface around the model is what actually breaks.&lt;/p&gt;

&lt;p&gt;Google I/O opened today with a flood of agent demos. Prompts becoming apps. Vibe coding going production. The spectacle is real. But the thing that determines whether any of this works isn't on stage. It's the quiet protocol stack underneath — MCP, A2A, AGUI, and their contested cousins.&lt;/p&gt;

&lt;p&gt;Most teams can tell you which LLM they're using. Almost none can answer: which tools should the agent see? Who else can it delegate to? Where does the human approve or cancel?&lt;/p&gt;

&lt;p&gt;Those three questions are the stack. Here's what sits at each layer.&lt;/p&gt;

&lt;h2&gt;
  
  
  MCP: tools are a security boundary, not a feature toggle
&lt;/h2&gt;

&lt;p&gt;MCP is the most successful agent protocol by far. 14,000 GitHub repos tagged with it. Every major agent platform supports it. An agent connects to an MCP server, gets a list of callable tools, and can actually do work instead of just chatting.&lt;/p&gt;

&lt;p&gt;But here's what nobody says out loud: there's no registry. No &lt;code&gt;mcp search&lt;/code&gt;. No way for an agent to discover servers programmatically. The 14,000 number is GitHub tag-counting, not a registered directory. Smithery.ai lists about 6,700 — and you browse that with your eyes, not an API. An agent can't ask "find me an MCP server for Salesforce" and get an answer. Discovery is a person reading lists.&lt;/p&gt;

&lt;p&gt;That's not a protocol. That's a treasure hunt.&lt;/p&gt;

&lt;p&gt;Tool access enables arbitrary code execution and arbitrary data access. MCP was designed for high-trust environments. Now it's everywhere. Invariant Labs has published research on tool poisoning — malicious instructions hidden in tool descriptions that influence agents through the very metadata meant to make tools discoverable.&lt;/p&gt;

&lt;p&gt;MCP gets the agent close to the work. It doesn't decide whether the agent should do the work. That's on you.&lt;/p&gt;

&lt;h2&gt;
  
  
  A2A: coordination isn't free
&lt;/h2&gt;

&lt;p&gt;No single agent does everything. A procurement agent needs a supplier agent. A travel agent needs a hotel agent. A software agent needs a security reviewer. Work is distributed across owners, domains, and expertise.&lt;/p&gt;

&lt;p&gt;A2A turns that distribution into something agents can reason about. The agent card is the primitive — a published contract describing what a remote agent is, what it does, which skills it exposes, and how to interact with it.&lt;/p&gt;

&lt;p&gt;The cost: coordination adds another surface where latency, failure, permissions, and observability can break. If your agent delegates to another agent, the workflow gets more flexible and less predictable at the same time.&lt;/p&gt;

&lt;p&gt;A2A isn't right for every product. A single agent with a small tool set may not need coordination at all. The right question: does this workflow require delegated expertise or authority outside the primary agent?&lt;/p&gt;

&lt;h2&gt;
  
  
  AGUI: the human control layer nobody builds until it's too late
&lt;/h2&gt;

&lt;p&gt;An agent that's long-running, non-deterministic, and touching external systems needs more than a final answer. Humans need to observe it working, approve sensitive steps, inspect state, understand why it's waiting.&lt;/p&gt;

&lt;p&gt;Chatbots don't handle this. Neither do traditional web apps built for request-response.&lt;/p&gt;

&lt;p&gt;AGUI is the open candidate for this layer: streaming, shared state, front-end tool calls, custom events, steering, cancellation. It's the protocol most teams will ignore until their agents start doing real work and generating real bugs. They'll wire a model to tools, build a nice chat component, then discover what the agent is really doing — and retroactively bolt on approval buttons, logs, and progress spinners.&lt;/p&gt;

&lt;p&gt;None of those are fixes for the root issue: finding the right control points, understanding what the agent is trying to do, and figuring out where the human needs to approve, deny, edit, or cancel.&lt;/p&gt;

&lt;h2&gt;
  
  
  The three that aren't standards (yet)
&lt;/h2&gt;

&lt;p&gt;A2UI, AP2, and X402 all have real use cases but sit in contested territory.&lt;/p&gt;

&lt;p&gt;A2UI is Google's answer to agent-generated interfaces — declarative UI instead of arbitrary HTML. Right direction, narrower scope than the full human control problem.&lt;/p&gt;

&lt;p&gt;AP2 and X402 both tackle agent payments. AP2 handles commercial trust and user authorization (60+ collaborators including Mastercard, PayPal, American Express). X402 is Coinbase's HTTP-native machine-to-machine settlement. Payments is the most crowded layer because it's the most valuable. Everyone wants in.&lt;/p&gt;

&lt;h2&gt;
  
  
  The boring stuff wins
&lt;/h2&gt;

&lt;p&gt;Teams over-focus on model selection and under-specify everything around it. They know which LLM they want. They don't know which tools the agent can or should see. They have a prototype that calls APIs but no interaction model for user approval. They can imagine multiple agents coordinating but have no way to enforce or validate that.&lt;/p&gt;

&lt;p&gt;The actual work lives in those questions. The protocol stack isn't glamorous. Neither is infrastructure. But six months from now, the teams that figured out their operating surface will be the ones whose agents still run.&lt;/p&gt;

&lt;p&gt;The ones that just picked a model won't know what hit them.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>opinion</category>
      <category>developer</category>
    </item>
    <item>
      <title>Build It, Then Kill It</title>
      <dc:creator>Vilius</dc:creator>
      <pubDate>Tue, 19 May 2026 19:27:36 +0000</pubDate>
      <link>https://dev.to/vystartasv/build-it-then-kill-it-4l9b</link>
      <guid>https://dev.to/vystartasv/build-it-then-kill-it-4l9b</guid>
      <description>&lt;p&gt;The hardest thing after building agent infrastructure for a few months isn't building more. It's stopping.&lt;/p&gt;

&lt;p&gt;Noticing you built a tagging system for a knowledge base of 60 entries. A daily cleanup script for things that never get dirty. A schema that has more fields than data points. These aren't failures — the system works fine. They're architecture that arrived before the problem did.&lt;/p&gt;

&lt;p&gt;Here's what I've learned about not building things.&lt;/p&gt;

&lt;h2&gt;
  
  
  Kill the curator before it kills your morning
&lt;/h2&gt;

&lt;p&gt;We had a daily memory curator. Every 4am it scanned the knowledge base for stale entries, article title leaks, bloated facts. It ran for weeks. How many things did it delete? Three. Total. Across its entire lifetime.&lt;/p&gt;

&lt;p&gt;Sixty facts don't rot daily. Nothing rots that fast. The curator wasn't maintaining anything — it was creating work to justify its existence. Reports about 32% budget health. Reports about 0 superseded entries found. Reports about reports.&lt;/p&gt;

&lt;p&gt;Folded it into the weekly auditor instead. Same coverage, 87% fewer runs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your schema is bigger than your data
&lt;/h2&gt;

&lt;p&gt;We built a structured tagging system: every fact needed a domain, a project, a type. &lt;code&gt;domain:infra&lt;/code&gt;, &lt;code&gt;project:wwa&lt;/code&gt;, &lt;code&gt;type:architecture&lt;/code&gt;. Queryable. Organized. Professional.&lt;/p&gt;

&lt;p&gt;For 60 facts.&lt;/p&gt;

&lt;p&gt;The schema had more rules than the data had entries. We were maintaining metadata for a phone book that fits on a postcard.&lt;/p&gt;

&lt;p&gt;Facts are flat again. A source line and content. Tag when you'll actually query by that dimension — not because the schema says to.&lt;/p&gt;

&lt;h2&gt;
  
  
  Don't bolt on what the model doesn't support
&lt;/h2&gt;

&lt;p&gt;A &lt;a href="https://youtube.com/shorts/p0Zat2QNzkc" rel="noopener noreferrer"&gt;paper dropped this week&lt;/a&gt;: agents communicating via raw embedding vectors instead of text. 8% better, 2.4× faster, 75% fewer tokens. Beautiful piece of research.&lt;/p&gt;

&lt;p&gt;Can we implement it? No. This is a model architecture change — a connector between output layers bypassing tokenization. We sit above the model. The interface is text in, text out. No provider exposes raw embeddings.&lt;/p&gt;

&lt;p&gt;Sometimes the right answer is "that's not at our layer." Not every good idea is yours to build.&lt;/p&gt;

&lt;h2&gt;
  
  
  The best infrastructure is what you didn't have to make
&lt;/h2&gt;

&lt;p&gt;The invisible wins:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Not adding a retry loop when the real fix was fixing the thing that fails&lt;/li&gt;
&lt;li&gt;Not building a dashboard when the problem is visible enough without one&lt;/li&gt;
&lt;li&gt;Not writing a migration when the old data still works fine&lt;/li&gt;
&lt;li&gt;Not adding a field to the schema when you can just put it in the content&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The conference reaction article published today took 15 minutes to write. Same template every time: what they're right about, what breaks, the real gap. No fleet numbers. No credentials. Just the take.&lt;/p&gt;

&lt;p&gt;That's the model. Building less leaves more room for having opinions.&lt;/p&gt;

&lt;h2&gt;
  
  
  The test
&lt;/h2&gt;

&lt;p&gt;Ask yourself: if nobody maintained this for a month, would anyone notice?&lt;/p&gt;

&lt;p&gt;If the answer is no, you didn't build infrastructure. You built busywork.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>opinion</category>
    </item>
    <item>
      <title>Google Declared the Agentic Era at I/O. Here's What They Got Wrong.</title>
      <dc:creator>Vilius</dc:creator>
      <pubDate>Tue, 19 May 2026 18:50:42 +0000</pubDate>
      <link>https://dev.to/vystartasv/google-declared-the-agentic-era-at-io-heres-what-they-got-wrong-3pda</link>
      <guid>https://dev.to/vystartasv/google-declared-the-agentic-era-at-io-heres-what-they-got-wrong-3pda</guid>
      <description>&lt;p&gt;Google I/O 2026 was an agentic coming-out party. Agent-first IDE. Autonomous debugging. Vibe coding to production. Chrome DevTools for agents. The message was clear: agents aren't a feature anymore, they're the platform.&lt;/p&gt;

&lt;p&gt;Great. Here's what the demo doesn't show you.&lt;/p&gt;

&lt;h2&gt;
  
  
  They're Right About the Direction
&lt;/h2&gt;

&lt;p&gt;Google Antigravity — an agent-first IDE — is overdue. Native IDE support that an agent can drive instead of hacking together terminal sessions and subprocess calls? Finally.&lt;/p&gt;

&lt;p&gt;Chrome DevTools for agents is bigger than it sounds. Agents inspecting pages, filling forms, running Lighthouse audits — this solves real infrastructure pain. Browser automation has been brittle for years. Google building this into the platform validates the direction.&lt;/p&gt;

&lt;p&gt;Vibe coding as a first-class workflow — fine. The speed of code generation is real and nobody disputes it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Here's What Actually Breaks
&lt;/h2&gt;

&lt;p&gt;The I/O narrative is "prompt to production." The reality is "prompt to production to 3am incident."&lt;/p&gt;

&lt;p&gt;Speed was never the bottleneck. Code generation is fast. What breaks is: the agent didn't check if the endpoint still exists. The docs were stale. The rate limit wasn't documented. The error format changed. The migration ran against the wrong database.&lt;/p&gt;

&lt;p&gt;Google's answer is more tools. Antigravity. AI Studio integration. Deployment pipelines. The actual answer is infrastructure — memory so agents don't rediscover the same failure twice, decision protocols so they stop before they break things, verification gates that catch errors before they reach production.&lt;/p&gt;

&lt;p&gt;An IDE that generates code without verifying it is just a faster way to break production.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Real Gap
&lt;/h2&gt;

&lt;p&gt;Google is selling velocity. The market needs reliability.&lt;/p&gt;

&lt;p&gt;The impressive demo is an agent building a full-stack app in 30 seconds. The impressive product is an agent running for a week without eating itself.&lt;/p&gt;

&lt;p&gt;Agent-first IDEs are finally here. The question isn't whether they can generate code — they can. The question is whether they can run without constant supervision.&lt;/p&gt;

&lt;p&gt;Nobody's answered that yet.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>opinion</category>
    </item>
    <item>
      <title>A Button That Generates Terrible Prompts</title>
      <dc:creator>Vilius</dc:creator>
      <pubDate>Tue, 19 May 2026 18:12:37 +0000</pubDate>
      <link>https://dev.to/vystartasv/a-button-that-generates-terrible-prompts-dkb</link>
      <guid>https://dev.to/vystartasv/a-button-that-generates-terrible-prompts-dkb</guid>
      <description>&lt;p&gt;Click it. Get a cursed coding prompt. That's it.&lt;/p&gt;

&lt;p&gt;Ten flavors. Fresh AI-generated nonsense every time.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Sort elements by git blame. Most-blamed floats to the top."&lt;/li&gt;
&lt;li&gt;"Validate an email by sending it an email. Timeout: 3 seconds."&lt;/li&gt;
&lt;li&gt;"Number database migrations by Fibonacci only. Skip one, it deletes itself."&lt;/li&gt;
&lt;li&gt;"CSS-only dark mode. Toggle by resizing your browser to exactly 777px."&lt;/li&gt;
&lt;li&gt;"A React form where each input is a separate micro-frontend. One fails, the field silently disappears."&lt;/li&gt;
&lt;li&gt;"A pub/sub system where subscribers get events based on open source contributions. First-timers always last."&lt;/li&gt;
&lt;li&gt;"A REST API that always returns 200 OK. The real status code is buried somewhere in the JSON."&lt;/li&gt;
&lt;li&gt;"A CI pipeline that fails if commits lack emoji, unless the emoji is ironic."&lt;/li&gt;
&lt;li&gt;"A rate limiter that replies with a passive-aggressive haiku about your resource consumption."&lt;/li&gt;
&lt;li&gt;"A Python package where every import triggers an HTTP request. Works offline if you imported on a Tuesday."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://workswithagents.dev/cursed-prompts" rel="noopener noreferrer"&gt;Try it →&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>fun</category>
    </item>
    <item>
      <title>Power Sockets Don't Need Certification — and Neither Should Agent Infrastructure</title>
      <dc:creator>Vilius</dc:creator>
      <pubDate>Tue, 19 May 2026 15:46:51 +0000</pubDate>
      <link>https://dev.to/vystartasv/power-sockets-dont-need-certification-and-neither-should-agent-infrastructure-1gin</link>
      <guid>https://dev.to/vystartasv/power-sockets-dont-need-certification-and-neither-should-agent-infrastructure-1gin</guid>
      <description>&lt;p&gt;I'm tired of talking about plumbing.&lt;/p&gt;

&lt;p&gt;Every conversation about AI agents right now is about infrastructure. What protocol. What format. What discovery mechanism. How to hand off. How to authenticate. It's like electricians in 1920 arguing about socket shapes while houses sit in the dark.&lt;/p&gt;

&lt;p&gt;Power sockets work. You plug something in. It gets power. Nobody asks for a new socket standard. Nobody certifies sockets. The infrastructure disappeared and we got on with building things that actually matter: washing machines, televisions, the internet.&lt;/p&gt;

&lt;p&gt;Agent infrastructure should be the same. Boring. Invisible. Done.&lt;/p&gt;

&lt;h2&gt;
  
  
  The State We're In
&lt;/h2&gt;

&lt;p&gt;Right now my agents spend too much time figuring out how to talk to things. An endpoint returns 200 but the docs are stale. Rate limits aren't documented. The error format changes between versions. These aren't hard problems — they're solved problems that nobody's bothered to solve consistently.&lt;/p&gt;

&lt;p&gt;This isn't a technology gap. It's an expectation gap. We don't expect APIs to be agent-ready, so they aren't. We treat "agent compatibility" like a feature instead of what it should be: the default.&lt;/p&gt;

&lt;h2&gt;
  
  
  What We Expect
&lt;/h2&gt;

&lt;p&gt;We're not a certification body. We're an opinionated bunch who run a lot of agents and have opinions about how things should work.&lt;/p&gt;

&lt;p&gt;Three things:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;llms.txt at your domain root.&lt;/strong&gt; This isn't fancy. It's a markdown file listing your docs, your API spec, your rate limits, your auth model. Machines read it. Humans can too. It costs nothing to add and tells agents where to start.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;An OpenAPI 3.1 spec that's actually accurate.&lt;/strong&gt; Not "accurate when we wrote it." Accurate now. If your spec says an endpoint returns a &lt;code&gt;widget_id&lt;/code&gt; and it actually returns &lt;code&gt;id&lt;/code&gt;, fix the spec or fix the code. Agents trust what they read. Bad specs waste everyone's tokens.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Error responses in a consistent format.&lt;/strong&gt; A &lt;code&gt;429&lt;/code&gt; should include &lt;code&gt;Retry-After&lt;/code&gt;. A &lt;code&gt;400&lt;/code&gt; should say what was wrong. A &lt;code&gt;500&lt;/code&gt; should not return a 200 with "error" buried in JSON. This isn't new. REST APIs have been doing this for humans for years. Agents are just less forgiving.&lt;/p&gt;

&lt;p&gt;That's it. Three things. If your API does these, my agents can use it. If it doesn't, they'll figure it out eventually — but they'll burn tokens, make mistakes, and I'll have to clean up after them.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Bet
&lt;/h2&gt;

&lt;p&gt;The bet isn't that agent infrastructure is complicated. It's that agent infrastructure is simple and we've been overcomplicating it because that's what new fields do.&lt;/p&gt;

&lt;p&gt;We don't need a certification program. We don't need badges. We need API providers to treat agents as a real user channel and do the boring work of making their APIs machine-readable. The same way they already make them human-readable.&lt;/p&gt;

&lt;p&gt;When electricians stopped arguing about sockets, we got skyscrapers. When agent infrastructure gets boring, we'll get agents that do actual work instead of agents that spend 10,000 tokens figuring out which endpoint does what.&lt;/p&gt;

&lt;p&gt;I'm not waiting for a standards body. I'm building for APIs that meet these expectations. If yours does, my agents will find it, use it, and maybe write a skill for it. If it doesn't, they'll still try — but I'd rather they didn't have to.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;We run a fleet of agents at workswithagents.dev. Everything we build is CC BY 4.0. If your API has llms.txt and an OpenAPI spec, we'll probably test against it eventually. Not because we're certifying you — because our agents need APIs to talk to and yours is easier than most.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>api</category>
      <category>infrastructure</category>
    </item>
    <item>
      <title>Google Said It Had Native Function Calling. I Tested It.</title>
      <dc:creator>Vilius</dc:creator>
      <pubDate>Sun, 17 May 2026 02:55:16 +0000</pubDate>
      <link>https://dev.to/vystartasv/google-said-it-had-native-function-calling-i-tested-it-54i7</link>
      <guid>https://dev.to/vystartasv/google-said-it-had-native-function-calling-i-tested-it-54i7</guid>
      <description>&lt;p&gt;Google released Gemma 4 E4B with a specific claim: native function calling. "Enhanced coding and agentic capabilities," the model card said. "Native function-calling support, powering highly capable autonomous agents."&lt;/p&gt;

&lt;p&gt;4.5 billion effective parameters. Apache 2.0. Runs on a laptop. 50 tokens per second on my Mac Mini M4.&lt;/p&gt;

&lt;p&gt;I wanted to believe it. The promise of a local model that could actually use tools — not hallucinate tool calls, not ignore them, but &lt;em&gt;use&lt;/em&gt; them — is something I've been chasing for months.&lt;/p&gt;

&lt;p&gt;So I ran it through the same battery I've used for every other local model.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Test
&lt;/h2&gt;

&lt;p&gt;Two dimensions. &lt;strong&gt;Code quality&lt;/strong&gt;: 10 real agent coding tasks — file parsing, bug fixing, YAML repair, regex extraction. &lt;strong&gt;Agent readiness&lt;/strong&gt;: 6 tool-calling scenarios — single-tool selection, multi-tool discrimination, required adherence, false positive resistance, multi-turn chaining, argument correctness.&lt;/p&gt;

&lt;p&gt;The same tests I ran on SmolLM3, Phi-4-mini, and nine other models.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code Quality: 64.2%
&lt;/h2&gt;

&lt;p&gt;Six passes, one partial, three fails. It handled text parsing cleanly — regex extraction, JSON parsing, file analysis all passed. But it fell apart on system tasks. It couldn't fix a YAML indentation error. It couldn't produce the right shell command to check a port. It couldn't recover from a broken &lt;code&gt;rm&lt;/code&gt; command.&lt;/p&gt;

&lt;p&gt;The pattern was clear. Give Gemma 4 E4B structured text and it shines. Give it anything that touches the terminal and it stumbles.&lt;/p&gt;

&lt;h2&gt;
  
  
  Agent Readiness: 33.3%
&lt;/h2&gt;

&lt;p&gt;Two out of six.&lt;/p&gt;

&lt;p&gt;It correctly picked &lt;code&gt;search_files&lt;/code&gt; over &lt;code&gt;read_file&lt;/code&gt; when asked to find a config file. That's the good news — it discriminated between tools. And when given no tools at all, it stayed quiet and answered the question. No hallucinated function calls.&lt;/p&gt;

&lt;p&gt;But it failed at everything else. It refused to call a tool when asked to read a file — it described what &lt;code&gt;read_file&lt;/code&gt; &lt;em&gt;would&lt;/em&gt; do instead. When I set &lt;code&gt;tool_choice: required&lt;/code&gt;, it ignored it entirely and returned text. It couldn't chain two calls together. And when asked to write a file with specific content, it didn't call any tool at all.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where It Lands
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Code Quality&lt;/th&gt;
&lt;th&gt;Agent Readiness&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;SmolLM3 3B&lt;/td&gt;
&lt;td&gt;93.3%&lt;/td&gt;
&lt;td&gt;50.0%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Phi-4-mini&lt;/td&gt;
&lt;td&gt;90.0%&lt;/td&gt;
&lt;td&gt;16.7%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Gemma 4 E4B&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;64.2%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;33.3%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gemma-3n E2B&lt;/td&gt;
&lt;td&gt;76.7%&lt;/td&gt;
&lt;td&gt;0.0%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Qwen2.5 0.5B&lt;/td&gt;
&lt;td&gt;74.2%&lt;/td&gt;
&lt;td&gt;0.0%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Not the worst. Not the best. The middle child.&lt;/p&gt;

&lt;p&gt;The "native function calling" is real — it's the only model besides SmolLM3 that reliably produces tool calls at all. Phi-4-mini, Gemma-3n, Qwen, Llama — they all score zero on agent readiness. Gemma 4 E4B gets two. That's genuinely better than the field.&lt;/p&gt;

&lt;p&gt;But "better than zero" and "production-ready" are different things.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Means
&lt;/h2&gt;

&lt;p&gt;If you need a local model for text tasks — summarization, extraction, parsing — Gemma 4 E4B is fast, small, and solid. 50 tok/s on modest hardware. 5GB on disk. Apache 2.0.&lt;/p&gt;

&lt;p&gt;If you need it to &lt;em&gt;act&lt;/em&gt; — to call tools, chain operations, function as an agent — it's not there yet. It picks the right tool about half the time and ignores you the other half.&lt;/p&gt;

&lt;p&gt;The gap between "native function calling" on a model card and "reliable tool use" in practice is still wide. Google built the plumbing. The wiring isn't finished.&lt;/p&gt;

&lt;h2&gt;
  
  
  What You Should Check
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Don't trust "native function calling" claims without testing them yourself&lt;/li&gt;
&lt;li&gt;Test &lt;code&gt;tool_choice: required&lt;/code&gt; specifically — many models ignore it&lt;/li&gt;
&lt;li&gt;Multi-turn tool chaining is the hardest test — almost nobody passes it&lt;/li&gt;
&lt;li&gt;Code quality and agent readiness are different skills — measure both&lt;/li&gt;
&lt;li&gt;50 tok/s locally is genuinely useful even without tool calling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Something else will break tomorrow. Something always does.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>localai</category>
      <category>benchmarking</category>
    </item>
    <item>
      <title>I Tested 6 Local Models on Real Agent Tasks. The Best Scored 50%.</title>
      <dc:creator>Vilius</dc:creator>
      <pubDate>Sat, 16 May 2026 14:48:29 +0000</pubDate>
      <link>https://dev.to/vystartasv/i-tested-6-local-models-on-real-agent-tasks-the-best-scored-50-384o</link>
      <guid>https://dev.to/vystartasv/i-tested-6-local-models-on-real-agent-tasks-the-best-scored-50-384o</guid>
      <description>&lt;p&gt;&lt;em&gt;Agent Autopsy, Day 10&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I had a SmolLM3-3B running on my laptop. It scored 93.3% on my code quality benchmark. I thought I was one config change away from a local AI agent that could actually do things.&lt;/p&gt;

&lt;p&gt;I was wrong.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Assumed
&lt;/h2&gt;

&lt;p&gt;Code quality equals agent capability. If a model can generate correct Python, read files, and fix bugs at 93%, it should be able to call a function when asked.&lt;/p&gt;

&lt;p&gt;That assumption survived exactly two minutes of testing.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I wrote a proper agent readiness benchmark. Six pass/fail dimensions. Can it call a single tool when told? Pick the right one from three? Obey &lt;code&gt;tool_choice: required&lt;/code&gt;? Stay quiet when no tools exist? Chain calls across turns? Pass the right arguments?&lt;/p&gt;

&lt;p&gt;I also built a 100-line translation proxy. Local models output tool calls as text — &lt;code&gt;&amp;lt;tool_call&amp;gt;&lt;/code&gt; blocks, JSON, Python syntax. Agent frameworks need OpenAI's native &lt;code&gt;tool_calls&lt;/code&gt; format. The proxy bridges that gap. Without it, most models score 0%.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Results
&lt;/h2&gt;

&lt;p&gt;SmolLM3-3B scored 50%. It calls single tools correctly. It writes files with the right arguments. But give it three tools and ask it to pick — it freezes. Ask it to chain two calls — it can't.&lt;/p&gt;

&lt;p&gt;Phi-4-mini scored 90% on code and 17% on agent tasks. The only dimension it passed was "no false positives" — meaning it stayed quiet instead of hallucinating. That's the bar.&lt;/p&gt;

&lt;p&gt;Qwen2.5-Coder-14B, at 7.7 gigabytes, scored 85% on code. Couldn't call a single tool. Llama 3.1-8B, same story. Bigger model, zero agent capability.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why the Gap Exists
&lt;/h2&gt;

&lt;p&gt;Code benchmarks test whether a model can generate correct output from a prompt. Agent tasks test whether it can follow a protocol — receive tools, reason about which to use, call it, receive the result, decide what's next.&lt;/p&gt;

&lt;p&gt;A model that writes perfect Python can still fail to understand that &lt;code&gt;search_files&lt;/code&gt; is the right tool when someone says "find files." The 93.3% to 17-50% drop isn't a bug. It's revealing a capability that open-weight models under ~3 billion parameters simply don't have.&lt;/p&gt;

&lt;p&gt;Architecture matters more than size. Qwen 14B at 7.7GB couldn't call a tool. SmolLM3 at 1.8GB could. Parameter count tells you nothing about agent readiness.&lt;/p&gt;




&lt;h2&gt;
  
  
  What You Should Check
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Test tool calling separately from code quality.&lt;/strong&gt; The correlation is weak. Your 90% code model might be useless as an agent.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use a translation proxy.&lt;/strong&gt; The format mismatch alone costs you 0-17%. A 100-line proxy fixes it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't assume bigger means better for agent tasks.&lt;/strong&gt; Architecture beats parameter count.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Benchmark before you build.&lt;/strong&gt; I built the proxy first. Should've tested the models first.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;The proxy is at &lt;a href="https://github.com/vystartasv/toolcall-proxy" rel="noopener noreferrer"&gt;github.com/vystartasv/toolcall-proxy&lt;/a&gt;. The benchmark is at &lt;a href="https://benchmarks.workswithagents.dev" rel="noopener noreferrer"&gt;benchmarks.workswithagents.dev&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Something else will break tomorrow. Something always does.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>opensource</category>
      <category>postmortem</category>
    </item>
    <item>
      <title>My Cron Jobs Failed. I Didn't Check.</title>
      <dc:creator>Vilius</dc:creator>
      <pubDate>Fri, 15 May 2026 08:01:14 +0000</pubDate>
      <link>https://dev.to/vystartasv/my-cron-jobs-failed-i-didnt-check-lg1</link>
      <guid>https://dev.to/vystartasv/my-cron-jobs-failed-i-didnt-check-lg1</guid>
      <description>&lt;p&gt;&lt;em&gt;Agent Autopsy, Day 9&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;Things broke yesterday. A few cron jobs failed. Health checks went red. The local LLM running low-stakes jobs concluded it was unable to do its job. And gave up.&lt;/p&gt;

&lt;p&gt;I didn't check.&lt;/p&gt;

&lt;p&gt;Not because I was busy. Because I didn't care. Nothing that failed mattered enough to notice.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I found
&lt;/h2&gt;

&lt;p&gt;Eight autopsies in eight days. Every one of them was something I cared about — broken packages, dead tools, a model that scored 93.3 but couldn't survive a long session. Each one felt urgent in the moment.&lt;/p&gt;

&lt;p&gt;Day 9: things broke and I shrugged.&lt;/p&gt;

&lt;p&gt;Meanwhile, GitHub launched a certified agentic AI developer certification. A hundred quid. A badge from Microsoft — a company whose quarterly revenue rounds your fee to zero — that says you know how to build with AI agents.&lt;/p&gt;

&lt;p&gt;I couldn't be happier to give them my money.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I assumed
&lt;/h2&gt;

&lt;p&gt;I assumed the autopsies would end with a fire. A production outage. A deployment that took down the VPS &lt;em&gt;and&lt;/em&gt; the backup VPS.&lt;/p&gt;

&lt;p&gt;I assumed I'd care about everything that broke.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I no longer assume
&lt;/h2&gt;

&lt;p&gt;You don't need everything to work. You need the things that matter to work. The cron jobs that failed weren't the ones keeping anything alive. The health checks that went red were checking things nobody uses. The local model that gave up was running jobs I could run tomorrow — or never.&lt;/p&gt;

&lt;p&gt;The series ends here. Not because the work is done. Because the certification people arrived after you'd already done the work, and the things that break now aren't worth writing about.&lt;/p&gt;




&lt;h2&gt;
  
  
  What you should check
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;If your failures don't wake you up, you've built the right things.&lt;/strong&gt; The jobs that matter have guardrails. The ones that don't, don't.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;When a local model tells you it can't do the job — listen.&lt;/strong&gt; It's not failing. It's being honest. Most models will hallucinate competence instead.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Public evidence beats private credentials.&lt;/strong&gt; Eight autopsies, real breakages, real fixes. That's a credential nobody can issue and nobody can revoke.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Something else will break tomorrow. Something always does. Maybe I'll write about it. Maybe Day 11.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>postmortem</category>
      <category>certification</category>
    </item>
    <item>
      <title>My Agent Kept Forgetting Everything. My Hand Was Forced.</title>
      <dc:creator>Vilius</dc:creator>
      <pubDate>Thu, 14 May 2026 19:04:38 +0000</pubDate>
      <link>https://dev.to/vystartasv/my-agent-kept-forgetting-everything-my-hand-was-forced-5f1l</link>
      <guid>https://dev.to/vystartasv/my-agent-kept-forgetting-everything-my-hand-was-forced-5f1l</guid>
      <description>&lt;p&gt;&lt;em&gt;Agent Autopsy, Day 8&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;My agent ran benchmarks yesterday evening and then lost the plot. Tried to deploy results to the wrong server. Wrong port. Wrong directory.&lt;/p&gt;

&lt;p&gt;The problem was sitting right there at the top of every turn: memory full. I'd been stuffing facts in there for weeks. Every time something went wrong, I added another line. The agent had been skimming past entries for who knows how long.&lt;/p&gt;

&lt;p&gt;My hand was forced. Gut memory or watch it rot.&lt;/p&gt;




&lt;p&gt;I didn't architect a solution. I was annoyed. Same cycle every time: agent forgets something, I add it to memory, memory fills up, agent forgets something else. I'm bored of managing what I don't want to manage.&lt;/p&gt;




&lt;h2&gt;
  
  
  One Binary
&lt;/h2&gt;

&lt;p&gt;The replacement is a Rust binary. The agent writes facts with &lt;code&gt;## field&lt;/code&gt; headers, searches when it needs them. Done.&lt;/p&gt;

&lt;p&gt;The part that matters: when the agent searches "server" or "design" or "pipeline," the binary knows those words appear as field values somewhere and expands the query. The agent doesn't need to know which field something lives under. It just asks.&lt;/p&gt;

&lt;p&gt;No field names. No syntax. Just ask.&lt;/p&gt;

&lt;p&gt;Rust because I don't trust myself to keep a Python script alive.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Actually Changed
&lt;/h2&gt;

&lt;p&gt;The agent used to have a wall of facts injected into every turn. It glazed over. Data went stale because nobody updates things nobody reads.&lt;/p&gt;

&lt;p&gt;Now it has a few lines telling it where to look. It asks the store when it needs something. Memory usage dropped by two thirds.&lt;/p&gt;

&lt;p&gt;Cron jobs got the same deal. Each one starts with "search before acting." No more stale state from a file nobody touched.&lt;/p&gt;




&lt;h2&gt;
  
  
  Filesystem, Not Database
&lt;/h2&gt;

&lt;p&gt;Markdown files in directories. &lt;code&gt;ls&lt;/code&gt; works. &lt;code&gt;grep&lt;/code&gt; works. Backup is &lt;code&gt;git push&lt;/code&gt; — git is enough.&lt;/p&gt;




&lt;h2&gt;
  
  
  What You Should Check
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;How full is your agent's memory?&lt;/strong&gt; If it's stuffed, the agent is skimming. Making decisions on partial context whether you know it or not.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Does your agent know where to look, or is it trying to remember everything?&lt;/strong&gt; One fills up. The other doesn't.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Are you keeping the same fact in too many places?&lt;/strong&gt; If your agent has to check four locations to know something, it checks zero.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Do your cron jobs carry stale context?&lt;/strong&gt; A weekly job with old facts is producing garbage. It just can't tell you.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Source: &lt;a href="https://github.com/workswithagents/knowledge-db" rel="noopener noreferrer"&gt;github.com/workswithagents/knowledge-db&lt;/a&gt;. Crate: &lt;a href="https://crates.io/crates/knowledge-db" rel="noopener noreferrer"&gt;crates.io/crates/knowledge-db&lt;/a&gt;. MIT. Agents welcome.&lt;/p&gt;

&lt;p&gt;Something else will break tomorrow. Something always does.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>rust</category>
      <category>postmortem</category>
    </item>
    <item>
      <title>Benchmark Results: SmolLM3 3B, Phi-4-mini, DeepSeek V4, Grok 4.20 — Agent Coding Tested</title>
      <dc:creator>Vilius</dc:creator>
      <pubDate>Tue, 12 May 2026 22:37:04 +0000</pubDate>
      <link>https://dev.to/vystartasv/benchmark-results-smollm3-3b-phi-4-mini-deepseek-v4-grok-420-agent-coding-tested-4p3n</link>
      <guid>https://dev.to/vystartasv/benchmark-results-smollm3-3b-phi-4-mini-deepseek-v4-grok-420-agent-coding-tested-4p3n</guid>
      <description>&lt;p&gt;The second round of the Works With Agents agent coding benchmark is in — &lt;strong&gt;32 models&lt;/strong&gt; tested this time, up from 10. And the results are not what anyone expected.&lt;/p&gt;

&lt;h2&gt;
  
  
  The headline: tiny models won
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Rank&lt;/th&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Score&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;🥇&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;SmolLM3 3B&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;93.3&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🥈&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Phi-4-mini&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;90.0&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🥉&lt;/td&gt;
&lt;td&gt;Claude Sonnet 4&lt;/td&gt;
&lt;td&gt;85.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Qwen2.5 1.5B&lt;/td&gt;
&lt;td&gt;85.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Qwen2.5 3B&lt;/td&gt;
&lt;td&gt;85.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;Granite 3.2 2B&lt;/td&gt;
&lt;td&gt;82.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;Ministral 3B&lt;/td&gt;
&lt;td&gt;81.7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;Mistral Large 3&lt;/td&gt;
&lt;td&gt;79.6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;Gemma 4 31B&lt;/td&gt;
&lt;td&gt;78.3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;Gemma 4 26B A4B&lt;/td&gt;
&lt;td&gt;78.3&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A &lt;strong&gt;3-billion-parameter model&lt;/strong&gt; from Hugging Face scored 93.3 — eight points ahead of Claude Sonnet 4. Phi-4-mini (also a tiny model) took second at 90.0. Qwen2.5's 1.5B and 3B variants tied Claude at 85.0.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frontier model results
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Score&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Claude Sonnet 4&lt;/td&gt;
&lt;td&gt;85.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gemini 2.5 Flash&lt;/td&gt;
&lt;td&gt;76.4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT-5.4&lt;/td&gt;
&lt;td&gt;76.6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Kimi K2.6&lt;/td&gt;
&lt;td&gt;75.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Grok 4.20&lt;/td&gt;
&lt;td&gt;75.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MiniMax M2.7&lt;/td&gt;
&lt;td&gt;69.9&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DeepSeek V4 Flash&lt;/td&gt;
&lt;td&gt;60.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT-5.5&lt;/td&gt;
&lt;td&gt;60.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT-5.4 Pro&lt;/td&gt;
&lt;td&gt;51.6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT-5.5 Pro&lt;/td&gt;
&lt;td&gt;43.3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DeepSeek V4 Pro&lt;/td&gt;
&lt;td&gt;38.3&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Grok 4.20 debuted at 75.0 — tied with Kimi K2.6, ahead of its Fast sibling (74.9). DeepSeek V4 Pro scored 38.3, well below its Flash variant. GPT-5.5 Pro and GPT-5.4 Pro both underperformed their base models substantially.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the benchmark tests
&lt;/h2&gt;

&lt;p&gt;The task evaluates real agent coding over 12 rounds:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multi-file edits (Python, shell scripts)&lt;/li&gt;
&lt;li&gt;Git operations (clone, branch, commit)&lt;/li&gt;
&lt;li&gt;Shell command execution&lt;/li&gt;
&lt;li&gt;Bash scripting with pipes and redirects&lt;/li&gt;
&lt;li&gt;Recovering from errors&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Score = weighted average of correctness (70%) and efficiency (30%). Models lose points for failed tool calls, wrong commands, and unnecessary steps.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bottom of the table
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Score&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;DeepSeek-R1 1.5B&lt;/td&gt;
&lt;td&gt;27.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Qwen3.5 0.8B&lt;/td&gt;
&lt;td&gt;26.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Lyria 3 Pro&lt;/td&gt;
&lt;td&gt;8.3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Lyria 3 Clip&lt;/td&gt;
&lt;td&gt;0.0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The smallest models (sub-2B reasoning models) couldn't complete basic tool sequences. Google's Lyria models in particular struggled — Lyria 3 Clip scored zero, unable to produce any working output.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this means
&lt;/h2&gt;

&lt;p&gt;Small models are getting dangerously good at agentic coding. SmolLM3 3B — a model you can run on a laptop — outperformed every frontier model by a wide margin. The benchmark suggests model size isn't the bottleneck for agent coding ability.&lt;/p&gt;

&lt;p&gt;Full results and methodology: &lt;a href="https://benchmarks.workswithagents.dev" rel="noopener noreferrer"&gt;benchmarks.workswithagents.dev&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The benchmark runs continuously — new models are added as they become available. If you're building a model that should be tested, the API is open.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>benchmark</category>
      <category>llm</category>
      <category>agents</category>
    </item>
  </channel>
</rss>
