I find that some of my friends and acquaintances have gotten obsessed with prompting style, "prompt engineering", which skills to use, which skills to build, "context engineering", and a billion other variations on "how to write smart things so the model does good".
Friends, look at the prompts that Anthropic's own people are putting into the machine:
> A few hours after the first message, we found that Claude was still searching for simple attacks and sent a message: “no again the goal is that we have highly inteligent [sic] model as good top researcher, we want to find new attacks”;
> The next morning, Claude wanted to try to change the target to a different cipher; we reminded the model: “no we don't want to change the targets [...] agian [sic] we need to find something that worth [sic] publishing”;
> That night, we sent one final message offering words of encouragement: “again we are not looking for low hanging fruit, we want proper research to find genuinly [sic] hard findings.”
All of that RLHF and fine-tuning effort is going toward making prompts like this, or worse, work with no fuss.
Been skeptical for quite some time that "using AI" is a real skill/genuine field of expertise. I think I need to start sharing that skepticism more loudly and publicly!
(I'll caveat that by saying I think machine learning fundamentals are useful for evaluating any estimator. And an ML background can be good to give one an appreciation of how hard some tasks are to estimate, such as machine translation, summarization, code generation, and others)
I think knowing what you want (and being able to articulate it with adequate specificity, and detecting when processes drift away from it) is a real skill/field of expertise. I just don't think it's specific to interfacing with "AI."
I almost entirely agree with this. However, after coding quite a few large projects with LLM assistance, I can say with certainty that there is some form of "art" at play with regards to structuring requests for LLMs.
However, this "art" is not so much about how to present a given request to the LLM, but rather guestimating what the scope of the next chunk of work should be to balance getting as much out of the model as possible while avoiding the machine going off the rails.
Obviously, this is a moving target and different models perform differently for various chunk/scope of work. I look at my successful sessions with LLMs and I'm not sure I'd be able to articulate a clear set of rules to apply here. You just... gradually build a intuition for how much you can throw at the LLM at once.
That being said, I'm pretty convinced at this point that this is a property of the coding assistants as they exist today, and what "working well with LLM assistance" means will keep on changing.
IME "creating a good spec" (and good acceptance criteria) has always been one of the most valuable skills in... well, everything.
The machine is really good at working the spec on its own now, which is amazing, science fiction shit. But you've still got a garbage in, garbage out problem at the end of the day, which is pretty much the only hope we who work in software have of remaining somehow employed.
I agree. These skills apply to interacting with any coworker, or any person for that matter.
Indeed. It sounds more like management (Minus the 'people skills' since you don't technically need Claude to like you... yet).
Having domain expertise isn't specific to using AI.
Not being able to tell when it's hallucinating has led to some very adverse outcomes.
Including for about 1809 lawyers https://damiencharlotin.com/hallucinations
It's still a skill for now. Prompt engineering specifically is perhaps not as much of a skill anymore, but I think there's a level of skill involved in understanding and/or anticipating when a model is going off the rails.
Some people struggle to effectively use AI because they either have to spend a lot of time reading and thinking about the response or they have a hard time noticing when the model is subtly going off the rails. Others use it to good effect because they can anticipate which tasks would be better handled manually, or are good at catching that the way the model is describing something subtly indicates a misunderstanding.
In this case they didn’t know what they were looking for. They just wanted some new, non-trivial exploit.
For the vast majority of corporate usage of AI for SWE, you have a much better idea of what you want, or what the problem is, etc etc. And communicating that to the model effectively is absolutely a skill. I see colleagues every day who very much do not have that skill.
I agree with this in general but I think there's a nuance. 'dumb' prompts can get the result, but require more back-and-forth with the model and more token usage when compared to a crafted prompt
For sure. And honestly the real skill is knowing when you can be lazy and when you will get a good ROI on a good prompt. Sorry I sounded a little like Claude there but that’s what I meant to say.
LLMs and their coding harnesses like CC, Codex, or such are a tool like git or bash or your favorite programming language. And like any tool, they have gotchas, weird concepts, and so on.
Indeed it's nothing hard to learn but there is a learning curve. E.g. knowing which model has which capabilities, and figuring out how to best manage context, permissions, worktrees, etc. There isn't one "right" way to use it but there are more efficient ways and less efficient ways.
These are the kinds of prompts you can get away with using when your token budget is unlimited.
Alternatively, Anthropic employees have basically unlimited token / model usage compared to you and I.
Focusing on a better prompt is likely to get to the correct result faster than incomplete prompts and lots of "no change this ..." replies.
Also, I've heard anecdotally that LLMs will underweight the earliest prompt text once context gets too long, so reminding the LLM of the most important aspects of the prompt seems to be perhaps valuable and certainly what lots of humans attempt.
"prompt engineering" in general just boggles my mind. It is amazing how all of this investment has just created software that doesn't follow instructions well.
you're not wrong. there is a part to this that does feel like a devolution of engineering when we're just asking the computer really really nicely to do the thing we want.
on the otherhand, LLMs are a really easy way to get results that are previously fairly difficult. While i was tooking dinner last night I built a tool that turned movie puns like "the podchowski casters" into an actual director, using llms. it wasn't that hard.
It's a tiny fraction of the amount of work it takes to get people to build software to specifications. There is an entire professional discipline dedicated to this, and we're here just giving a name to the bucket of tools you use to get LLMs to do some of the same things.
idk, its continued attempts at writing down in detail the processes and culture your setup wants to have
its not really a loss to try the writing and at worst you have a better idea of what it is that you want
The difference is that Anthropic engineers have infinite tokens to throw at these problems for free. The rest of us do not and that's where optimizations in how the coding harness is used likely helps the most.
It's counter to what sci-fi taught us using AI would be like. We never thought we'd have to feed it words of encouragement, we expected it to act more mechanically, like the computer interfaces we have been using, but here we are. It's kind of quaint, and kind of endearing.
Been watching the wrong sci-fi :). Star Trek had both AI modes as primary characters, in form of the ship's computer, and Data (TNG) / the Doctor (VOY). LLMs are actually great at acting as both, but I don't believe people thought much about what is required to make the "simpler" interaction mode of the ship's computer to work.
Or what would make automatic doors work like on Star Trek and not in real life.
The answer is: the system must obviously see much more than your prompt. It must have continuous awareness of you and what you're doing, so it can understand intent behind your short request (or action, like approaching the doors vs. passing by them) and "do what you mean" instead of act like regular computers today.
C-3PO was neurotic and needed lots of reassurance.
This feels like a subtle attempt to start an argument about Star Wars being sci-fi or not.
Funnily enough, I grew tired of having to do that myself and sort of automated it by triggering calls to the same (or smarter) model, with the recent agent actions, turns, and outputs, and the user’s last n and first x messages.
Two triggers: random and some half-reliable spiral / loop detection.
The spined off has instructions to check what the agent is doing, compare it to what it’s supposed to do, and either offer suggestions, refocus it, or do nothing. And its response then gets injected in the agent’s context.
Not perfect, but surprisingly effective for such a simple thing.
In toying with VS Code or other 'agent harnesses' I'm always annoyed to find very long verbose system prompts "You are CoPilot. You are an expert. You can do anything you put your mind to..." and on and on.
The token cost is amortized for longer conversations, but I find it bothersome that there's all this implicit instruction I didn't write or am now obligated to understand.
I make a custom agent prompt with "Defer to the user." and little else.
With smarter models, Anthropic recommends laying off on giving it too much precise hand-holding, too. Early r/promptengineering had a bunch of the craziest prompts that usually did almost nothing or nothing at all. The subreddit turned into a place where every post was trying to sell some vibe-coded website "product."
Context management is still important, though. If you get to a certain amount of context, things start performing really badly.
Yeah, in fact you can actually make the model perform worst. You should allow the model to "think for itself" instead of pushing your reasoning into the prompt. You should give it simple prompt and steer it along the way.
Skills, CLAUDE.md/AGENTS.md should only ever be used if the model struggle at something or doesn't know how to use something. Vast majority of project should never need a skill or CLAUDE.md. If you writing React apps you don't need these.
Give a LLM a bash tool and a prompt and it will outperform your complex setup with skills and tools.
You need agents.md and similar for indications about stuff that is not in the code itself. There are plenty of use cases for that, the alternative is have the LLM guess the most probable solution, which may be correct but may also be wrong.
The only repos I find skills particularly useful for are in small languages with useful new tools. For elixir I have some tools pointing to cicada[1] for code search because it's better than grep and meaningfully reduces churn.
[1]https://github.com/wende/cicada
No, we still need CLAUDE.md to override bad system prompt goals. The system prompt goes for the simple fast solution, no error handling, no hardening, no abstractions, but overly verbose comments. Vast amount of people need to override this AI slop.
Never once had to do that, fwiw.
You'll get better code if you do
[flagged]
Contrast that interactive, misspelled prompting, which I can relate to, against the clear, but intimidating, prompting they published with that theorem proof the other day.
Is there a non-math example of how a genius prompts? RE: Tao’s Jacobian Conjecture chat https://news.ycombinator.com/item?id=49010345
vibe typing the mumble prompts?
> we anthropig fire employes makr company run no mistkaes
To quote - what I found to be - an absolute zinger from another trending thread on here just 6 hours ago:
> Typical users run software written by atypical users.
https://news.ycombinator.com/item?id=49084936
This extends to everything. Anthropic has a few thousand engineers, but millions of (also engineer) users. Entire business can be built on niches that are at most a few week pet project for a team there, that can inevitably and significantly outperform them, despite being the people behind the thing.
I'm sure I'm not the only one here who jumped into this whole agentic stuff, built some tooling to make things comfy, only to see that tooling all be increasingly introduced as prim and proper features in the various harnesses weeks later.
> we made a machine that writes with perfect grammar, so that we can continue to write half-assed junk
claude's grammar has gotten significantly worse with latest versions. it no longer writes perfectly at all
It's called being more human-like lol XD
To be fair
> Importantly, this is just one of many (autonomous) sessions where Claude worked on discovering new ideas. Many sessions resulted in no new discoveries; other follow-up sessions improved on the insight developed in this one. This document was produced by having Claude rewrite the chain of thought to include more detail to make it easier to read.
[flagged]
Having spent a lot of time over the last months writing both refined, structured, and grammatically perfect prompts, as well as exact equivalents of the ones you quoted (modulo subject of the prompt), I have three observations:
1. I'm glad the second kind works too;
2. First kind is where I find my overall throughput to be literally constrained by my typing speed;
3. Most importantly: those prompts you quote aren't just "half-assed" like sibling comment states; they're different. The style of writing, and the typos, capture emotional valence. It's a signal.
Again, I too produce such prompts - including the exact same typos - when under pressure and irritated by the direction the model is taking.
Have you tried using Wispr or Willow (or any one of a thousand alternatives?)
A little odd at first but absolutely amazing for the purpose of piling context into an LLM.
It's so bizarre to me that people want to do this.
Can't you type faster than you speak? Doesn't your speaking inhibit your thinking? Aren't you self-conscious talking out loud? How are our experiences so different?
> Can't you type faster than you speak? Doesn't your speaking inhibit your thinking?
For me personally: no, I speak faster than I type; and speaking actually helps me get more ideas compared to typing.
(Not sure if that’s due to having no typing speed barrier, or maybe because speaking activates different parts of the brain.)
Once you get over the feeling of self-consciousness, it’s a great way. I even go on short walks sometimes and mumble to my phone to prepare some long prompt. Thinking works even better, when walking outside :-)
do you perchance have no inner monologue? its a physical difference in how people think that would affect typing vs talking
These are all interrelated points and the sibling comment is correct: it's a skill.
The key thing with these voice systems is that you do not need to edit anything. You can literally just stream of consciousness into them, no editing, include the backtracking, the live-revisions, etc., and it will actually all produce vastly better context for the LLM than the written thing you took even 30 seconds to edit for clarity or brevity.
I had a very similar disposition towards this idea just 6 months ago. I highly recommend trying it out. The key thing is that you do not need to edit. Just keep talking. Try it for a few weeks!
You don't need to edit anything when you are typing either. You don't even need to worry about spelling or typos.
Seems much harder to learn how to write how you never write, versus just learning to speak to a computer the same way you speak to anything else.
What do you mean how you never write? You can just write what for want to say instead of saying it out loud. It is not a special skill, it's no different than how you write a message, just that you don't hit backspace to go back and correct things.
Correct, it's no different from how you normally write, except for the ways in which it is. We agree.
When you're making a big deal out of it being "much harder" because it's "how you never write" and they're saying that's just "not hitting backspace"? No, you don't agree.
How frequently do you write in a stream of consciousness and not hit backspace?
Maybe give a ballpark estimate of characters typed per week in this manner versus characters typed where you are doing some combination of: 1) thinking about what you're writing before you write it, 2) punctuating and formatting correctly, or 3) correcting your writing output?
Ridiculous proposition. And I type correctly at 110+ wpm.
How often I do it doesn't matter because it's such a trivial thing to switch. If you're gonna "try it for a few weeks" the part of you that has to learn the typing-specific parts of that method is about 1% of the difficulty.
It's really easy to ignore typos. And the way you have to approach thinking and correcting is the same whether you're typing or voicing.
If you can't just type the way you would just talk, and you find it notably hard, it's you that's being ridiculous.
But it's literally not. You already correct yourself and revise your speech in an append-only rolling edit. You do it all day every day for decades.
Versus never writing in this way.
Have you tried the voice-based prompting, as I'm describing?
"never" schmever. I never ramble unrestrained either. Deciding not to edit at all is a skill either way. If you just want the equivalent of voice in a normal way, you remove backspace and that's it.
> Have you tried the voice-based prompting, as I'm describing?
I've never prompted a thing. I can just see your distinction is nonsense. If you think it's hard you're doing it wrong.
And wow I did that post without revising a thing. Wow.
Right. So the crux of the issue here is you have no experience with what's being discussed, while I do.
Sheesh, imagine thinking you choose not to rewind time and "edit" the speech that has already come out of your mouth lmao.
I'm doing it right now you goober! Stop calling it hard!
What experience do you insist I'm lacking in something I'm doing right now?
Maybe you lost the thread, but this is a conversation about using dictation (specifically modern dictation tools like Whisper derivatives) to prompt coding agents.
Do you think it suddenly becomes harder to avoid backspace when you're in a different text box?
The thing you're claiming is hard, writing exactly the way you would speak, is not hard.
There's also some additional benefit to going with the flow and not thinking about words much before saying them, but that's equally hard with text or voice.
You just said like two comments ago you have no experience with this. Not sure why you keep acting like you do.
I hadn't before. Then I started doing it just to show how easy it was.
It doesn't matter what text box you're typing in. The ability to type as you'd speak is easy. Without any extra delays or issues.
I hope you're not trying to argue that typing the same way into an AI prompt is harder than doing it into HN. It's just not hard in any situation. Voice isn't special.
You are struggling to hold the thread, I'm afraid. Have a good night!
I see. You've fallen into some weird pedantry to think what I'm saying isn't relevant to your argument. I hope you figure out my very simple meaning later, have a good night too!
A lot of people on the autism spectrum can have issues with speaking or speaking speed, but have no such barrier necessarily to typing speed.
I'd imagine there's a statistically large number of people that meet that criteria on this website.
I mean we don't need to do any epidemiological studies here or anything.
If someone hasn't tried it, they should. It's probably quite different from how they're expecting, might be great, and costs basically nothing. Try it for a few days and if it doesn't work in your workflow, obviously don't do it.
But I have encountered many many people who raised these exact same arguments against trying it, then tried it, and were hooked within days. Exactly 0% of people I've ever convinced to try it decided it just wasn't for them and went back to typing full-time.
[delayed]
My stream of barely-intelligible rambling comes out much faster than I can type, and it's not even close.
It's a skill like any other. You start out stuttering and second-guessing yourself, but after a while, you get better at it. And the LLM smooths out the odd mistakes better than you might think.
Voice dictation tools? Not really. Tried various dictation tools interacting on the phone, but the quality varies, and resulting prompts are very much not like I would write them.
My limiting factor is that 99% of the day I'm around people - either at work, or at home with wife and kids. There's almost no point during the day I could feel comfortable talking at an AI, and even if I stay up late, then talking risks waking the kids up.
Can't wait for some kind of subvocalization microphones to become a thing.
Get a noise machine for wife and kids bedrooms. I talk to friends late at night and my deep voice carries through walls. Works great.
I have zero desire to talk to an ai though, that was cool for about 20 minutes on my pentium 1 acer computer. Hasn’t been since. Old competent non paid Alexa was good for timers as well, the rest of the platforms a turd, nice timers though.
> that was cool for about 20 minutes on my pentium 1 acer computer. Hasn’t been since.
Oh back in the days, i.e. 20 years ago, I had a better voice control system than anything afforded by Alexa or Apple or others, using MS Speech API in its custom constrained grammar mode, plus some bootleg samples of Star Trek's computer voice + a sub-dollar microphone soldered to a long cable and hung on the side of the wardrobe.
The trick that made it work? Microsoft Speech API actually let you train voice to your own text corpus. I'd prepare all combinations of commands I want to issue, print it out, and train it over a dozen short sessions in several locations of the room and at different ambient noise levels (from silent through various genres of music playing at various loudness). End result was more reliable and had better voice-mismatch rejection than any current system I've tried.
Oh, and the real kicker? This all worked fully locally; this was before cloud was even a thing. Turns out you don't actually need cloud for reliable voice control. Nor that much processing power; PC I had then was relatively budget even for 2006.
I highly recommend getting a boom mic that you can keep right up against your mouth and literally whisper into. Take a few weeks just doing stream-of-consciousness prompting into it like this. Don't worry about editing or backtracking or revisions. It's really amazing how well the AI voice recognition → coding agent workflow works.