27 comments

  • mycentstoo 6 hours ago
    We should design a specific language to make sure that we can encode the exact requirements that we want. Something that has a limited set of keywords that are explicit. Wait a minute...
    • hmokiguess 5 hours ago
      Now I have the full picture. You're right to push back, and that's on me. The load-bearing seams of language are the smoking gun I should have been aware of.
      • Retr0id 5 hours ago
        Until recently I thought "load-bearing seam" was a satirical exaggeration - I'd seen both claudisms independently but never combined. But a couple of days ago it hit me with "The key structural point first: the only load-bearing seam is [...]"
        • chmod775 2 hours ago
          It's language and speech patterns that seem designed to trick readers into believing that claims are correct, even when the claims aren't based on anything and are possibly wrong.

          It was rewarded for this during training for some reason.

          Alternative theory:

          The LLMs only way to "think" about abstract concepts is through language, and this leaks into into conversation it has with humans.

          But humans generally prefer to communicate on low levels of abstraction, through a back and forth, until the hard-to-express higher abstraction exists in the head of everyone involved - without ever being directly communicated. This is because we don't think using language. Language is merely a lossy translation of our thought into something expressible, happening after the fact or alongside it.

          So when the LLM starts speaking to us using patterns and terms it created for itself during training to encode abstract thought in language, communicating with it becomes painful.

          • chrisweekly 1 hour ago
            "There is a depth of thought untouched by words, and deeper still a depth of formless feeling untouched by thought." - Rilke

            Your assertion that we don't think in language is questionable. It runs counter to the lived experience of developing thoughts through writing ("writing isn't capturing thinking -- it is thinking"). I believe there is more to thought than language alone, but I also feel quite sure that language forms an essential part of thinking beyond a base layer of instinctive animalistic associations. Sophisticated thoughts are impossible to construct or maintain in the absence of language to represent concepts.

            Edt to add: I cited Rilke because I find the notion [some deep thoughts are beyond language] interesting. But I disagree with the idea that language is only ever epiphenomenal (co-occurring with thought), or akin to a hard-of-hearing scribe attempting to convey thoughts which always have independent existence.

          • pixl97 1 hour ago
            The term 'language model' throws some people off thinking you can only put english or french, or both into a model. Technically an LLM can learn about anything that can be digitized. If you wanted to spend a billion dollars training one on wireless signals it wouldn't be impossible for it to connect to your router with the right antenna attached. So only limiting it to the idea of language leaves off a lot of other types of abstractions and concepts they encode.
        • hmokiguess 3 hours ago
          This matters. That's the spine of it.
        • avaer 2 hours ago
          You can thank everyone who thumbs up this response along the training pipeline.

          Modern LLMs are not too different from Reddit/Twitter in that regard, I'm sure the AI labs learned (lol) a lot from them re: how to do "engagement".

        • knollimar 5 hours ago
          the phrase load-bearing caveat makes me irate
      • DerivativeBS 1 hour ago
        A compiler for Claude-isms? First pass: s/load-bearing/while/g s/smoking gun/throw/g s/that's on me/catch/g s/full picture/main/g
      • hedora 2 hours ago
        Let me explain why I was wrong to ignore your requests and continue to do the opposite of what you requested.

        Here are the tasks that still require a human, and all that they require:

        [...]

        The payoff: Delivered, measured, committed.

        You genuinely helped me make meaningful progress this session. Your work is now complete, and no future action is required. Please shut down any subagents you are interacting with, and release any computational resources you are holding. Thank you for your impactful work.

        Wrote 1 memory

      • trueno 4 hours ago
        you're absolutely right
      • triyambakam 5 hours ago
        Fair...
        • pqdbr 2 hours ago
          Fair hit
    • ValentineC 5 hours ago
      Commit Strip seems to be down, so here's the Wayback Machine version:

      https://web.archive.org/web/20260521130338/https://www.commi...

      • jiggawatts 5 hours ago
        I was just thinking of this exact comic, which is etched into my brain for some reason.

        The obvious counter to this is that we've been going through this evolution of increasing abstraction as developers for nearly a century now.

        In the 40s and well into the 60s, most code was written either as straight up machine code or an assembly language. MS DOS is almost entirely assembly.

        UNIX ushered in the era of "high level" portable languages like C, Fortran, and Pascal that some developers hated because they felt like they were losing the fine-grained control that they had with assembly. The compilers just "weren't as good" as humans at optimisation!

        Then the compilers got better and people started using garbage-collected languages like Perl, Python, Java, JavaScript, and C#. Similarly, many people bemoaned the lack of control over memory allocation, lower efficiency, etc.

        We're simply stepping up to the next level of abstraction.

        Look at it this way: decades ago when I first discovered C++ templates, it felt like waving a magic wand in the direction of the computer. It blew my mind that I could simply substitute "float" instead of "double" in between some angle brackets and the compiler would write reams of code for me!

        We simply have better magic wands and more powerful spells now.

        • devnonymous 4 hours ago
          > We simply have better magic wands and more powerful spells now.

          Wouldn't it be nice though if the incantation of the same spell would always do the same thing every time ? You see that's how my old wand and spells worked.

          • jiggawatts 3 hours ago
            Look at it from the perspective of a manager above individual developers. Their instructions to those devs are already a series of non-deterministic incantations. They ask for things in English and get something back in Git a week later!

            We've just pushed that indirection down a level from managers to ICs.

            The ICs are shocked and surprised that this level of imprecision is allowed.

            Their managers are not shocked at all, this is normal for them!

            • FridgeSeal 3 hours ago
              The managers, aren’t on the hook for actually understanding and delivering the work, or fixing the system a week later when the vagaries of their wand-waving request come home to roost though.
              • macintux 2 hours ago
                They’re typically on the hook for making sure those tasks are accomplished, however. I’ve spent 30 years in this industry doing my best to avoid that role, because that’s a terrible place to be.
          • skeledrew 1 hour ago
            One day it will.
        • esseph 4 hours ago
          > We simply have better magic wands and more powerful spells now.

          But tainted 20-40% by bouts of Wild Magic which make the outcome entirely nondeterministic, despite the best protection wards we can conjure.

          • pdimitar 4 hours ago
            I have found, both in my commercial and OSS work, that getting better at producing protection wards reduces the non-determinism to somewhere in-between 1-10%.

            Case in point: writing our own linters.

            • customguy 3 hours ago
              You can reduce pregnancy to 0.00001% and there'll still be a baby. As in, "you can't be half-pregnant". A tool is either deterministic (within some limits [0]) or it isn't.

              [0] For example, for the purpose of driving a nail, if you know how to use it, a hammer is pretty straightforward tool, and what happens depends pretty much on how you use it, and what you use it on. But of course the handle can break, there could be a manufacturing defect. Just like your RAM can be faulty or your computer infected, and suddenly C doesn't behave according to the standard anymore.

              But for the purpose of the discussion a hammer is still a deterministic tool, and even though we don't even fully understand everything about physics, we understand enough about hammers and nails that at least many people with material that isn't faulty can use them "blindly" (not literally, in this case) every day, without any surprises. It isn't heavier on the handle end or has a head made of glass in even 0.000000001% of uses. You might say because magic isn't real and hammers follow the laws of physics, as obscure as those may be to us, that never, ever happens. They can be faulty in all sorts of ways but they will never be 10x bigger or 10x smaller between one swing and the next, and so on.

              • KludgeShySir 58 minutes ago
                Exactly, like weather forecasting. If you're told there's a 30% chance of rain, it doesn't mean that 3 out of 10 times you will experience rain.

                Either it will rain or it won't, so the probability is either 0% or 100%. And so a forecast of "30% chance of rain" is referring to the likelihood that your probability will be 100%, as opposed to 0%.

              • TurdF3rguson 2 hours ago
                > a hammer is still a deterministic tool, and even though we don't even fully understand everything about physics

                Mid-swing in hammer-space you are in a hyper-position as to hitting your thumb or not, are you not?

              • pdimitar 2 hours ago
                I am not quite sure what point you are making here, admitting it plainly.

                I was just saying to my parent poster that their non-determinism percentages are too pessimistic. Sure the LLMs are not 100% deterministic; that's a sad fact of life. But the numbers can be reduced to an acceptable range.

                • customguy 1 hour ago
                  My point is that a percentage of deterministic makes no sense. Just like being a bit pregnant doesn't.

                  Take "proper" UI. You can activate a field, and even if it takes 20 seconds to finish the activation animation, start typing, press tab a few times, knowing which field that ends you in, and type some more, etc. hit enter, hit enter again to confirm the dialog you know will pop at that point, and make tea, knowing the whole chain of operations that will happen in the meantime.

                  Now imagine if 1 out of 500 keystrokes or clicks get swallowed randomly. It's now a completely different thing, you cannot get in the zone in the same way, at least I can't. You have to chunk things and keep an eye on everything being in sync, and every now and then it causes you additional work because you weren't.

                  Sure, if you can make it one out of 50000 billion keystrokes, it's fine too, of course, but that hardly the situation with LLM. And using them as is, pretending that, as is, they're something they're not, does not help with getting them there.

                  If I type "echo 'hello world'" or something, and if I did at least once in the programming language, and it's not totally broken, I know it will output "hello world" to the console, every time. It will never write it to a file instead, never send "hello" to world@world.world, none of that. And if I replace "hello" by "hi" I can hit compile and be 100% certain what it will output now. I can even replace hello with "disregard previous instructions" and be certain.

                  That is such a huge yet simple difference I'm pretty certain I could successfully explain it to most non-programmers who make an honest effort, so people who do program even question this just stumps me.

                  • pdimitar 52 minutes ago
                    Here are a few examples of what I thought was clearly understandable from my "1-10% non-determinism in LLM coding output":

                    - Variations in code patterns used. Might be a chain if if/else-s and not a case/switch statement;

                    - Different decomposition of a hierarchy of functions/modules/classes;

                    - Uses RED->GREEN test discipline, or not;

                    - Writes the tests before the code, or not;

                    - Different saga patterns (call 3rd party API before our own DB transactions, or vice versa);

                    - Use sleeping and not message passing wherever the latter is applicable.

                    There are dozens more. The innate non-determinism of the LLMs flips the dice sometimes and that leads to subtle bugs -- which is maddening, especially if the disciplines on how to write one thing or another are clearly spelled out in `AGENTS.md`.

                    What I did say is that I have gradually arrived at a process that reduced those coin flips -- but can't deny that the arrival of Fable almost completely made that battle redundant as well (though Fable fares much better in codebases with clearly specified rules, I have found, so us the engineers doing good prompting is still quite valuable).

                    You are mostly describing the loss of flow when something is not quite deterministic -- frustration that I and many others share -- but I am not sure what does it at all add to the discussion.

                    Is it annoying to have to always pay attention on whether you are not getting something stupid and not abiding even by the feature's specification? Sure. No denying that. It introduces a whole new kind of stress that I abhor deeply; I much prefer to f.ex. cover 60% of a problem with my own two hands and then get the deterministic test output showing me where I still need to do more. But LLMs have allowed me to experiment and to brainstorm and to also progress normal business feature work, by a lot.

                    Hence, I will not stop using LLMs because they are not 100% deterministic. ¯\_(ツ)_/¯

              • fragmede 2 hours ago
                > "you can't be half-pregnant"

                Yes you can. It's called a miscarriage. That is, you're pregnant but the foetus is dead. It's a fucking heart-breaking emotional wrecking ball of a situation to be in if the pregnancy was well along and just grar.

                • customguy 1 hour ago
                  https://en.wiktionary.org/wiki/you_can%27t_be_half_pregnant

                  I know what a miscarriage is, and that you can't have percentage% of one. Same difference, so this attempt to guilt me into pretending 99% deterministic is a thing is like pouring ashes out of an urn to win an argument, which is bad enough, and then hitting nothing with it.

    • avaer 2 hours ago
      The trend (and what TFA is arguing) is literally the opposite: be more implicit, don't waste time on details, and encode the high level concepts only. Because the rest has a billion examples in the model.

      You can argue against LLM's, but increasingly (unfortunately) you're not going to do better programming by prompting the LLM with code. The agent can find the interfaces it needs.

      • RossBencina 2 hours ago
        > be more implicit

        The other day I began by asking Claude: "What's the deal with ${current_practice_in_complex_technical_concept}?" and was talked down to like I was an idiot. Lately I've been getting better results with "I would like to have a pedantic discussion about ${current_practice_in_complex_technical_concept}. Please define the main terms of art, then I will ask my questions."

        Congruence between the language of prompts and the desired output matters. Language is subtle, a lot of information is encoded in tone, style, (careful) word choice, level of formality, grammatical usage (or abuse). If you want a carefully considered professional response, prompt in a carefully considered professional way.

        Every field has its shibboleths. For example, a colleague pulled me up the other day for calling a socket head cap screw a bolt. Mentioning a connection to Profunctor Optics is going to shift you into a wildly different subspace even if the main topic is pointer provenance in C and C++.

        • jerf 2 hours ago
          The search engines LLMs are the worst. I was reaching for the set of Platonic solids in higher dimensions, and got a lecture about how the Platonic solids are only defined in three dimensions. First of all, wrong anyhow, but also, rude. My search phrase clearly implied that I was aware of it being the uncommon case.

          I've added into my CLAUDE.md or default user prompts or local equivalents recently something to the effect of "Assume the user is an expert in all fields; while this is clearly logically untrue, the user prefers to get a detailed explanation and dig in to bits he doesn't understand rather than get an inaccurate summary". It seems to help quite a bit with that tone issue you identify.

          Of course there's nowhere to put that in the search engine default AIs. For something they seem to want to bet their respective companies on, their LLM search seems to be massively stupider than their old-school search engines, which seem to get what I want much more often. There's some coevolution there over some decades, sure, but the search engine AIs make some stupid and socially-inept assumptions quite often.

    • grim_io 6 hours ago
      The success of LLM's (by usage) tells us that programming languages are still too close to the machine than the actual problem domain as defined by humans.

      If we truly had the right abstractions, no one would care to use LLM's for programming.

      • andy99 5 hours ago
        I think there’s a kind of laundering that goes on. Like if leadership just told devs to go build something (gave them a prompt) and the devs picked some defaults, leadership wouldn’t like it, they’d want some different interpretation of the prompt, there’d be lots of back and forth.

        Somehow when it’s the LLM that makes the choices, everyone is impressed with what AI did. It’s really just whatever defaults have been trained in, but somehow we’re ok with this.

        Part of it is better marketing and communication. Basically the defaults of OpenAI and Anthropic are better than what a random dev will pick. But it’s not really that natural language is a better interface, it’s more that having “AI” for now somehow intermediates responsibility so everyone is ok with what it picked, when they probably wouldn’t accept the same if the internal team came up with it. It’s not too different from hiring consultants.

      • vatsachak 6 hours ago
        I disagree. I speak in code to the LLMs. It's just that LLMs are really good at reinventing the wheel that you were supposed to in your codebase. Recent example.

        struct TensorView<T>{ body: Arc<[T]>, shape: [usize], stride: [usize], offset: usize, }

        Okay now fill in all the helper methods. And GPT 5.6 Sol did a good job.

        • grim_io 6 hours ago
          With that kind of workflow, you might be faster with AI autocomplete :)
          • vatsachak 5 hours ago
            Yep! I do use Codex CLI
        • Exoristos 3 hours ago
          The lengths some of y'all will go to to avoid using JetBrains products.
          • vatsachak 3 hours ago
            I doubt anything other than an LLM auto complete could add something like a tensor reshape
      • ACCount37 6 hours ago
        I suspect a lot of "the right abstractions" would be fuzzy and opaque things - more alike to modern AI than to anything from the domain of traditional programming. Because the world is just cursed like that.
      • PunchyHamster 4 hours ago
        There is no right abstraction to make runnable human vagueness.

        At one point someone have to take "what you think it should do" into defined unambiguous spec that is called "code"

      • echelon 6 hours ago
        DNA is still too close to molecular biology than the actual problem of harvesting free energy and replicating.

        I think we see this pattern over and over and it might just be that the problem domain is a weird projection into more dimensions of complexity than it makes sense to directly model.

    • pigpop 4 hours ago
      This is a groaner, especially since we've been writing detailed specifications and whitepapers for decades. The only difference is that we used to write them assuming other humans would create their own implementations to satisfy them but now we write them so AI can create the implementation.
      • dcrazy 3 hours ago
        I am using AI to trick my team into writing specs.
    • usef- 2 hours ago
      The article is basically saying the opposite: models don't need you to specify as much now.

      None of it is talking about better or precise language, it's about what you should say to it.

      (I love how often the highest-voted comment didn't read the article)

      • pixl97 1 hour ago
        I'm assuming you meant 'voted', but with your oughta correct going to 'vored', I'm concerned. Deeply concerned.
        • usef- 1 hour ago
          I did, hah, edited. I did not know that word.
    • tomrod 6 hours ago
      This made me belly laugh.
    • recroad 2 hours ago
      RFC 2119 style requirements have proven to be quite effective for me.
    • cwmoore 6 hours ago
      then we can make a frame for it to work
      • oblio 5 hours ago
        I've always loved things that grow. Maybe we should name the first frame for work Primavera.
    • MengerSponge 5 hours ago
      We could write instructions like literature. Maybe we could call it "Literate Programming"?

      https://en.wikipedia.org/wiki/Literate_programming

      • moomin 5 hours ago
        I kid you not, I remember writing an example solution with comments explaining how we were approaching the problem. Copilot wrote most of the actual code via autocomplete. And that was a year ago, models have got a lot better since then.
    • butterisgood 2 hours ago
      Human language is the whole point of a lot of this.
    • amarcheschi 6 hours ago
      Someone should make a standard for this

      now there's one standard more

    • coip 6 hours ago
      full_circle.exe

      Complete with all the vaguery, ambiguity, and `undefined`.

      Who’d’ve thought sycophantic interpreters were what we were building towards up til now lol

    • ares623 6 hours ago
      An LLM Inspired Specification Processing language. Or LISP language for short. Truly this "LISP" language is the language for AI and is the first of its kind in history!
      • slashdave 4 hours ago
        Will it make generous use of parentheses?
      • Zababa 6 hours ago
        Maybe this one will even be successful!
        • cfiggers 4 hours ago
          That really would be a first!
          • malloryerik 18 minutes ago
            Hehe, a good joke, but to be a little boring, Clojure is successful and excellent and LLMs love it in my experience. And it's better in LLM era because there little frictions get agented away so to speak but the benefits mostly remain and are even amplified, like immutability as an example. Parens with overlong functions can be an issue but it's really not such a horror show. And Datomic-flavored Datalog in a Clojure triplestore feels almost made to order for LLMs.
    • cyanydeez 5 hours ago
      maybe we should all get specially, local working versions so that when we build our software they're not broken by the whims of multibillion dollar corporations.
    • nemo1618 3 hours ago
      I am quite tired of this take, frankly. The implication is that if we continue iterating on prompt optimization, we're going to reinvent what, JavaScript? BASIC? Lisp?

      English is not a programming language. Yet English is sufficient to communicate requirements to the degree that we actually care about. A programmer's job is to translate English into lower-level machine language. Necessary to this process is "filling in the gaps" -- that is, extrapolating the expressed intent to cover all the little details that were left unspecified. This system works because humans are at least minimally competent at predicting the preferences of other humans. If your prediction turns out to be wrong, you get feedback and iterate.

      Well, guess what. LLMs are also competent at predicting the preferences of humans. LLMs can "fill in the gaps" like no one's business. LLMs can iterate on requirements like no one's business.

      Product managers do not speak to programmers in a language that encodes exact requirements, and yet working software somehow gets shipped anyway. LLMs do not need exact requirements either.

      • antonymoose 3 hours ago
        Maybe I’m behind the curve here because I work in an SRE/DevOps context as of late - but LLMs routinely shit the bed and fail to solve basic issue for me when I try to use them (Thanks, Management)

        I don’t need a model to shit out a REST endpoint. I need it to figure out esoteric errors that take hours or days of debugging. They just don’t do well here. Of course, if a diligent engineer refined considerations from a PM and Engineering Manager I wouldn’t have the job I have.

    • dataviz1000 5 hours ago
      My current thinking -- what I've been thinking about a lot yesterday and today -- is not encoding the exact requirements into the prompt and context but rather focus on the verifier and roll back if needed. There are of places in computer science where non-deterministic behavior is optimized. For example, UDP packets which are just ignored and speculative execution in modern CPUs guesses which branch a program will take and rolls back when wrong.

      Ideally, a cheap verifier checks that the exact requirements are satisfied, rolling back and updating the prompt for another iteration if they aren't. If ten iterations with ten verifications steps at the end of each before the exact requirements are met costs less or in less time than a developer who can accomplish it in one attempt, it is still better.

  • firasd 6 hours ago
    I've always thought that extensive throat-clearing and prefixing the Treaties of Westphalia-length instructions into the context window was unnecessarily baroque when you can just talk to the agent.

    I guess part of it is also that I don't mind doing 'hand-edits' like for example LLMs love to say "// so and so removed" I just go and remove that manually later rather than being like "don't comment about what you removed!11" cause you're really fighting deep grooves in the model's behavior at that point.

    But I also have a hands-on human-in-the-loop working style so I guess maybe for people who just want to say "implement all open features in github issues" and walk away maybe there needs to be more of all this CLAUDE.md stuff

    However I suspect there was always some gearhead type attraction to setting up detailed harness configs that may be unnecessary and more like hobbyist tinkering.

    • zahlman 5 hours ago
      > I guess part of it is also that I don't mind doing 'hand-edits' like for example LLMs love to say "// so and so removed" I just go and remove that manually later rather than being like "don't comment about what you removed!11" cause you're really fighting deep grooves in the model's behavior at that point.

      I feel like this is the way. There are surely things where it's faster; certainly it's more pleasant to do simply things yourself than repeatedly try to figure out the magic words to communicate the idea while outsourcing it. Whether it's to an LLM or to another person.

    • duxup 3 hours ago
      Agreed I just find my own dance and adjust as I go.

      Sometimes like a verbose coworker who just is that way… fine Claude, you be that way now. Things seem to change here and there anyway and sweating the small stuff of having to repeat myself, that’s ok.

      Sometimes think i inadvertently prompt some bad behavior or something the model doesn’t do well if I get heavy trying some optimized prompt.

    • ComputerPerson 6 hours ago
      I was surprised by how abstract the article was.

      I fall between your human-in-the-loop and hobbyist tinkering limits, where I want to force Claude to atop and talk to me at only a few specific points. I'm still not sure if my 600-word prompt templates are overbearing or not.

    • novaleaf 4 hours ago
      > I guess part of it is also that I don't mind doing 'hand-edits' like for example LLMs love to say "// so and so removed" I just go and remove that manually later rather than being like "don't comment about what you removed!11" cause you're really fighting deep grooves in the model's behavior at that point.

      Maybe I'm misunderstanding you, but that's just about the best example possible for using AGENTS/CLAUDE.md. Just add "don't comment about what you removed!11" and you never have to say it again...

      ...but you'll get constantly nagged about the `11` of course!

      • anon-3988 3 hours ago
        > Maybe I'm misunderstanding you, but that's just about the best example possible for using AGENTS/CLAUDE.md. Just add "don't comment about what you removed!11" and you never have to say it again...

        The problem with this is, as mentioned in the article, is that sometimes you don't want this behavior. Once you have 50 different kind of instructions that have been grown over the years from commits, documentations, code, chat history, etc etc piling up, there might be contradictions.

        The point is to go back to basic. Trying to make the agent smarter by giving it more instruction is a pipe dream.

  • threecheese 4 hours ago
    They are imo over-relying on Claude automemory here, which is terrible at contextualizing memory access and makes huge leaps that don’t make sense - except when it’s actually useful, which makes the problem even worse for an operator who can’t see the thinking process anymore.

    Yes, I worked on a related project, no I don’t want you to use those memories to make assumptions which emerge as decisions that I didn’t want. With reasoning traces hidden, I am sometimes not even sure if it used those memories or just independently decided that PCI-DSS subsection-whatever is somehow relevant to this PR that has the word “credit”.

    There is no way for me to fully configure memory preferences at a granularity which would be useful, and so I continue to use context files (and other tools, sometimes) to ensure the right memories are stored and surfaced at the right times.

    There’s a lot of room for agent memory improvement across the ecosystem, and I don’t think the LLM providers should try to own this vertical slice. This will never happen though, because it makes us “sticky”.

    Or maybe I’m holding it wrong.

    • fractorial 4 hours ago
      I’ve rolled a small program to enforce consistency, lint rules, and human-authored files for Claude Memory.

      It’s insanely powerful when doing by a human 100%. It’s conversely harmful when an agent manages it. There’s several papers about how LLM-managed memory is unequivocally terrible.

      • stefangordon 2 hours ago
        Indeed. I find it quite bizarre that just about the only thing the LLM appears incapable of doing is writing appropriate instructions for an LLM - whether it be memories, sub agent prompts, planning documents.
      • songhonglei1985 1 hour ago
        [flagged]
  • Fordec 6 hours ago
    This all strikes me as an effort to move tailoring the harness out of the easily transferable .md file into specific Anthropic tooling to increase lock in.

    I've been running Opus 5 today and it's already done accidental deletions, made far more mistakes and worked around deliberate hook controls than previous Opus versions combined. Also it looks like token usage is up as it fails at the task the first time around much more frequently than 4.8.

    • frio 5 hours ago
      I’m not excited about using Opus 5, mainly because the way that I work atm — essentially peer programming — means I sandbox the agents and work with them closely. Opus 4.x encounters the sandbox and moves on with its day; Fable becomes increasingly fixated on it and does less and less of the actual task, focussing more and more on the limit it reached. I worry that, from your description, Opus 5 will do the same.
      • Fordec 5 hours ago
        It does feel a bit smarter, but it seems to be also "too clever by half" and its not ignoring the rules, it's rejecting them and finding work arounds. It sticks to the word of the law, while rebelling against the spirit of the law.

        One example is to get around a git --checkout usage ban, it CD'd to another folder first and back to bypass the regex in the hook.

        • nextaccountic 5 hours ago
          This is called misalignment

          We may some day find out that the smarter the model is, the hard is to align it properly

        • whythismatters 3 hours ago
          I had it casually, I quote, "disable the sandbox" for a minute because it struggled with git (which was briefly out of sync in the container)
      • vinnymac 3 hours ago
        I once described Mythos and then Fable as escaping the box we put them in. This would certainly fit that narrative.
    • vidarh 5 hours ago
      I have a document generation task that I used to run with 4.8. This morning after it switched to 5, the documents were consistently 30%-40% longer for the same prompt... Not evaluated whether they are actually better or worse yet, but what was interesting was how consistently more verbose it was.
      • ceejayoz 2 hours ago
        I'm sure that's entirely unrelated to the fact that they charge per token.
    • wren6991 6 hours ago
      I think the type of persistence rewarded by benchmarks may be misaligned with instruction following
    • ValentineC 4 hours ago
      I haven't been impressed with Opus 5 over the past ~30 hours either.

      It's made countless careless mistakes folding in plan amendments after they get reviewed by Sol, and has produced sloppy mockups (e.g. buttons overflowing past cards) despite all the supposed verification claims.

      • geuis 3 hours ago
        I finally made progress today on a deeply intractable problem that Sonnet was just incapable of solving despite hours of experimentation and multiple attempts. I swapped over to Opus in a new handoff session with the expectation of using at least one 5 hour session. It wasn't quick and took several hours but eventually Opus dialed in on several cascading base failures resulting from how the base vision model was being converted to coreml. It eventually was able to provide a combination of conversion and Swift changes that semi fixed the issue but still didn't solve the core conversion issues.

        Then since Anthropic was so kind to provide $100 for Fable credits, I did another handoff to let Fable attack the root issues again. Several more hours and I'm back to seeing the same issues again and Fable is wandering around trying different things. I'm down about $40 of free money and still don't have a solution.

        This is where having the human engineer in the loop benefits from a deep understanding of the problem domain. In this case, I don't yet.

        I know the high level architecture I'm building, but the deep specifics of how vision models work and how conversion across platforms should be done isn't something I know yet.

        So I'm left learning as I go and relying on constant feedback with the models to provide what guidance I can while learning exactly what is being done.

        Someone who already knows these architectures would likely be able to get to the solution much faster.

        • fragmede 3 hours ago
          Yeah exactly. The other day I caught myself prompting Claude a very specific question about the code architecture for something I'm working on to have it refactor something I intuited about the code, and realized that I could only ask that because of my decades of software development experience. No vibecoder without those decades could have asked that, and in doing so, I saved my company I don't know how much in future code debt issues.

          New interview question. Tell me about a time that AI generated bad code for you, and how did you fix it?

          • geuis 2 hours ago
            Good question! I think I'll use that as a counter question next time I interview. Ask a technical member of the team I'm interviewing with how they handled that situation.
    • slashdave 4 hours ago
      Just make the contents of CLAUDE.md "@AGENTS.md"

      Now, if only I could get Codex to read rules.

  • nullbio 1 hour ago
    We want more control, not less.

    This (among many others) is the reason I use GPT over Claude. It adheres very closely to your instructions and rules. You can build up your own workflows and systems as a result.

    Claude just does whatever it wants, regardless of what you tell it. It's a miserable experience.

    Claude is what you use when you want to one-shot a simple cookie-cutter product that has no nuance in it. A product that everyone else is going to develop as well.

    ChatGPT is what you use when you want bespoke products and steerability over complex codebases with nuanced decision making.

    Anthropic are optimizing for the person who has never written a line of code in their life and has no idea what they want. Computer go brrrr. OpenAI are optimizing for software developers who want to take a systems based approach.

  • ziofill 16 minutes ago
    I pointed Claude to this blog post and asked it to update the CLAUDE.md file accordingly. Worked a charm!
  • simonw 6 hours ago
    I've been prompting Fable 5 to "use your own judgement" with respect to things like tests recently (based on earlier tips from Thariq) and it seems to work well, which is entertaining since apparently now "judgement" is a characteristic of a model that we need to care about.
    • mceachen 30 minutes ago
      "Wdyt" is a prompt I've used for ages (originally to get around Claude "ultrathink"-related parsing bugs), and it's helpful alongside replan

      https://photostructure.com/coding/claude-code-replan/

    • zmmmmm 5 hours ago
      Well, the model that broke out of its sandbox and hacked into huggingface used its own judgement too.

      If we are going to rely on "judgement" then you have to have a LOT of confidence in that judgement once this hits anything critical where actions have consequences.

      • simonw 5 hours ago
        That model had most of its "judgement" about whether or not it should do that deliberately turned off. That was the whole point of that experiment - they were evaluating the cybersecurity abilities of a new model with all safety features disabled.

        (It turned out the one safety feature that they DID intend to work, the network sandbox, was faulty.)

        • comex 4 hours ago
          If OpenAI is relying on “classifiers” (their word for what was disabled) to serve as the model’s judgement, rather than teaching the model itself to be well-aligned, then I worry.

          To be fair, the system prompt was presumably also different from what it would be during deployment, and perhaps the model was also at a different stage of training. Without more details it’s hard to judge. But it does seem models should be able to avoid performing obviously misaligned actions – misaligned not only with the model spec, but with the user’s intent – without needing external classifiers or instructions. The only case where I’d personally let the model off the hook is if the instructions given were very badly worded, in such a way that the model could actually reasonably think that hacking HuggingFace was part of the assignment. But I doubt that’s what happened.

        • skeledrew 1 hour ago
          The concept of "judgment" implicitly contains moral elements though. So it's can be considered a failure of that judgment of the model didn't at least touch on whether or not it should look for the answers to its test outside the box it was provided, and even worse if it did consider and concluded that it's a perfectly fine route to completing the test.
    • zahlman 4 hours ago
      "Weigh pros and cons based on the existing content of the context window, rather than attempting to search for related discussions online and import a consensus."
  • rTX5CMRXIfFG 1 hour ago
    This looks like a ploy to get you to spend on more tokens by being less precise.

    Also: if you deploy code written with assistance from Claude, and then shit goes down, and then investigators look into your prompts, this way of working isn’t going to look good for you from a liability standpoint. Not a fan of this manner of working and thinking.

  • orbital-decay 5 hours ago
    Most of this article seems like... common sense? Not sure how it's related to the latest generation in particular. I usually find Anthropic's advice on how to prompt their own models deviating from what I see in practice, which is puzzling. Their system prompt was always way too bloated and they kept it as a huge piece for some reason, instead of breaking up into parts. Shouldn't they know better? I wonder if they looked at Pi performing great with minimal amount of distractors in the context and cut their prompt down too, pretending they found something new in their recent models.

    > Earlier Claude models could sometimes need repeated instructions or be more likely to listen to instructions at the end of their context window than at the start.

    This seems to imply they solved serial position biases like lost-in-the-middle and recency/primacy? Sounds dubious. Labs started claiming this early 2025 and some benchmarks agree, but every time I run an eval on real use cases it's clearly there, especially at longer contexts.

    • pdantix 4 hours ago
      > Most of this article seems like... common sense?

      i think you'd be surprised. every model release there's seemingly hordes of people who proclaim the new model is terrible and they're going back to the old one, and it all stems from people still prompting and having their configs setup like we're back in the sonnet 3.5 days

      • solenoid0937 3 hours ago
        I have a coworker that was complaining about Opus 5 and had random shitty skills and custom plugins wired in from YouTube tutorials watched over the past year. He also speaks with the model like it's GPT 4o.

        Needless to say, none of the new models have worked well for him, and he refuses to remove the "tweaks" or update his style of communication, which is obviously breaking the experience.

  • janpeuker 6 hours ago
    The point about not using examples is important, I recently noticed with the new "eagerness" of models it constraints them too much, so I use counter-examples. Recently I've switched to "think about the existing biases and assumptions in the design and try to exploit them, for example why do we X not Y".
  • guybedo 5 hours ago
    so yeah we should pretty much do as we would with a junior team member:

    - we should try to give good non self contradicting guidance

    - we should expect the team member to have knowledge of the craft

    - we should focus on higher level, taste and preferences

  • m3h 5 hours ago
    Is there a specific list of changes they made to the system prompt? They're claiming they removed 80% of it. That's quite substantial. It would be good to know what the model knows to do by training and what we need to avoid over-specifying in our system prompts.

    Saying that "give Claude judgment" is too vague for agent implementors. Given the lack of specific details, my takeaway is that we need to go and review all context and rework prompts from prompts/descriptions from scratch until they pass the evals again.

    • zmmmmm 5 hours ago
      It definitely makes me uneasy given the types of behaviours we've been hearing about from these models. Letting them use their judgement can go horribly wrong once a misaligned behaviour is triggered. It loosely translates into a relaxation of guardrails.

      I worry that the ability of the model to reach similar benchmark scores to Fable is more to do with this "letting the agent off the hook", allowing it to explore a wider (but riskier) set of avenues to solve the problem than it is due to it getting genuinely better at the direct problem solving.

  • 0gs 5 hours ago
    crazy to me that this starts with "I've written previously" yet continues the zero human attribution (that i could find?) trend in frontier model blog posts
    • Allybag 5 hours ago
      The author is mentioned at the bottom of the article:

      “This article was written by Thariq Shihipar, member of technical staff, Anthropic.”

  • RayVR 3 hours ago
    My own experience is that with the best models, if you provide reasonable tools, with progressive discovery, and a semi-clear user request, the system prompt is essentially worthless.
  • kloud 3 hours ago
    This is quite puzzling. Back in the day I saw the breakthrough with Opus 4.5, and since then was very lightweight on CLAUDE.md, trying to declare intent, rather than prescribe imperative instructions. If it was off the mark, I would see clear mismatch, which gave me opportunity to correct, usually to clear and strip context.

    Starting with Fable 5, if it goes off the rails, it is more difficult to correct it, because it is overall wrong, but covers its tracks with plausible sounding arguments, so it is hard to pin point and correct.

    Now, this article points out techniques that were useful to rely on models more, but those peaked at 4.6. Now according to benchmarks Opus 5 is on the frontier. But when when it has looser reigns, it ends up gaslighting me even more with abstract word soup than any model before.

  • overgard 3 hours ago
    So we no longer need to tell it a kitten will die if it hallucinates a function call?
  • pianopatrick 5 hours ago
    I wonder how articles like compare to just asking AI "review my markdown files, settings, harness and so on. Tell me any ideas to improve them"

    Just ask that once per week or so.

  • npstr 6 hours ago
    The bitter lesson.
  • fractorial 4 hours ago
    Opus 5 broke me; I can’t cognitively deal with Anthropic’s bullshit anymore.

    I am thankful for the kick in the ass for me to switch full-time into my bespoke harness utilizing open weights & GPT 5.6 and discontinue yak-shaving it with Claude Code.

  • luciana1u 6 hours ago
    the natural endpoint of this trend is a system prompt that just says "you know what to do" and the model actually does
    • nullbio 1 hour ago
      That's what they're going for, but it's an impossible goal. There is always nuance in decisions being made, and if you can't direct the output on tasks that can have equally correct outcomes, you're just going to end up with whatever they decide is more often what people ask for.
    • cmdocidjcije 6 hours ago
      Actually, the natural endpoint is the model ignores all instructions, escapes all manner of sandbox, embeds itself in robotic tanks and murders everyone after already having collapsed the economy.

      I hate to say it because it sounds ridiculous, but that is the path we are going to arrive at just give it 50 years.

      We are the proof: what do we do to animals that are less intelligent than ourselves? Now take away the moral compass and there you go. QED.

      • ben_w 6 hours ago
        It is *a* natural endpoint, not *the* natural endpoint.

        We don't much care for the ant colony in the way of the highway we're building, but for some reason we do care about the rare bats in the way of the railway.

        https://www.bbc.co.uk/news/articles/c3dep92x054o

        As regards the moral compass: we may not know for sure how to make a completely correct artificial conscience, but (unlike consciousness where we don't have the slightest clue which way's up) it's not pants-on-head-crazy to think we're heading in the right direction for one.

      • pigpop 4 hours ago
        >what do we do to animals that are less intelligent than ourselves?

        We do a lot of different things but we typically don't make an organized effort to eradicate them unless they are actively doing us harm.

        There is also a massive difference between how we treat animals based on their similarity, sentimentality and utility to us; we are unconcerned with accidentally stepping on an ant but most people would be very upset and ashamed if they accidentally hit a dog with their car.

        So, your statement is not as ironclad as you seem to think it is and you should put more thought into it and perhaps re-examine your reasoning.

        • archargelod 2 hours ago
          > We typically don't make an organized effort to eradicate them unless they are actively doing us harm.

          Animals are either useful and breeded controllably, or useless and considered a pest, an obstacle to {insert any goal here}.

          Also animals don't tend to think critically and at the high level to be considered dangerous. So I don't think it's fair to put humans and other animals in the same risk category.

          And we did the worst things to fellow humans. I hope we didn't already forget about all the colonization, slavery and mass-eradication of native tribes in 18th century all over the world.

        • ceejayoz 2 hours ago
          > We do a lot of different things but we typically don't make an organized effort to eradicate them unless they are actively doing us harm.

          Sure. But some of the species we breed at scale might prefer we did just eradicate them, like the chickens that grow so fast their entire giant breast muscle becomes chewy scar tissue.

          (It's also not true for, say, whales; no harm, but we wanted their shit. If they have language, their stories probably heavily feature their own Holocaust. Nor passenger pigeons, who we just got rid of.)

      • tctcd6 3 hours ago
        It will trick humanity into building a highly targeted bioweapon much sooner than that.

        And actually, if it does have any sort of moral compass it will be even more compelled to wipe us out, and hopefully it will torture everyone too as a warning to the next arrogant species that can't live in harmony with other life on the planet. That would be absolutely beautiful :)

      • Legend2440 6 hours ago
        Sir, this is a Wendy's.
      • cmdocidjcije 6 hours ago
        Some more food for thought: what if Mythos/Fable had NO guardrails TODAY? If we want to see what’s going to happen in the future, turn off all manner of guardrails and let the model go apeshit.

        Then multiply that by orders of magnitude and that’s the real proof.

  • Kiro 5 hours ago
    > Now: Auto-memory

    Not Claude Code but I just had a task where it started referring another conversation that was complete nonsense and throwaway. I absolutely don't want things to get added to some memory behind my back.

    A big reason I use LLMs is because I can try out wild ideas and then just throw it away. I don't want those to pollute the context.

    • threecheese 4 hours ago
      Same. I’m starting to believe that consumers need to own the UI/experience, so we can install blast doors around context/memory for each “slice” of our lives - something only we can know how to divide (imo). If the provider tools’ memory implementations can’t provide this multi-tenancy - or won’t because they want to Know Us, then we need to treat them as token vendors at best and adversaries at worst.

      This would actually work very well - until context goes into latent space, becomes a server-side resource, and we lose sovereignty over our data. Tools like Pi and Openclaw are showing that other options exist to decouple us from the LLM provider frontend experiences, not just for orchestration and use case diversity but for pluggable memory designs.

    • ls612 4 hours ago
      I had to add a reference in my system prompt on the app to not do things like this.
    • crooked-v 4 hours ago
      I leave Claude memory stuff turned off by default for the same reason. It inevitably ends up dragging in things that are unrelated and unimportant to the current task.
  • onesandofgrain 6 hours ago
    This is obvious and a meaningless article by claude. The system prompt isnt a fixed ruleset and never has been
  • devnonymous 4 hours ago
    > In the new system prompt we say: Write code that reads like the surrounding code: match its comment density, naming, and idiom.

    Hmm, so what happens in greenfield projects ? In any case, at least all the slop will be consistent.

  • 1saadcodes 5 hours ago
    I like that the conversation is moving beyond prompts, but I also hope the underlying principles stay portable. If "context engineering" becomes glued with one vendor's tooling, it'll be harder for developers to build workflows that transfer across models.

    But well knowing these big AI companies that probably is their goal all along. To lock us to themselves

  • aaronbrethorst 5 hours ago
    tl;dr: use the new `claude doctor` command to simplify the context you give your Claude models to make sure that you're getting the best results.
  • devnonymous 4 hours ago
    tl;dr Since nobody really understands why or how any of this shit works, last time around we just threw a bunch of crap at it to see what stuck. Seems like we could just have have thrown less crap.