Preventing Overconfidence in Software Reliability

Explore top LinkedIn content from expert professionals.

  • View profile for Prashant Rathi

    Principal Architect at McKinsey | AI and GenAI Architect | LLMOps | Cloud and DevOps Leader | Speaker and Mentor

    25,612 followers

    𝐈 𝐡𝐚𝐯𝐞 𝐝𝐞𝐛𝐮𝐠𝐠𝐞𝐝 𝟒𝟎+ 𝐀𝐈 𝐀𝐠𝐞𝐧𝐭 𝐟𝐚𝐢𝐥𝐮𝐫𝐞𝐬 𝐢𝐧 𝐏𝐫𝐨𝐝𝐮𝐜𝐭𝐢𝐨𝐧.   The pattern is always the same:  Teams build the "happy path" beautifully, then deploy without any of the safeguards that prevent catastrophic failures. Here are the 8 Reliability Patterns that separate demos from production systems: 1. Evidence-Grounded Generation • Prevents hallucinations by ensuring outputs derive from verifiable knowledge rather than model memory • Without this, your agent invents facts confidently 2. Dual-Agent Validation (Generator + Evaluator) • Decoupling generation from evaluation catches factual and logical errors before reaching users • One agent writes, another agent critiques both must agree 3. Context Quality Gating • Unfiltered context introduces noise, stale data, and irrelevant signals that degrade reliability • Garbage in, garbage out even with perfect models 4. Intent Normalization & Query Expansion • Poorly formed queries lead to poor retrieval, regardless of model capability • Fix the question before you try to answer it 5. Strict Context-Bound Reasoning • Forcing evidence-based reasoning prevents speculative answers and silent hallucinations • If it is not in the context, the agent shouldn't claim it 6. Schema-Constrained Output Enforcement • Structured outputs are predictable; unstructured outputs break downstream systems • Your agent's response is someone else's input 7. Uncertainty Estimation & Response Gating • Low-confidence responses are often worse than no response in production systems • Knowing when NOT to answer is as important as knowing how to answer 8. Post-Generation Claim Verification Loop • Critical decisions require external verification, not single-pass model trust • For high-stakes outputs, trust but verify The pattern I see repeatedly: Teams ship agents with workflows 1-4, thinking they have covered reliability. Then a user asks an edge case question and the agent either hallucinates confidently or generates malformed output that crashes the downstream system. Reliability is not one thing it is a layered defense strategy. What most teams underestimate: The cost of implementing these patterns upfront vs. the cost of debugging production failures later. Building all 8 patterns adds 2-3 weeks to development. Fixing production incidents without them costs months. My advice: Do not deploy Agents without at minimum:  Evidence-Grounding (#1),  Dual Validation (#2), and  Uncertainty Gating (#7). The other patterns can be added as you scale, but these three are non-negotiable. 𝐖𝐡𝐢𝐜𝐡 𝐫𝐞𝐥𝐢𝐚𝐛𝐢𝐥𝐢𝐭𝐲 𝐩𝐚𝐭𝐭𝐞𝐫𝐧 𝐚𝐫𝐞 𝐲𝐨𝐮 𝐜𝐮𝐫𝐫𝐞𝐧𝐭𝐥𝐲 𝐦𝐢𝐬𝐬𝐢𝐧𝐠? ♻️ Repost this to help your network get started ➕ Follow Prashant Rathi for more PS. Opinions expressed are my own in a personal capacity and do not represent the views, policies, or positions of my employer (currently McKinsey & Company) or affiliates. #GenAI #EnterpriseAI #AgenticAI

  • View profile for Prem N.

    AI GTM & Transformation Leader | Value Realization | Evangelist | Perplexity Fellow | 22K+ Community Builder

    22,524 followers

    𝐀𝐈 𝐚𝐠𝐞𝐧𝐭𝐬 𝐚𝐫𝐞 𝐩𝐨𝐰𝐞𝐫𝐟𝐮𝐥 - 𝐛𝐮𝐭 𝐭𝐡𝐞𝐲 𝐚𝐥𝐬𝐨 𝐛𝐫𝐞𝐚𝐤 𝐢𝐧 𝐬𝐮𝐫𝐩𝐫𝐢𝐬𝐢𝐧𝐠 𝐰𝐚𝐲𝐬. As agentic systems become more complex, multi-step, and tool-driven, understanding why they fail (and how to fix it) becomes critical for anyone building reliable AI workflows. This framework highlights the 10 most common failure modes in AI agents and the practical fixes that prevent them: - 𝐇𝐚𝐥𝐥𝐮𝐜𝐢𝐧𝐚𝐭𝐞𝐝 𝐑𝐞𝐚𝐬𝐨𝐧𝐢𝐧𝐠 Agents invent steps, facts, or assumptions. Fix: Add grounding (RAG), verification steps, and critic agents. - 𝐓𝐨𝐨𝐥 𝐌𝐢𝐬𝐮𝐬𝐞 Agents pick the wrong tool or misinterpret outputs. Fix: Provide clear schemas, examples, and post-tool validation. - 𝐈𝐧𝐟𝐢𝐧𝐢𝐭𝐞 𝐨𝐫 𝐋𝐨𝐧𝐠 𝐋𝐨𝐨𝐩𝐬 Agents refine forever without reaching “good enough.” Fix: Add iteration limits, stopping rules, or watchdog agents. - 𝐅𝐫𝐚𝐠𝐢𝐥𝐞 𝐏𝐥𝐚𝐧𝐧𝐢𝐧𝐠 Plans collapse after a single failure. Fix: Insert step checks, partial output validation, and re-evaluation rules. - 𝐎𝐯𝐞𝐫-𝐃𝐞𝐥𝐞𝐠𝐚𝐭𝐢𝐨𝐧 Agents hand off tasks endlessly, creating runaway chains. Fix: Use clear role definitions and ownership boundaries. - 𝐂𝐚𝐬𝐜𝐚𝐝𝐢𝐧𝐠 𝐄𝐫𝐫𝐨𝐫𝐬 Small early mistakes compound into major failures. Fix: Insert verification layers and checkpoints throughout the task. - 𝐂𝐨𝐧𝐭𝐞𝐱𝐭 𝐎𝐯𝐞𝐫𝐟𝐥𝐨𝐰 Agents forget earlier steps or lose track of conversation state. Fix: Use episodic + semantic memory and frequent summaries. - 𝐔𝐧𝐬𝐚𝐟𝐞 𝐀𝐜𝐭𝐢𝐨𝐧𝐬 Agents attempt harmful, risky, or unintended behaviors. Fix: Add safety rails, sandbox access, and allow/deny lists. - 𝐎𝐯𝐞𝐫-𝐂𝐨𝐧𝐟𝐢𝐝𝐞𝐧𝐜𝐞 𝐢𝐧 𝐁𝐚𝐝 𝐎𝐮𝐭𝐩𝐮𝐭𝐬 LLMs answer incorrectly with total confidence. Fix: Add confidence estimation prompts and critic–verifier loops. - 𝐏𝐨𝐨𝐫 𝐌𝐮𝐥𝐭𝐢-𝐀𝐠𝐞𝐧𝐭 𝐂𝐨𝐨𝐫𝐝𝐢𝐧𝐚𝐭𝐢𝐨𝐧 Agents argue, duplicate work, or block each other. Fix: Add role structure, shared workflows, and central orchestration. Reliable AI agents are not created by prompt engineering alone - they are created by systematically eliminating failure modes. When guardrails, memory, grounding, validation, and coordination are all designed intentionally, agentic systems become far more stable, predictable, and trustworthy in real-world use. ♻️ Repost this to help your network get started ➕ Follow Prem N. for more

  • View profile for Parth Kalkar

    Builder | Full-Stack AI/ML Engineer | LLMs, Agentic Systems & On-Device Intelligence | ex AI @ BMW

    9,027 followers

    I finally got my machine learning model to say "I don't know" today, and it is a beautiful thing. For years, we have dealt with "Overconfident AI." A standard Neural Network will look at a completely out-of-distribution input and still predict an answer with 99.9% Softmax confidence. In critical systems, that overconfidence is dangerous. We knew Gaussian Processes (GPs) were the mathematical holy grail for this.  - They don't just give you a prediction; they give you a mathematically rigorous *Variance* (a confidence interval).  - But we always had to abandon them because the math requires inverting a covariance matrix, which scales at O(N^3).  - If your dataset hits 10,000 rows, your server crashes. (so overall we can sum it up with) Neural Networks will confidently guess the wrong answer when faced with unfamiliar data. Gaussian Processes (GPs) solve this by mathematically calculating their own uncertainty, but they were historically too slow to use in production. The Lesson: I implemented *Sparse Variational Gaussian Processes (SVGP)*.  It tackles one of the most dangerous flaws in modern Deep Learningoverconfidence, and shows how to solve it at scale using elegant mathematics. We stopped trying to compute the exact covariance for every single data point in the pipeline. Instead, SVGP learns a small, optimized set of Inducing Points (M). These inducing points act as a learned "summary" of the entire dataset. • The Math: By conditioning the distribution only on these M inducing points, the computational bottleneck drops exponentially from O(N^3) down to O(N*M^2). • The Optimization: We don't just pick random data points. The model uses Variational Inference to actively move these inducing points during training, placing them in the most mathematically informative locations in the feature space. • The Scale: Because SVGP decouples the data from the covariance matrix, we can finally use mini-batch Stochastic Gradient Descent (SGD) to train GPs on millions of rows. The Result: • Safety: When the model encounters a weird edge case it hasn't seen before, the predicted variance naturally widens. The model explicitly flags "I am uncertain," allowing us to safely route the decision to a human fallback. • Scale: We are running exact-level uncertainty quantification on 2 million rows in minutes, using standard PyTorch hardware. • Trust: We no longer guess if our model is hallucinating. We can measure it. Stop letting your models guess blindly. Teach them how to measure their own uncertainty.  (this technique can also help with hallucinations for critical data!) #MachineLearning #DataScience #AIResearch #DeepLearning

  • View profile for Vince Lynch

    CEO of IV.AI | The AI Platform and Data Source to Reveal What Matters | We’re hiring

    11,941 followers

    I’m jealous of AI Because with a model you can measure confidence Imagine you could do that as a human? Measure how close or far off you are? here's how to measure for technical and non-technical teams For business teams: Run a ‘known answers’ test. Give the model questions or tasks where you already know the answer. Think of it like a QA test for logic. If it can't pass here, it's not ready to run wild in your stack. Ask for confidence directly. Prompt it: “How sure are you about that answer on a scale of 1-10?” Then: “Why might this be wrong?” You'll surface uncertainty the model won't reveal unless asked. Check consistency. Phrase the same request five different ways. Is it giving stable answers? If not, revisit the product strategy for the llm Force reasoning. Use prompts like “Show step-by-step how you got this result.” This lets you audit the logic, not just the output. Great for strategy, legal, and product decisions. For technical teams: Use the softmax output to get predicted probabilities. Example: Model says “fraud” with 92% probability. Use entropy to spot uncertainty. High entropy = low confidence. (Shannon entropy: −∑p log p) Language models Extract token-level log-likelihoods from the model if you have API or model access. These give you the probability of each word generated. Use sequence likelihood to rank alternate responses. Common in RAG and search-ranking setups. For uncertainty estimates, try: Monte Carlo Dropout: Run the same input multiple times with dropout on. Compare outputs. High variance = low confidence. Ensemble models: Aggregate predictions from several models to smooth confidence. Calibration testing: Use a reliability diagram to check if predicted probabilities match actual outcomes. Use Expected Calibration Error (ECE) as a metric. Good models should show that 80% confident = ~80% correct. How to improve confidence (and make it trustworthy) Label smoothing during training Prevents overconfident predictions and improves generalization. Temperature tuning (post-hoc) Adjusts the softmax sharpness to better align confidence and accuracy. Temperature < 1 → sharper, more confident Temperature > 1 → more cautious, less spiky predictions Fine-tuning on domain-specific data Shrinks uncertainty and reduces hedging in model output. Especially effective for LLMs that need to be assertive in narrow domains (legal, medicine, strategy). Use focal loss for noisy or imbalanced datasets. It down-weights easy examples and forces the model to pay attention to harder cases, which tightens confidence on the edge cases. Reinforcement learning from human feedback (RLHF) Aligns the model's reward with correct and confident reasoning. Bottom line: A confident model isn't just better - it's safer, cheaper, and easier to debug. If you’re building workflows or products that rely on AI, but you’re not measuring model confidence, you’re guessing. #AI #ML #LLM #MachineLearning #AIConfidence #RLHF #ModelCalibration

  • View profile for Markus Kuehnle

    ML/AI Engineer | Building End-to-End Systems | Helping engineers ship AI from scratch to production

    14,240 followers

    The better your ML system gets, the more painful its failures become. When a system works 95% of the time, people start to 𝘁𝗿𝘂𝘀𝘁 it. They stop checking. They assume it just works. And then? One strange failure. Unexplained. Misaligned. Just off. And trust is gone. This happens all the time in: - Agent-based systems - RAG pipelines - Customer-facing applications - Even a simple churn model that flags your biggest client by mistake 𝗥𝗲𝗹𝗶𝗮𝗯𝗶𝗹𝗶𝘁𝘆 𝗯𝘂𝗶𝗹𝗱𝘀 𝘁𝗿𝘂𝘀𝘁. 𝗧𝗿𝘂𝘀𝘁 𝗶𝗻𝗰𝗿𝗲𝗮𝘀𝗲𝘀 𝗿𝗶𝘀𝗸. That’s the paradox. 𝗦𝘂𝗰𝗰𝗲𝘀𝘀 𝗿𝗮𝗶𝘀𝗲𝘀 𝗲𝘅𝗽𝗲𝗰𝘁𝗮𝘁𝗶𝗼𝗻𝘀. And when your system slips, it doesn’t feel like a bug.  It feels like a breach of trust. 𝗪𝗵𝗮𝘁 𝗰𝗮𝗻 𝘆𝗼𝘂 𝗮𝗰𝘁𝘂𝗮𝗹𝗹𝘆 𝗱𝗼 𝗮𝗯𝗼𝘂𝘁 𝗶𝘁? This is not just for production teams. Even small portfolio projects benefit from this mindset. 𝟭. 𝗗𝗼𝗻’𝘁 𝗷𝘂𝘀𝘁 𝗼𝗽𝘁𝗶𝗺𝗶𝘇𝗲 𝗳𝗼𝗿 𝗮𝗰𝗰𝘂𝗿𝗮𝗰𝘆. • Track weird and rare inputs • Tag errors by why they happened, not just how many • Log how users react: ignore, undo, repeat 𝟮. 𝗕𝘂𝗶𝗹𝗱 𝗴𝘂𝗮𝗿𝗱𝗿𝗮𝗶𝗹𝘀 𝗮𝗻𝗱 𝗳𝗮𝗹𝗹𝗯𝗮𝗰𝗸𝘀. • Add a check: if confidence is low, return a safe default • Show a confidence score or quick explanation • Catch hallucinations and infinite loops with basic logic 𝟯. 𝗗𝗲𝘀𝗶𝗴𝗻 𝗳𝗼𝗿 𝘀𝗵𝗶𝗳𝘁𝗶𝗻𝗴 𝘁𝗿𝘂𝘀𝘁. • First-time users need context and safety • Repeat users can become overconfident, so remind them • If your model or data changes, let the user know 𝗜𝗻 𝗼𝗻𝗲 𝗥𝗔𝗚 𝗽𝗿𝗼𝗷𝗲𝗰𝘁, 𝘄𝗲 𝗻𝗼𝘁𝗶𝗰𝗲𝗱 𝘀𝗼𝗺𝗲 𝘂𝘀𝗲𝗿 𝗾𝘂𝗲𝗿𝗶𝗲𝘀 𝘄𝗲𝗿𝗲 𝘁𝗼𝗼 𝘃𝗮𝗴𝘂𝗲 𝗼𝗿 𝗼𝘂𝘁-𝗼𝗳-𝘀𝗰𝗼𝗽𝗲. Instead of letting the system hallucinate, we added a simple check: → If similarity score was low and the top documents were generic, we showed: “𝘚𝘰𝘳𝘳𝘺, 𝘐 𝘯𝘦𝘦𝘥 𝘮𝘰𝘳𝘦 𝘤𝘰𝘯𝘵𝘦𝘹𝘵 𝘵𝘰 𝘩𝘦𝘭𝘱 𝘸𝘪𝘵𝘩 𝘵𝘩𝘢𝘵.” It wasn’t fancy. But it prevented bad answers and kept user trust. Because these systems don’t just run on code. They run on trust. 𝗜𝗳 𝘆𝗼𝘂'𝗿𝗲 𝗯𝘂𝗶𝗹𝗱𝗶𝗻𝗴 𝗔𝗜 𝗳𝗼𝗿 𝗿𝗲𝗮𝗹 𝘂𝘀𝗲, 𝗻𝗼𝘁 𝗷𝘂𝘀𝘁 𝗳𝗼𝗿 𝗮 𝗹𝗲𝗮𝗿𝗻𝗶𝗻𝗴 𝗽𝗿𝗼𝗷𝗲𝗰𝘁: → Start small. → Add a fallback → Explain your outputs → Track how your system performs over time These aren’t advanced tricks. They’re good engineering. 💬 What’s one thing you could add to your current project to make it more reliable? ♻️ Repost to help someone in your network.

  • View profile for Deepak Agrawal

    Founder & CEO @ Infra360 | DevOps, FinOps & CloudOps Partner for FinTech, SaaS & Enterprises

    18,225 followers

    I almost took down an entire cloud infrastructure. 12 years in DevOps, and nothing humbles you faster than realizing you almost took down an entire cloud infrastructure with a single command. This happened early in my career. A routine cleanup task. Just another day in DevOps. But in a moment of overconfidence (and fatigue), I ran a command that wiped out critical resources across multiple environments. 🚨 No confirmation prompts. 🚨 No safeguards. 🚨 Just instant destruction. Seconds later, dashboards turned red. Alerts flooded in. My stomach sank. I had just executed a production-level disaster. The mad scramble to recover: 🔴 Backups? Outdated. 🔴 Automated recovery? Not fully implemented. 🔴 Dependencies? A tangled mess. That day changed everything for me. What I learned (the hard way): ✅ 𝐀𝐬𝐬𝐮𝐦𝐞 𝐟𝐚𝐢𝐥𝐮𝐫𝐞 𝐰𝐢𝐥𝐥 𝐡𝐚𝐩𝐩𝐞𝐧. If your system can’t recover automatically, it’s not resilient. ✅ 𝐁𝐚𝐜𝐤𝐮𝐩𝐬 𝐚𝐫𝐞 𝐮𝐬𝐞𝐥𝐞𝐬𝐬 𝐢𝐟 𝐭𝐡𝐞𝐲’𝐫𝐞 𝐧𝐨𝐭 𝐭𝐞𝐬𝐭𝐞𝐝. You don’t have backups, you have a hope strategy. ✅ 𝐄𝐯𝐞𝐫𝐲 𝐜𝐨𝐦𝐦𝐚𝐧𝐝 𝐬𝐡𝐨𝐮𝐥𝐝 𝐛𝐞 𝐫𝐞𝐯𝐞𝐫𝐬𝐢𝐛𝐥𝐞. No "undo" button? You’re playing Russian roulette with production. ✅ 𝐏𝐞𝐫𝐦𝐢𝐬𝐬𝐢𝐨𝐧𝐬 𝐬𝐡𝐨𝐮𝐥𝐝 𝐩𝐫𝐨𝐭𝐞𝐜𝐭 𝐲𝐨𝐮 𝐟𝐫𝐨𝐦 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟. If one person can wipe everything, your IAM policies are broken. ✅ "𝐓𝐡𝐢𝐬 𝐰𝐢𝐥𝐥 𝐧𝐞𝐯𝐞𝐫 𝐡𝐚𝐩𝐩𝐞𝐧" 𝐢𝐬 𝐚 𝐥𝐢𝐞. It will happen. And when it does, you’ll wish you built better fail-safes. That incident could have been a career-ender. Instead, it became a career-defining lesson. 𝐃𝐞𝐯𝐎𝐩𝐬 𝐢𝐬𝐧’𝐭 𝐣𝐮𝐬𝐭 𝐚𝐛𝐨𝐮𝐭 𝐚𝐮𝐭𝐨𝐦𝐚𝐭𝐢𝐨𝐧 𝐨𝐫 𝐬𝐜𝐚𝐥𝐢𝐧𝐠. 𝐈𝐭’𝐬 𝐚𝐛𝐨𝐮𝐭 𝐞𝐧𝐠𝐢𝐧𝐞𝐞𝐫𝐢𝐧𝐠 𝐟𝐚𝐢𝐥𝐮𝐫𝐞 𝐚𝐧𝐝 𝐬𝐮𝐫𝐯𝐢𝐯𝐢𝐧𝐠 𝐢𝐭. Have you ever had a near-disaster moment?

  • View profile for Sharad Bajaj

    VP Engineering, Microsoft | Agentic AI & Data Platforms | Building Systems that Make Decisions, Not Predictions | Ex-AWS | Author

    27,793 followers

    The Dunning-Kruger Effect: How to Combat It ? The Dunning-Kruger Effect, where people overestimate their abilities in areas they are less skilled, is common in fast-evolving fields like software engineering. 1. Seek Feedback Regularly Example: An engineer might design a system for scaling an application and feel confident it will handle traffic spikes. By presenting the design in an architecture review, peers might highlight overlooked bottlenecks, such as database write limits or inefficient caching strategies. This feedback leads to a more robust system and a better understanding of scalability challenges. Takeaway: Embrace feedback loops—whether in code reviews, system designs, or retrospectives—to uncover blind spots. 2. Embrace Curiosity Example: If you only use a particular programming framework or cloud service, it’s easy to think it’s the ultimate solution. For instance, an engineer working exclusively with Kubernetes might assume it’s always the best choice until exposure to serverless architecture highlights its strengths in simplifying infrastructure management for specific use cases. Takeaway: Be curious about tools, languages, and methodologies outside your comfort zone. Shadowing peers, attending tech meetups, or experimenting with open-source projects can broaden your perspective. 3. Document Decisions Example: Engineers often make technical decisions under constraints like deadlines or limited resources. Documenting the “why” behind a choice, such as selecting a database technology, helps others (and future you) understand the trade-offs made and avoids revisiting decisions unnecessarily. Takeaway: Documentation isn’t just for others—it’s a tool to evaluate your thinking and refine your decision-making process. 4. Acknowledge What You Don’t Know Example: During an incident, an engineer who acknowledges, “I’m not sure what’s causing the issue, but I’ll investigate,” fosters trust and collaboration. Overconfidence in prematurely identifying a root cause could lead to wasted time and prolonged outages. Takeaway: Honest communication about knowledge gaps builds trust and creates space for collaborative problem-solving. 5. Balance Confidence with Humility Example: Engineers may feel confident advocating for a specific solution, such as a new library or tool, based on their experience. But remaining open to counterarguments, such as potential security vulnerabilities or maintenance overhead, ensures the decision aligns with the broader goals of the team. Takeaway: Confidence in your knowledge is important, but humility allows you to grow, learn, and foster collaboration. The Dunning-Kruger Effect is a reminder that growth comes from recognizing the limits of your knowledge and striving to learn continuously. What strategies do you use to ensure you’re learning while staying confident in your decisions? Share your thoughts! #learning #growth #saturdaypost #softwareengineering #developing

  • View profile for Jay Gengelbach

    Software Engineer at Vercel

    19,256 followers

    "If you haven't tested restoring from backups, you don't have backups." I've been prepping some materials for an internal talk about observability and testing, and I keep coming back to this quote. It's one of the pithiest summaries of why we have to build software the way we do. Allow me to make it less pithy. Fundamentally, you cannot rely on a system to perform a job that you haven't validated its ability to perform. Testing and monitoring are two sides of the same coin. Stamped on the coin is the slogan "If you can't prove you're doing it, you're not doing it." They're minted from pure sodium, so they catch fire when you're not watching them, much like all software. As I write this, there's a flashlight sitting on the floor nearby. (Why? I have kids, that's why. There's always something weird sitting on the floor nearby.) If I flick the switch on the flashlight today and it turns on, I can have high confidence that I can flick the switch again tomorrow and it will still turn on. I do not have this level of confidence for the software I write. Why? Software exists in a hyper-connected, hyper-malleable environment. Very little of the flashlight's state is capable of changing in 24h on my floor. But in that time, the number of variables that could meaningfully impact the functioning of my software is so high that I cannot hope to enumerate them. The delightful thing about software is that the disease is also the cure. My flashlight can't do a thing to tell me that it's not functioning other than...well, not functioning. The hyper-connectedness of my software, on the other hand, means that it can gather and report meaningful data on its own operation: logs, traces, metrics, diagnostics! So while software is built on an unstable foundation of sand (figuratively, of course, although ironically, also literally), we can build such sophisticated machines with it that it almost doesn't matter. We can identify the weaknesses in our foundation early enough that we can patch up our walls before the waves knock them into the ocean. Of course, just because we *can* does not mean we *do*. We're prone to underestimating the rate of decay. We think we're building flashlights but we're building sandcastles at low tide. This is why observability matters. You cannot build a machine that lasts without accounting for erosion. Build machines that validate your machines that validate your machines, because it's sand all the way down.

  • View profile for Daron Yondem

    Author, Agentic Organizations | Helping leaders redesign how their organizations work with AI

    57,364 followers

    Hallucinations aren’t just bugs, they’re the flip side of creativity in generative AI. Imagination is great for drafts; it’s costly for decisions. Here’s how to keep models creative when you want, and correct when you must. What “hallucination” really is... Transformer models predict the next token, not the truth. Their fluency tricks us into trusting them, and early UX choices rewarded “answer anyway” behavior. Add messy domains and fast-changing rules, and you get confident nonsense. Why we shouldn’t kill all hallucinations? You want invention in poetry, naming, storytelling. You want proofs in finance, cloud/security, policy, pricing, compliance, and agents that take actions. The goal isn’t zero imagination; it’s selective reliability. Here is my pragmatic playbook to reduce hallucinations (without losing creativity) 1. Define truth & stakes up front, write down your domain rules, error budgets, and when “I don’t know” is acceptable. Ambiguity breeds fabrication. 2. Encourage the model to ask “Why are you asking?” or to clarify before answering. Route unclear cases to humans. 3. Retrieve from approved, current sources; require provenance (“no source, no claim”). 4. Use automated reasoning / symbolic checks to encode policies (jurisdictions, entitlements, constraints) and prove/disprove claims before they reach the user. This is the neuro-symbolic approach: LLMs for language + logic for correctness. 5. Enforce schemas, types, units, ranges, and referential integrity (e.g., toppings vs. base in a “half pepperoni” pizza). 6. Penalize overconfident wrong answers; reward abstention and citation. 7. Dry-run plans, simulate effects, use least privilege and transactional rollbacks; require checks before real-world actions. A simple maturity ladder might look like this 👇 0) Prompting only 1) RAG 2) Guardrails + refusal 3) Tool composition (plans, validators) 4) Automated reasoning for high-stakes paths 5) Org-wide rule libraries with versioning & audit. Metrics that matter - Faithfulness (to retrieved sources) - Calibration (Brier score / confidence vs. accuracy) - Refusal & repair rates - Time-to-update after a rule change - Action safety for agents (violations per 1k actions) Treat “truth” as an engineering surface, not a hope. Combine retrieval, clear rules, and automated reasoning so creativity thrives where it should, and can’t leak where it mustn’t. Curious how others are tackling this? What’s the first rule you’d formalize in your AI stack? 👇

  • View profile for Vijayan Seenisamy

    Enterprise Agentic AI Systems Delivery | Creator, AI ROF (TM) | Author, The AI Delivery Manager Blueprint | Helping enterprises take AI agents from pilot to production

    9,347 followers

    Every AI program eventually hits the same wall. “𝐂𝐚𝐧 𝐰𝐞 𝐬𝐡𝐢𝐩 𝐭𝐡𝐢𝐬?” Not because the model is broken. But because no one owns what “𝐬𝐚𝐟𝐞 𝐞𝐧𝐨𝐮𝐠𝐡” actually means. The hardest part of AI delivery is not the code. It is deciding what “safe enough” means, then proving it holds in the real world. In software delivery, we ship when tests pass. In AI delivery, we ship when the confidence is acceptable, and the downside is contained when it is wrong. That is why so many teams get stuck after a great pilot. The pilot proves capability. Scale demands reliability. 𝐇𝐞𝐫𝐞 𝐢𝐬 𝐚 𝐩𝐫𝐚𝐜𝐭𝐢𝐜𝐚𝐥 𝐰𝐚𝐲 𝐭𝐨 𝐫𝐮𝐧 𝐭𝐡𝐚𝐭 𝐝𝐞𝐜𝐢𝐬𝐢𝐨𝐧 𝐰𝐢𝐭𝐡𝐨𝐮𝐭 𝐭𝐮𝐫𝐧𝐢𝐧𝐠 𝐢𝐭 𝐢𝐧𝐭𝐨 𝐞𝐧𝐝𝐥𝐞𝐬𝐬 𝐝𝐞𝐛𝐚𝐭𝐞. Treat confidence like a delivery budget. You define three things up front. 𝐑𝐢𝐬𝐤 𝐭𝐢𝐞𝐫 What is the cost of being wrong, reputational, financial, regulatory, customer harm. 𝐌𝐢𝐧𝐢𝐦𝐮𝐦 𝐜𝐨𝐧𝐟𝐢𝐝𝐞𝐧𝐜𝐞 𝐟𝐨𝐫 𝐫𝐞𝐥𝐞𝐚𝐬𝐞 A threshold tied to that risk tier, backed by evaluation results, not gut feel. 𝐃𝐞𝐠𝐫𝐚𝐝𝐚𝐭𝐢𝐨𝐧 𝐩𝐥𝐚𝐧 What the system does when confidence drops, slow down, ask a clarifying question, hand off to human, or stop. This turns “can we ship?” from a recurring meeting into an executable decision. Because the real failure mode is not hallucination. It is shipping without a confidence boundary, then pretending production will be as clean as the demo. If you are building or delivering AI right now: what is your current release threshold, and who actually owns that call? ➕ Follow me, Vijayan Seenisamy (VJ) Seenisamy, for AI Role Blueprints, Guardrail Plays, and the AI ROF System.

Explore categories