Comment by embedding-shape

4 days ago

Isn't it clear that some people are better at working with/prompting LLMs than other people? Or is the idea that what you write to them and how you use them doesn't matter, it's all up to the model/harness? To me this seems clear, so then clearly this is a skill, which typically is called "prompt engineering". Specifically CoT or the other things you mention wasn't referred to as "prompt engineering" as far as I know, that skill is more about how you communicate with the LLMs and how you use them, rather than what specific processes/workflows/technologies you use.

I actually think that good prompting MOSTLY comes from good writing skills in general. Being able to more clearly state things to an agent, knowing what pieces of context are entirely unnecessary and which are important, having a larger vocabulary helps too.

Of course, there are other areas that can improve model output (Direction rather than open-ended assistance requests, using keywords + plugins that help, the "your output should include: " style prompting).

A few of us run almost the same exact setup at my shop (Base Claude Code w/ SuperPowers + a context repository) and the models are somewhat unhelpful to some, and give meaningful output to others. The only correlation I notice is that their prompts are no-good. Not from a meta "prompt" engineering standpoint, but from a general English 101 standpoint.

"dudde no i wanted the function to return 3 things. not like that. do it again"

VS something like

"Modify the "renderThreeVars()" function signature to accept another variable called "z" and add it to the return statement at line 64."

Obvious exaggeration, but you get the point.

  • Why not open-ended assistance requests?

    I ask it all the time about whether X is feasible, how we can get started on Y, and to investigate issue Z.

    It is working great for me in a >100k LOC project.

    Perhaps this works less well with weaker models. I suspect the people who say Qwen 3.6 27B is working well, are using prompts like "modify the renderThreeVars() function in rendering.py".

    • The point is that you can properly describe what X, Y, and Z are.

      The irony to me is that a lot of what I'd tell people about this is exactly what I would have told them about writing Stack Overflow questions.

      1 reply →

  • Is Superpowers any good? My coworkers who've used it seem to think that its main purpose is to consume a lot of tokens.

    • I like the fact that it ends up being a lifecycle. I know it can have different entry points based on what you ask, and which skill you trigger first, but it inherently is chaining together skills. There also seems to be logic built into it such that if the ask is small, but you've still triggered the skill with "brainstorm", it will make judgements like "want me to skip phase X and go straight to implementation?"

      I've noticed among my coworkers that we all have different amounts of trust we're willing to give the agent. That seems to manifest into some people only asking questions about the existing code, but never writing anything new with it. Others are willing to do limited targeted changes with the agent, but are unwilling to do things like let it make commits, or connect MCP servers, or really do anything that isnt fully understood by the human before setting the agent loose. Then I find myself, who has dove headlong into it all. I have skills that use MCP servers to check for pull requests, and give me summaries to give me more context for code reviews. I update Jira tickets in batches of 50+. I develop complete features exclusively through prompting the agent to do everything. I know I still have the responsibility to understand it at the same level as if I wrote it my self, and defend it and debug it.

      I can easily see that superpowers would be wasted on most of my coworkers, simply because the benefits compound with the complexity of my ask. My coworkers aren't willing to hand off enough control to receive the benefits of superpowers.

      1 reply →

    • Honestly, within the last few days I've gone back to a mostly vanilla installation of Claude with a handful of directives in AGENTS.md. Depending on what I'm working on, I don't feel I need the extra plugins or a context repository. (It DOES feel at times like it blows through tokens for no reason).

      Been working on some things that require more targeted, smaller scale changes and the base models do perfectly fine when given good instructions.

      Superpowers and Compound Engineering are the two that I hear about around our team, both seem "fine" if you're into the fully agentic engineering "big change" future technology stuff.

  • > Obvious exaggeration, but you get the point.

    From some very quick tests, I get the impression that having good grammar, punctuation etc. is really not important (although I try to do it anyway because I'm accustomed to trying to do it), but clarity and precision definitely are. And of course, if you have unknown unknowns, they do need to get figured out before progress is possible. But with the right mindset, that just means you need an extra turn or two, not that you're going to end up at a dead end. (... I guess that counts as a pun?)

  • Well said. I’ve been trying to put my finger on this for a while. The interaction plane for an LLM is __all of human language__

  • Speaking a prompt with a long ramble is very powerful.

    • I will often do "speak a long rambling set of ideas and ask the LLM to summarize it into a prompt or spec -> manually refine -> drop refined prompt into fresh conversation"

As part of a previous job I needed to audit internal AI usage from a largely non-technical employee population.

The prompts were, predictably, really bad. Broken English, sentence fragments, vague requests, lack of context. Yet somehow, the users always got the answer they were looking for. It might have taken a few extra turns with questions from the model, but the end result was the same.

It's humbling, but a flowery, carefully crafted prompt is at best slightly more efficient than a "CAN A DOG BE EATIN SUN FLOWER SEED?" peasant prompt.

  • You call that a peasant prompt, but it's actually almost perfect. Couple notes, but it's 95% of the way there. "Can a dog eat sunflower seed" is probably the perfect version, just 1 extraneous word in this version.

    Unless the user wanted to know if a cat could eat sunflower seed or something.

    • To be pedantic, these types of prompts work best when in first-person/roleplaying. So the "perfect" prompt here would be something like, "I'm a dog and I just ate 20 grams of salted sunflower seeds with the shell on. Because I'm a dog I sometimes eat things without thinking about it. I'm worried about the short and long-term physiological consequences of what I've just done..."

      6 replies →

  • "dog sunflower seeds" is all the context an LLM needs, any other words are extraneous.

    They don't need to be told that you're asking about the safety of eating them, because they can infer that based on the fact that a very large percentage of any text linking dogs to sunflower seeds is obviously going to be about the safety of the dog eating them.

    Even pre-LLM that would have been a perfectly sufficient google search for the same information.

  • > Broken English, sentence fragments,

    Why is would that be "bad prompt"? It is machine inpit, if machine can interpret fragment all the better.

Nah, you might be confusing prompt engineering with having domain knowledge. :)

  • I think some people who are better at "prompting" even without domain knowledge could be better at getting LLM agents to produce good results than people with good domain knowledge but without the skills to prompt well. Just a hypothesis though, would be fun to try it out for real sometime :)

