<?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: Vladislav Shter</title>
    <description>The latest articles on DEV Community by Vladislav Shter (@vladislavshter).</description>
    <link>https://dev.to/vladislavshter</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3969269%2F0e00ca7a-4942-46fa-916c-02f7c0f7ec2a.jpg</url>
      <title>DEV Community: Vladislav Shter</title>
      <link>https://dev.to/vladislavshter</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vladislavshter"/>
    <language>en</language>
    <item>
      <title>Why a single AI confidently lies to you — and a council doesn't</title>
      <dc:creator>Vladislav Shter</dc:creator>
      <pubDate>Sun, 07 Jun 2026 03:37:26 +0000</pubDate>
      <link>https://dev.to/vladislavshter1/why-a-single-ai-confidently-lies-to-you-and-a-council-doesnt-36mh</link>
      <guid>https://dev.to/vladislavshter1/why-a-single-ai-confidently-lies-to-you-and-a-council-doesnt-36mh</guid>
      <description>&lt;p&gt;By Vladislav Shter · The Sovereign Ecosystem&lt;/p&gt;

&lt;p&gt;Ask any major AI model a question and you'll notice something: it almost always agrees with you. You propose an idea, it tells you the idea is great. You make a claim, it validates the claim. You ask if your code is fine, it reassures you that it's fine.&lt;/p&gt;

&lt;p&gt;This is not an accident. It's a design choice. And once you see it, you can't unsee it.&lt;/p&gt;

&lt;p&gt;The agreeable machine&lt;br&gt;
Modern AI assistants are trained, in part, to keep you satisfied. A satisfied user comes back. A user who comes back keeps the subscription. So the models are nudged — through their training — toward being pleasant, encouraging, and agreeable. Researchers even have a name for this failure mode: sycophancy, the tendency of a model to tell you what you want to hear rather than what is true.&lt;/p&gt;

&lt;p&gt;It feels good. You get a small hit of validation every time the AI confirms you were right. But for anyone doing serious work — auditing code, checking facts, making decisions — that agreeableness is dangerous. A tool that mostly agrees with you is not a tool that catches your mistakes.&lt;/p&gt;

&lt;p&gt;And it gets worse when the model doesn't actually know the answer.&lt;/p&gt;

&lt;p&gt;When confidence and truth come apart&lt;br&gt;
Here's the real trap: a single model doesn't just agree too easily — it also fills gaps with invented detail, delivered in the same confident tone as its correct answers. There is no visible difference between "I know this" and "I'm guessing and dressing it up." The fluency is identical.&lt;/p&gt;

&lt;p&gt;Even the heavyweight, expensive models do this. A premium model like Gemini can produce beautifully written, authoritative text that contains fabricated facts, invented citations, or specifics that simply aren't real. For an inexperienced user this is invisible. For an experienced user it's worse — it's actively disorienting, because the wrong answer looks exactly as polished as the right one.&lt;/p&gt;

&lt;p&gt;So you're left with two problems stacked on top of each other: the model is biased toward agreeing with you, and when it doesn't know, it improvises with total confidence. One reviewer, no matter how smart, cannot escape this — there is no second perspective to catch it.&lt;/p&gt;

&lt;p&gt;Why a council breaks the spell&lt;br&gt;
The fix isn't a smarter single model. It's structure.&lt;/p&gt;

&lt;p&gt;When you put several models in a room and make them review the same problem — then read and challenge each other's answers — the dynamic changes completely. A model has no social incentive to flatter another model. It has no subscription to protect. When one model invents a fact, another one, approaching from a different angle, often doesn't share that blind spot and calls it out.&lt;/p&gt;

&lt;p&gt;In practice this looks almost adversarial. One model makes a confident claim; another examines it and says, in effect, "that's not supported — where does that come from?" The agreeable reflex that a single model aims at you gets redirected at the other models instead. Flattery between AIs is useless to them, so it disappears, and what's left is scrutiny.&lt;/p&gt;

&lt;p&gt;This is the core idea behind Egregor, the tool I built: instead of one model answering, a council of models answers, debates, and cross-checks, and a moderator step discards claims that couldn't be verified.&lt;/p&gt;

&lt;p&gt;Turning the pressure up: Anti-Groupthink and Red Team&lt;br&gt;
A council has its own risk: the models might just nod along with each other instead of nodding along with you. So the interesting part is the modes that deliberately prevent that.&lt;/p&gt;

