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

推荐订阅源

T
Threat Research - Cisco Blogs
博客园 - 聂微东
小众软件
小众软件
P
Proofpoint News Feed
Security Archives - TechRepublic
Security Archives - TechRepublic
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
TaoSecurity Blog
TaoSecurity Blog
博客园 - 司徒正美
罗磊的独立博客
N
News and Events Feed by Topic
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
S
Security Affairs
S
Security @ Cisco Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
月光博客
月光博客
S
Secure Thoughts
P
Proofpoint News Feed
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Forbes - Security
Forbes - Security
H
Heimdal Security Blog
W
WeLiveSecurity
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
L
LangChain Blog
T
The Blog of Author Tim Ferriss
NISL@THU
NISL@THU
Google DeepMind News
Google DeepMind News
Cloudbric
Cloudbric
H
Hacker News: Front Page
The Last Watchdog
The Last Watchdog
Hacker News - Newest:
Hacker News - Newest: "LLM"
C
Cisco Blogs
博客园 - 三生石上(FineUI控件)
博客园_首页
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Schneier on Security
Project Zero
Project Zero
SecWiki News
SecWiki News
爱范儿
爱范儿
The Register - Security
The Register - Security
AI
AI
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Y
Y Combinator Blog
L
Lohrmann on Cybersecurity
Application and Cybersecurity Blog
Application and Cybersecurity Blog
P
Privacy International News Feed
J
Java Code Geeks
S
Securelist
C
Cyber Attacks, Cyber Crime and Cyber Security
V
Visual Studio 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 Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python) The Hidden Cost of AI Systems Nobody Talks About. undefined vs undeclared, and how typeof behaves Switching from file-based jobs to NATS/Kafka in Rust without changing code io_uring Adventures: Rust Servers That Love Syscalls Why Agentic AI is Killing the Traditional Database The POUR principles of web accessibility for developers and designers Quantum Neural Network 3D — A Deep Dive into Interactive WebGL Visualization How To Install Caveman In Codex On macOS And Windows Automation Pipeline Reliability: Why Your Workflow Breaks When Nobody Is Watching I Built an 'Open World' AI Coding Agent — It Works From ANY Folder From Freelancing to Product: A Tech Service Company's SaaS Transformation China's AI Giants: Adding Tencent Hunyuan & ByteDance Doubao to AI University (74 Providers) On the Vibe Coders and Their Lies clerk: Auto-Summarize Your Claude Code Sessions AI Weekly — 2026/04/10–04/17 | The Model Lockdown Is Here, but the Toolchain Is the Real Battleground AI 週報 — 2026/04/10–2026/04/17 模型封鎖潮來了,但工具鏈才是真戰場 Maybe this is how Open-Source apps are born... 🚀 Fine-Tune LLMs with LoRA and QLoRA: 2026 Guide tRPC v11 + Next.js App Router: End-to-End Type Safety Without the Boilerplate ShadCN UI in 2026: Why I Stopped Installing Component Libraries and Started Owning My Components SaaS Billing in React Server Components: Stripe + Supabase Without a Single `useEffect` Join our DEV Weekend Challenge — $1,000 in Prizes Across TEN winners! Submissions Due April 20 at 6:59 AM UTC. Implementing FSRS Spaced Repetition in Flutter + Supabase — Adding Memory Science to an AI Learning App "I Texted My Localhost From the Train — Claude Code Fixed the Bug Before I Got Home" I Built a Sales Prep AI and It Went Deeper Than Expected Design to Code #2: One JSON, Eleven Outputs Solving the 100M-Row Problem: A Summary Table Pattern for High-Volume Push Notification Logs Flutter Web With Wasm: What Actually Changes For Developers I Built 50 Royalty-Free Soundtracks for My Side Project in a Weekend Using AI Music Generation The Vibe Coding Security Checklist: 7 Things to Check Before You Ship Stop Letting Googlebot Guess Fix Your React App's SEO Right Desconstruindo o Streaming do LinkedIn: Como Criar um Engine de Extração de Vídeo de Alta Performance com HLS e FFmpeg (EDA Part-1) EDA (Exploratory Data Analysis) Explained With Real Life — Why Looking at Your Data Is the Most Important Step in Machine Learning Brand Relationship Management at Scale: Our 4-Touch Outreach System for 200+ Brands Why String.fromEnvironment() Might Return an Empty String in Dart JGuardrails 1.0.0 — Hardening Java LLM Apps Against Jailbreaks, Toxicity, and Prompt Injection Plan and Schedule a Full Week of Threads Content From One Claude Conversation Coding Cat Oran Ep3, Five Tables Changed Everything Updated: BFF Pattern I'm done watching freelancers get buried by 200 proposals. So I'm building the alternative. This is my first post BFS Algorithm in Java Step by Step Tutorial with Examples Tracking LLM Pricing Monthly: An Open Dataset for 22 AI Models How We Measure Content ROI on a Comparison Site: Revenue Attribution Without Perfect Data Introducing Nova AI Ops: The AI-Native Operating System for SRE Teams I built a free desktop video downloader for Windows — Grabbit How Talkie OCR Helps Vision-Impaired & Dyslexic Users Read the World Around Them VRCFaceTracking安装和iPhone面捕配置教程,有bug Even CrowdStrike Can't See Your Agents The Automation Gold Rush: What n8n Workflows and Claude Are Opening Up for Developers Right Now
Your AI Agent Isn't Broken. Your Company's Truth Is.
Mwai Victor Brian · 2026-06-20 · via DEV Community