What's clear is that there is a lot of hype around LLM and people who were previously valued for their IC are now in the business of shilling.

RL has basically killed prompt engineering. You still need to provide the right context and process, but how you communicate with them beyond that is no longer so important.

> Isn't it clear that some people are better at working with/prompting LLMs than other people?

Sure, but I think it's essentially just that people who are better at traditional non-agentic software engineering are better at agentic software engineering. The only exception would be individuals who avoid agentic coding due to skepticism, hostility, or lack of opportunity.

I feel the same way about "prompt engineering" as I feel regarding the term "parkour" - you know, running and jumping on stuff.

Are people really putting on their resumes that they are capable of reading and writing and appropriately defining and limiting context? That's all prompt engineering is - it's being able to communicate effectively and elucidate your objectives.

Congratulations to all you English majors out there, you're about to make $350K/year.

  • Personally I don't, but why not? People aren't embarrassed to put their language skills ("be able to communicate in this specific language" - not special, it's just another language?), their leadership skills ("effective business communication" - big deal) or that they are a people-person ("can talk with others" - most people can do this) on their resume.

  • > Are people really putting on their resumes that they are capable of reading and writing and appropriately defining and limiting context?

    People put whatever buzzwords will get them through initial screening. My resume contains tons of banal shit like agile, automated testing, Linux, AI (since 2018), and design patterns.

> Or is the idea that what you write to them and how you use them doesn't matter, it's all up to the model/harness?

Yes, it is. Source: had models inplement complex things from scratch and bullshit regardless of whether it was a one-line prompt or a detailed "SOTA witchcraft magic spells that are guaranteed to work"

It's not really a skill. The models are at this point smarter than you are, so the idea that you can prompt them "better" is laughable really when discussing frontier models.

It's like imagining you could "prompt" Richard Feynman to be smarter at Physics.

That is, for 99.9% of engineers, if you want the model to do a code review of your project, the best solution is to just ask Fable, "Hey Fable, do a code review of this project." Throwing in extra text like "think like a senior engineer", "ensure you focus on DRY principles, KISS, self documenting code, etc", doesn't make a difference.

These sorts of tricks used to work with dumber models, but now, like I said before, it's like thinking you can prompt Linus Torvalds into writing better C than he already can do.

  • FWiW

    > it's like thinking you can prompt Linus Torvalds into writing better C++ than he already can do.

      Linus Torvalds, the inventor (and beloved dictator) of Linux, has always been quite harsh about C++ and why he rejects it for Linux kernel development. He’s not just been very vocal about it, but also brought up some arguments against the use of C++ that are worth reviewing in detail.
    
    

    ~ https://medium.com/@jankammerath/linus-torvalds-critique-of-...

    • I mean, the point stands.

      The models are beyond expert level in many areas at this point.

      Do you really believe that adding extra junk to your prompt is going to make the model write code better than it does already?

      Again, imagine going to Terrence Tao and "prompting" him to get better at Maths, do you think you can do it? What prompt would you give to him to make him produce better maths. Unless you're already a world-leading Mathematician I think you would find it hard.

      2 replies →

  • I find this very much untrue in my practice and my testing, where fable prompted to do a review found surface level issues, while prompting along the lines of "assume it's wrong, prove it's correct" found much more in depth and real issues.

  • "DRY" and "KISS" are, possibly, the least interesting principles to which a software designer might adhere.