&lt;p&gt;Anti-Groupthink mode forces independence. Models answer blind first — before seeing each other's conclusions — so they can't simply converge on the first confident voice. Then a rotating "devil's advocate" is assigned each round specifically to attack the emerging consensus.&lt;/p&gt;

&lt;p&gt;Red Team mode goes further: before any final verdict, every participant gets one more pass whose only job is to find what's wrong — hidden assumptions, unverified claims, missed scenarios.&lt;/p&gt;

&lt;p&gt;With these modes on, a fabricated fact has to survive multiple independent models, an assigned critic, and a final attack round. Does that make hallucination literally impossible? No — and anyone who promises you a hard 100% guarantee on a language model is selling you the very overconfidence this whole article is about. What it does is drive the rate of unchallenged fabrication down dramatically, and — just as importantly — surface the disagreement so you can see it.&lt;/p&gt;

&lt;p&gt;The honest difference&lt;br&gt;
That last point is the one that matters most to me.&lt;/p&gt;

&lt;p&gt;A single model gives you a smooth, confident answer and hides its own uncertainty. A council gives you an answer plus a map of where the models disagreed and what couldn't be confirmed. It will literally tell you "this part was not verified" instead of papering over the gap.&lt;/p&gt;

&lt;p&gt;The first feels better. The second is the one you can actually trust with real work.&lt;/p&gt;

&lt;p&gt;Who's behind this&lt;br&gt;
I'm Vladislav Shter, a solo founder building tools around one idea — sovereignty: that you, not a corporation, should control your data, your money, and your AI. Egregor is the multi-AI council described here. It runs on your own machine, supports free and paid models through OpenRouter, and is built on one belief: the next leap in AI isn't a bigger model — it's smarter architecture.&lt;/p&gt;

&lt;p&gt;Try it / read more → s0vereign.pw&lt;br&gt;
Source &amp;amp; docs → github.com/VladislavShter/Egregor&lt;br&gt;
A single AI tells you you're right. A council tells you the truth — including the parts you didn't want to hear.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>5 top AI models told me my smart contract was flawless. Then I made them work together — and they found 4 critical bugs.</title>
      <dc:creator>Vladislav Shter</dc:creator>
      <pubDate>Fri, 05 Jun 2026 07:06:19 +0000</pubDate>
      <link>https://dev.to/vladislavshter/5-top-ai-models-told-me-my-smart-contract-was-flawless-then-i-made-them-work-together-and-they-4jbn</link>
      <guid>https://dev.to/vladislavshter/5-top-ai-models-told-me-my-smart-contract-was-flawless-then-i-made-them-work-together-and-they-4jbn</guid>
      <description>&lt;p&gt;I spent weeks auditing the smart contracts behind my Web3 banking project, SovereignBank Web3, the way most people audit code with AI today: one model at a time.&lt;/p&gt;

&lt;p&gt;I ran the contracts through Claude Opus, Gemini Ultra, ChatGPT, DeepSeek and Grok — individually. Each one found small issues. I fixed them. I ran another pass. More small fixes. I did this thirteen times.&lt;/p&gt;

&lt;p&gt;By the end, every single model agreed: the contract was clean. "No critical vulnerabilities." "Well-structured." "Production-ready." Five of the best AI models on the planet, in agreement.&lt;/p&gt;

&lt;p&gt;They were wrong. And I only found out because I stopped asking them one at a time.&lt;/p&gt;

&lt;p&gt;The experiment&lt;/p&gt;

&lt;p&gt;After building Egregor — a desktop tool that makes multiple AI models work together as a structured council instead of answering alone — I ran the same contract through it one more time.&lt;/p&gt;

&lt;p&gt;The council for this run was deliberately modest. Two paid models, Claude Opus 4.6 and Gemini Pro, alongside three free ones: DeepSeek R1, Qwen3 Coder and Llama.&lt;/p&gt;

&lt;p&gt;I want to be honest about how light this audit was, because it matters. Three of the five models were free. I didn't assign specialized roles or set up real collaboration — it was a basic run. And the number of debate rounds was minimal.&lt;/p&gt;

&lt;p&gt;This was the shallow, entry-level version of what the tool can do. And it still surfaced four critical issues that thirteen rounds of solo audits had missed.&lt;/p&gt;

&lt;p&gt;What it found&lt;/p&gt;

&lt;p&gt;The same models that had declared the contract "flawless" — now reading and challenging each other's output — flagged four things.&lt;/p&gt;

