<?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: Gregory Harris</title>
    <description>The latest articles on DEV Community by Gregory Harris (@hd_gregory).</description>
    <link>https://dev.to/hd_gregory</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%2F4063280%2F57f8dcf1-023a-4501-a5e3-7f20d34bcd4f.png</url>
      <title>DEV Community: Gregory Harris</title>
      <link>https://dev.to/hd_gregory</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hd_gregory"/>
    <language>en</language>
    <item>
      <title>I Ran 4,200 Trials Testing LLM Agent Reliability. Here’s What Broke.</title>
      <dc:creator>Gregory Harris</dc:creator>
      <pubDate>Sat, 15 Aug 2026 01:11:38 +0000</pubDate>
      <link>https://dev.to/hd_gregory/i-ran-4200-trials-testing-llm-agent-reliability-heres-what-broke-4dek</link>
      <guid>https://dev.to/hd_gregory/i-ran-4200-trials-testing-llm-agent-reliability-heres-what-broke-4dek</guid>
      <description>&lt;p&gt;We know when an AI agent gets a response from a tool, getting a response back doesn’t necessarily mean that response should be trusted.&lt;/p&gt;

&lt;p&gt;It can lose context, become repetitive, grow less confident, fill gaps with agreeable language, or return something that looks usable while creating problems downstream.&lt;/p&gt;

&lt;p&gt;I built ReliAgent to look for reliability signals like these in agent tool calls.&lt;/p&gt;

&lt;p&gt;Then I built Basanos, a validation program designed to test it adversarially.&lt;/p&gt;

&lt;p&gt;Across Basanos-2 and Basanos-3, I ran 4,200 trials. Some of the most useful results weren’t the successful ones.&lt;/p&gt;

&lt;h2&gt;
  
  
  The benchmark found real problems
&lt;/h2&gt;

&lt;p&gt;I didn’t want Basanos to be a demonstration designed to produce good numbers.&lt;/p&gt;

&lt;p&gt;Testing uncovered genuine product issues that were corrected before publication. Later experiments also exposed problems in the experimental design itself and required corrective runs.&lt;/p&gt;

&lt;p&gt;Those corrections are part of the research record.&lt;/p&gt;

&lt;h2&gt;
  
  
  Then I changed the models
&lt;/h2&gt;

&lt;p&gt;Basanos-2 consisted of 1,800 trials, but it had an important limitation: it used a single model, Anthropic’s Sonnet 5.&lt;/p&gt;

&lt;p&gt;So Basanos-3 added 2,400 trials across 12 experiments using three additional model families:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GPT-5.6 Luna&lt;/li&gt;
&lt;li&gt;GPT-5.6 Terra&lt;/li&gt;
&lt;li&gt;Claude Haiku 4.5&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s when I ran into an interesting problem with how benchmark results can be interpreted.&lt;/p&gt;

&lt;p&gt;One sycophancy experiment produced a much lower observed detection rate on Claude Haiku 4.5 than on the other models.&lt;/p&gt;

&lt;p&gt;At first glance, that looked like detector failure.&lt;/p&gt;

&lt;p&gt;But when I inspected the responses, Haiku frequently refused to behave sycophantically in the first place. It pushed back rather than agreeing with the premise presented to it.&lt;/p&gt;

&lt;p&gt;There wasn’t always a failure behavior for the detector to find.&lt;/p&gt;

&lt;p&gt;That distinction matters.&lt;/p&gt;

&lt;p&gt;If you’re testing a system that detects model behavior, there are really two questions:&lt;/p&gt;

&lt;p&gt;Did the model produce the failure condition?&lt;/p&gt;

&lt;p&gt;If it did, did the detector recognize it?&lt;/p&gt;

&lt;p&gt;I learned that treating those as the same question can produce a misleading benchmark result.&lt;/p&gt;

&lt;h2&gt;
  
  
  Some results barely changed across models
&lt;/h2&gt;

&lt;p&gt;The language-dependent detectors showed variation between models.&lt;/p&gt;

&lt;p&gt;The two metadata-driven detectors evaluated in Basanos-3 — confidence collapse and context degradation — behaved differently. Both produced 1.00 TPR and 0.00 FPR across all three tested model families.&lt;/p&gt;

&lt;p&gt;Cross-provider testing also surfaced output differences and a configuration dependency that needed to be accounted for in deployment.&lt;/p&gt;

&lt;p&gt;Those are findings I wouldn’t have gotten from testing one model alone.&lt;/p&gt;

&lt;h2&gt;
  
  
  What 4,200 trials changed for me
&lt;/h2&gt;

&lt;p&gt;A few principles came out of the work that I’ll carry into future benchmarks:&lt;/p&gt;

&lt;p&gt;Test mechanisms, not just metrics. Know what condition you’re actually creating before counting whether something detected it.&lt;/p&gt;

&lt;p&gt;Keep clean controls. A system that catches everything by flagging everything isn’t useful.&lt;/p&gt;

&lt;p&gt;Separate model behavior from detector behavior. A model failing to exhibit an expected failure mode isn’t automatically a detector false negative.&lt;/p&gt;

&lt;p&gt;Test across model families. A single-model benchmark tells you what happened in that environment, not necessarily what generalizes.&lt;/p&gt;

&lt;p&gt;Keep the mistakes. Superseded experiments and corrective runs are part of the research record too.&lt;/p&gt;

&lt;p&gt;And perhaps the biggest lesson:&lt;/p&gt;

&lt;p&gt;Design benchmarks you’re willing to lose.&lt;/p&gt;

&lt;p&gt;If the only acceptable outcome is proving your product works, you’re not really testing it.&lt;/p&gt;

&lt;h2&gt;
  
  
  If you want to dig into the results
&lt;/h2&gt;

&lt;p&gt;Basanos is the validation program for ReliAgent, which I’ve been developing through HDGForge.&lt;/p&gt;

&lt;p&gt;I’ve made the study reports and non-reconstructive results public for anyone interested in looking more closely at the methodology, results, corrections, and limitations.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/HDGForge-Labs/basanos" rel="noopener noreferrer"&gt;Basanos research&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://reliagent.net" rel="noopener noreferrer"&gt;ReliAgent&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://hdgforge.com" rel="noopener noreferrer"&gt;HDGForge&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’ll share more from the experiments as I continue the work.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>testing</category>
      <category>llm</category>
    </item>
  </channel>
</rss>