The AI agent had one job: pay approved vendor invoices, so the finance team could stop doing it by hand.

On a Tuesday morning, it picked up invoice #4471 from a freight vendor Ksh48,000, stamped Approved in the company's ERP, cleanly matched to a valid purchase order. The agent checked the things it was told to check. They all passed. It paid the invoice.

The invoice had already been paid. The previous Thursday. By a member of the finance team.

Here is what the company's systems believed that morning and none of them was wrong.

  • The ERP said: Approved. Unpaid. The reconciliation job that pulls in bank activity runs overnight, and last night it had failed silently. So the ERP's picture of the world was simply four days stale.
  • The bank feed said: Paid. Last Thursday. It was right. Nobody had told the ERP.
  • A Slack thread said: "hold everything to this vendor they double-billed us last quarter, I'm sorting it out with their AP team." Posted by the accounts-payable lead. Three days earlier. Resolved in her head, and nowhere else.
  • The vendor's own email said: "Payment well received, thank you!" referring, of course, to Thursday's payment. The agent's inbox reader had seen it that morning, then set it aside, because email ranked below the ERP and the two disagreed.

Every system was internally consistent. Every system was the authority on something. And there was no system anywhere not one that could answer the only question that actually mattered: has invoice #4471 been paid?

A human clerk would almost certainly have caught it. Not because a clerk is smarter than the model they're not. Because a clerk would have felt the friction. They'd have half-remembered cutting the check. Or scrolled past the Slack message that morning and hesitated. Or simply had the reflex to ping someone before sending $48,000 out the door. Reconciling systems that quietly disagree is most of what operations people actually do all day so much of it that nobody files it under "work." It's just judgment.

The agent had no friction to feel. It read the highest-priority system, found Approved, unpaid, and acted at machine speed, with no pause, no second source, no instinct that something was off.

It didn't break. It worked exactly as designed, against a company that had no single, trustworthy answer to give it.

This is the failure almost nobody names correctly. I call it epistemic collapse

We keep trying to fix the agent better models, better prompts, better retrieval, tighter guardrails when the agent was never the broken part. The broken part is underneath it. Companies don't have a layer that turns scattered data into one trustworthy answer. They have an ERP, and a Slack workspace, and a bank feed, and an inbox, and a spreadsheet each holding a fragment of the truth, none of them agreeing, none of them on the same clock held together by a thin film of human judgment that reconciles the whole mess silently, all day, forever.

That film finally needs a name, because we are now, for the first time, trying to build it.

3. What's actually missing.

Call it epistemic infrastructure: the layer that turns data into truth.

It's worth being precise about that, because the two words get used as if they're the same thing, and the gap between them is exactly where the agent fell in.

Data is what your systems store. Truth is what is actually the case. Most companies are drowning in the first and own nothing that reliably produces the second. The ERP had data. The bank had data. Slack had data. What no one had was a place that could take all of it and resolve it into the invoice has been paid with enough confidence to bet ksh48,000 on the answer.

Every business system you own makes the same quiet mistake: it crushes three genuinely different things into one overwritten field.

  • Observation - somebody asserted X. "The ERP shows the invoice as approved and unpaid."
  • Truth - X is actually the case. "The invoice is genuinely unpaid."
  • History - X became true at some point, and used to be something else. "Unpaid through Wednesday. Paid since Thursday."