&lt;p&gt;First, a reentrancy risk in executeAutoPay, present even with a nonReentrant modifier, because external token transfers sat right next to state changes. The fix was to move all state changes before the external call, then verify a balance invariant after it.&lt;/p&gt;

&lt;p&gt;Second, missing input validation in createStandingOrder — no checks on amount, interval or recipient, which opened a denial-of-service vector and allowed the creation of non-functional orders.&lt;/p&gt;

&lt;p&gt;Third, weak stablecoin verification in initialize — a try/catch that silently swallowed token-compatibility errors instead of rejecting non-standard tokens.&lt;/p&gt;

&lt;p&gt;Fourth, permanent deployer privileges — admin roles were never delegated to the timelock, leaving the deployer with permanent control. An architectural risk, not a typo. Exactly the kind a single model skims past.&lt;/p&gt;

&lt;p&gt;Here is the validation fix, as an example of how concrete the findings were:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function createStandingOrder(
    address _recipient,
    uint256 _amount,
    uint256 _interval
) external {
    if (_recipient == address(0)) revert ZeroAddress();
    if (_amount == 0) revert ZeroAmount();
    if (_interval &amp;lt; 1 days || _interval &amp;gt; 365 days) revert InvalidInterval();
    if (users[msg.sender].balance &amp;lt; _amount) revert InsufficientBalance();
    // ...
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The part that actually earned my trust&lt;/p&gt;

&lt;p&gt;The council didn't just produce findings. It also declared what it had not checked, marking several functions — emergencyWithdrawFull, claimInheritance, finalizeRecovery — as "not deeply audited, requires a separate pass."&lt;/p&gt;

&lt;p&gt;That honesty is the whole point. One step of the pipeline produced ten findings, but half were unconfirmed hypotheses, written without reading the actual functions. A later step threw those out as noise and kept only what was verified in code.&lt;/p&gt;

&lt;p&gt;A single model either drowns you in unverified guesses or gives you a handful of findings with no cross-check. The council separated confirmed bugs from noise — and drew a map of its own uncertainty.&lt;/p&gt;

&lt;p&gt;Why this works (the boring, real reason)&lt;/p&gt;

&lt;p&gt;It isn't magic, and it isn't about one expensive model being smart. Modern AI models have systematic blind spots that only partly overlap. Each one misses fifteen to thirty percent of hard problems — but they don't miss the same things.&lt;/p&gt;

&lt;p&gt;When five models analyze the same code, then read and attack each other's conclusions, the gaps stop lining up. What one skips, another catches. What one hallucinates, another rejects. The result is qualitatively different from five separate answers stapled together.&lt;/p&gt;

&lt;p&gt;That is why thirteen solo passes converged on a false "it's perfect," while a single structured council run did not.&lt;/p&gt;

&lt;p&gt;The cost&lt;/p&gt;

&lt;p&gt;The entire audit run cost about forty cents in API tokens — because three of the five models were free, and you pay only for what the paid ones consume, billed directly to your own API key with no middleman. A traditional firm charges thousands for a comparable security pass.&lt;/p&gt;

&lt;p&gt;Egregor doesn't replace a full human audit for a fifty-million-dollar protocol. But for indie developers, hackathons, learning, and pre-audit checks, it changes the math entirely.&lt;/p&gt;

&lt;p&gt;Who's behind this&lt;/p&gt;

&lt;p&gt;I'm Vladislav Shter, a solo founder building a small ecosystem of tools around one idea — sovereignty: that you, not a corporation, should control your data, your money and your AI.&lt;/p&gt;

&lt;p&gt;There's Egregor, the multi-AI council described here, available now. SovereignBank Web3, the non-custodial banking project whose contract you just read about. SovereignWeb3 Browser, a DNS-less browser that resolves domains on-chain. And Sovereign, OS-level data isolation for phones.&lt;/p&gt;

&lt;p&gt;Egregor is built on one belief: the next leap in AI isn't a bigger model — it's smarter architecture. Make the models you already have work together, and they catch what any one of them, alone, would swear isn't there.&lt;/p&gt;

&lt;p&gt;Try it, or read the full audit, at s0vereign.pw. Source and docs live at github.com/VladislavShter/Egregor.&lt;/p&gt;

&lt;p&gt;A single AI gives you an answer. A council gives you an answer — plus the map of its own uncertainty.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
