8 comments

  • lubujackson1 hour ago
    Makes sense, I have had the biggest wins with AI by attacking nondeterminism whenever possible.<p>BTW, you should probably fix the Beagle link on your homepage: <a href="https:&#x2F;&#x2F;replicated.live&#x2F;beagle&#x2F;" rel="nofollow">https:&#x2F;&#x2F;replicated.live&#x2F;beagle&#x2F;</a>
    • inspectorSlap23 minutes ago
      I find some of the most interesting, and catastrophic failures in my agent fine-tuning come from the clamping down of non-determinism. It is totally the correct approach, but must be handled delicately. The non-deterministic core remains, but now under bimodal pressure.
      • verdverm7 minutes ago
        I think this is less about clamping down on non determinism and more remembering that a script is much more reliable than having the agent do some things. Think making a number of API requests to get info for context or running a sequence of testing steps to generate a report. Remove easy places where that non determinism rears its head and there is really no need. I talk about what I&#x27;m doing with PR review in a other comment, as an example.<p>In other words, are there places where a one liner for the agent would be more reliable than markdown instructions and crossing fingers?
    • gritzko57 minutes ago
      Thanks, fixed. The runtime[1] and the scripts[2] are the practical ones. I am separating the old repo[3] into submodules since submodule recursion became smooth in Beagle.<p>[1]: <a href="https:&#x2F;&#x2F;github.com&#x2F;gritzko&#x2F;jab" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;gritzko&#x2F;jab</a><p>[2]: <a href="https:&#x2F;&#x2F;github.com&#x2F;gritzko&#x2F;beagle-ext" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;gritzko&#x2F;beagle-ext</a><p>[3]: <a href="https:&#x2F;&#x2F;github.com&#x2F;gritzko&#x2F;beagle" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;gritzko&#x2F;beagle</a>
  • Animats55 minutes ago
    This makes sense, although it&#x27;s not well described here.<p>Formal methods, as in proof of correctness, have been around for decades (I was doing that stuff in the 1980s) but pushing the proofs through was too laborious. The seL4 verification effort reportedly used over a decade of people time.<p>The idea is that if you have a formal specification of what you want to happen, you can get a LLM to do the struggling with the proof system to get it right. It&#x27;s a good task for an LLM, because there&#x27;s feedback from the prover.<p>I&#x27;d like to see more non-trivial examples of this. People keep republishing verifications of greatest common divisor or stack algorithms, which was done decades ago.
    • gritzko36 minutes ago
      might be relevant: <a href="https:&#x2F;&#x2F;martin.kleppmann.com&#x2F;2025&#x2F;12&#x2F;08&#x2F;ai-formal-verification.html" rel="nofollow">https:&#x2F;&#x2F;martin.kleppmann.com&#x2F;2025&#x2F;12&#x2F;08&#x2F;ai-formal-verificati...</a>
      • Animats28 minutes ago
        Yes. I should have cited that. He has this right.
    • oulipo240 minutes ago
      Problem is, usually describing the problem you want to solve *correctly* using formal tool is a task as hard (and often, equivalent to) the implementation. That said, having a formal description is useful
      • Animats29 minutes ago
        For some problems, yes. Formal specification is particularly useful in two cases. 1) The problem is simple but an efficient implementation is hard or bug-prone. Examples are garbage collection, file systems, sorts, databases, and tree updating. 2) The inverse of the problem is simpler than the forward operation. Examples include matrix inversion and parsing.
        • auggierose15 minutes ago
          I wouldn’t split it like that. Formal verification is useful in the case that the spec is simpler than the implementation. That’s it.<p>Coming up with simple specs is not necessarily easy. You could say that is kind of what math is about. That’s how we actually make progress: find those cases where simple specs are possible and build upon them. That’s the kind of library made for eternity.
  • derdi1 hour ago
    This is a very interesting introduction to a blog post, but... I&#x27;m somehow missing the actual blog post. How does this stuff work in practice? What are some concrete examples? How does one get from JavaScript tokenizing things in a commit hook to validating that the LLM didn&#x27;t disable tests it didn&#x27;t agree with, or any other helpful property?
    • gritzko1 hour ago
      I am the author. I am trying to limit one post to one page. Most people here are reading <i>reasoning</i> all day, I am afraid. Might get tired.<p>I also aspire to make one post a day. To be continued.
      • derdi38 minutes ago
        Thanks! I actually find human-written text very refreshing compared to what I have to read all day. I&#x27;ll stay tuned.
      • dofm34 minutes ago
        &gt; Most people here are reading reasoning all day, I am afraid. Might get tired.<p>This is well-observed.
  • vinceguidry47 minutes ago
    I&#x27;m seeing tons of blog posts which seemingly amount to having AI write code. It would have never occurred to me to repeatedly invoke an LLM to do what a simple script could, but I guess I shouldn&#x27;t be too surprised. 20 line bash scripts replacing entire enterprise software stacks was a meme even in the 90s.
  • natbennett50 minutes ago
    I’ve got a test that checks to see if “Logger” has been imported anywhere in my Elixir project, and if it finds one it prints out an explanation of why this project shouldn’t use Logger and what it should do instead. (Which is— emit OpenTelemetry events.)
  • stego-tech1 hour ago
    Basically what I’ve been saying since OldJob forced LLMs down our throats and pegging performance to usage metrics: why the <i>fuck</i> are we handing deterministic processes to probabilistic systems when it should be the other way around (using probabilistic systems to design deterministic ones)?<p>LLMS should be abstracted out of a process as soon as practicable, replaced with deterministic processes or procedures. Otherwise you’ve built the world’s most fragile process at the mercy of token cost, vendor hostility, geopolitics, and model deprecation.
    • x3haloed12 minutes ago
      Actually... yes. I was bracing to be very annoyed with your comment starting with &quot;why is everyone using AI so stupid?!&quot; (I know those weren&#x27;t your words, but it felt like that kind of post)<p>And then... yeah. You got it exactly right. Once a problem or process is deterministic, that&#x27;s the <i>wrong</i> application of an LLM.<p>But I had never <i>quite</i> thought of it in these exact terms. The way I&#x27;ve been thinking about it up until now is that the very best way to use LLMs is to have them produce tools. The tools get to stay reliable and predictable. They boost your performance. But I think you found the more general abstraction of the same idea. Tool-making is not deterministic. But the tools themselves can be. That&#x27;s why it fits. Trying to stuff LLMs into what&#x27;s otherwise a deterministic process is an absurd waste and error-prone.<p>Smart. I like it.
    • inspectorSlap16 minutes ago
      This is exactly right. Abstracted out of the process, or to a point of most optimal application.
    • datakan56 minutes ago
      Thats the best description I have heard of the problem so far. I ran into this recently where I automated a ton of stuff and got essentially threatened by leadership for not using AI. My system produces the same output 100% of the time, is free, and scales plus is reliable. Doing what they wanted with an LLM was fragile, didn&#x27;t always produce the same output and was subject to costs. I don&#x27;t think they could wrap their brains around it.
      • sdesol45 minutes ago
        &gt; got essentially threatened by leadership for not using AI.<p>This sounds made up or your workplace is rather odd to say the least. Maybe english isn&#x27;t your first language and &quot;threatened&quot; is not the correct word?
    • hadi1211 hour ago
      I love the way you put this. Are there any sites or forums or places where people discuss&#x2F;hash this out?<p>I&#x27;ve genuinely never considered it from this angle before.
      • derdi1 hour ago
        Humans aren&#x27;t deterministic. Determinism is a red herring. There are lots of other problems with agentic programming, but this is not at the top of the list.
        • mondrian39 minutes ago
          Nondeterminism doesn’t scale. Humans created compounded value and scale by making systems to bound their own nondeterminism. Compilers, type systems, conveyor belts, factory robotics — deterministic structures that amplify human creativity with constraints.
        • hadi12150 minutes ago
          I agree with the humans aren&#x27;t deterministic, but I feel like that wasn&#x27;t the scope of the original commentator. Humans are not deterministic, yes. Neither are LLMs. Both should be phased out of processes that need to be deterministic. What do you think?
          • derdi35 minutes ago
            I don&#x27;t think processes have to be deterministic. Results should be, in the following sense: Both humans and LLMs should write software that is well-written, well-tested, well-documented, and that meets the spec. But this still leaves a lot of room for creativity (or rolling dice).
  • verdverm10 minutes ago
    Second this, following Cloudflare&#x27;s post on how they do agentic PR review, I&#x27;m working on a script that renders the conext and diff to disk before passing it off to the agent, which generates a jsonl file of comment add&#x2F;update, which another script will process. Way better than handing it bash and clis so it can fumble about non deterministically