A database row that reads status: unpaid smashes all three together. It can't tell you who said so, when it became true, what it was before, or whether anything disagreed. The instant the field is written, every one of those distinctions is gone. The row doesn't say "the overnight job hasn't run, so this is a four-day-old observation from one source, and the bank feed disagrees." It just says unpaid, with the full, flat confidence of a fact.

Now multiply that by every system in the company each collapsing observation, truth, and history its own way, each certain about its own slice, none aware of the others and you have produced that Tuesday morning by construction. The systems weren't malfunctioning. They were doing the only thing they were ever built to do: store data and present it as truth.

Epistemic infrastructure is the missing layer that refuses to do that. Instead of overwriting a field, it records observations and keeps them who observed, from where, when it was claimed true, and what it replaced. Instead of forcing one answer when sources disagree, it represents the disagreement as a first-class fact rather than silently picking a winner. And instead of pretending the company has a single consistent state, it can tell you the honest thing: the ERP and the bank disagree about #4471, the ERP's data is stale, and a hold was placed in Slack three days ago do not pay this yet.

That last sentence is the entire product. It's the sentence no system at the company could produce, and the sentence a competent human produces effortlessly.

4. Why AI agents are the ones that broke

Here's the part that reframes everything: this problem is not new. Companies have always been a heap of disagreeing systems on mismatched clocks. The contradiction in the story has been sitting in that company for years. It never detonated for one reason.

Humans were the epistemic infrastructure.

They were the layer that knew the overnight sync is flaky, that the bank lags two days, that a hold in Slack outranks a green checkmark in the ERP, that you check with the AP lead before you pay that particular vendor. We held the company's real, reconciled truth in our heads and patched it on the fly and we never wrote it down, because it never occurred to anyone that this reconciling was a system at all. It just looked like people being good at their jobs.

AI agents are the first workers to operate on the company without that instinct. An agent takes the data at face value, because face value is all the data exposes every field arrives wearing the full confidence of truth, stripped of its provenance, its staleness, and its dissenters. Then the agent acts on it, at a scale and speed no clerk ever could.

So agents don't introduce a new failure. They're a stress test that exposes an old one. The instant you remove the humans, the layer they were silently providing goes missing and the company discovers it never had a truth layer at all. It had people standing in for one.

This is also why the usual fixes don't touch the problem:

  • Better prompts make the agent reason more carefully about the inputs it's given. But every input in the story was, locally, correct. No amount of careful reasoning over Approved, unpaid recovers the fact that the data is four days stale and contradicted elsewhere. You cannot prompt your way to information the field doesn't carry.
  • Better retrieval (RAG) gets the agent more of the company's data. But more data from systems that each collapse observation, truth, and history just gets you more confident contradictions, faster. RAG would have happily surfaced the ERP record and the bank record and the Slack hold as four equally authoritative snippets, with nothing to say which one reflects reality right now. Retrieval finds documents. It does not resolve truth.
  • Guardrails catch the failures you already imagined. "Don't pay over 50k without approval" wouldn't have fired this was 48k and was approved. Guardrails are just a list of known traps; the whole nature of inconsistent truth is that it fails in shapes you didn't enumerate.

Each of these treats the agent as the thing to fix. None of them builds the layer underneath. You can have a perfect model reason flawlessly over a world that has no coherent notion of what's true, and it will still pay the invoice twice correctly, confidently, and on time.

The rest of this piece is about that missing layer: what it actually stores, why "store observations, never overwrite truth" is the load-bearing rule, and what it takes to build the thing humans have been quietly being all along.

Conclusion

The agent that paid invoice #4471 twice is going to be everywhere. Not that exact bug but its shape. Every company racing to put agents into procurement, support, finance, and ops is about to discover the same thing in its own dialect: the agent works, and the company can't tell it the truth.

We will spend the next few years blaming the models. We'll buy better ones, prompt them more carefully, wrap them in more guardrails, and feel the failures get rarer and stranger and more expensive. And we'll be optimizing the wrong layer the entire time. The model was never the variable. The substrate was.

AI didn't create this problem. It just removed the people who were hiding it. Your company has always run on contradiction; you only notice now because the new workers take your systems at their word. The fix isn't a better agent. It's the layer underneath one the layer that knows the difference between what a system says, what is true, and what used to be. Until that exists, every agent you deploy is one stale field away from doing the wrong thing, perfectly.

Author: Mwai Victor

One promise I made to myself is that even in the age of AI, I will keep doing what makes us human: face problems directly and solve them head-on. These articles are proof that I didn’t avoid them I worked through them.