The era of LLMs has transformed the relationship between humans and technical knowledge. In the 2010s, skill gaps, such as not knowing how to write CSS, required relying on colleagues or searching the internet for answers. Today, anyone can delegate tasks to a language model and get reasonable results. LLMs have turned everyone into generalists.

This democratization has created the perception that there is no skill involved in using these tools. After all, if everyone talks to the same models, why would an ‘experienced prompter’ have an advantage over a beginner? The answer, according to the essay at seangoedecke.com, is that this view is wrong. The most important skill when interacting with LLMs is precisely expertise in the domain in question.

The text cites the example of mathematician Terence Tao in a conversation with ChatGPT about a newly discovered counterexample to the Jacobi Conjecture. The author notes that he could not achieve the same result, even with unlimited tokens. The difference is not in the model, but in how Tao uses it.

Analysis of the conversation reveals specific techniques. Tao writes short, objective messages, responding to the essence, not point by point. The model’s responses are more concise because he signals that he is talking to a mathematician, not a layperson. Tao questions answers that seem wrong, but without directly contradicting, using phrases like ‘this seems more complex than I expected.’ He also makes his own leaps and suggestions, rarely following the model’s advice on next steps.

However, following these tips is not enough. The key to Tao’s technique is deep understanding of mathematics: extracting the relevant idea from a long response, suggesting alternative approaches, and identifying what ‘seems strange.’ The author, who considers himself an inferior programmer to Tao as a mathematician, recognizes the same principle in his work: having a good theory of code allows you to push the LLM much further than without familiarity.

This idea connects to a concept already explored by the author: system design problems are dominated by concrete specifics, not generic principles. He prefers familiarity with the code over deep general understanding. Tao asks specific questions like ‘Does X work here?’ or ‘Given Y and Z, why A?’ The author cannot ask these questions about the Jacobi Conjecture, but he can ask them about the systems he manages on GitHub.

Without domain knowledge, you can cling to the LLM to get something, which is not bad. But with expertise, you can extract much more value from the same model, directing it firmly in the desired direction. Most people will use a mix of these approaches, as they have knowledge in some areas but not others.

The usefulness of domain knowledge suggests that human expertise will remain relevant even with stronger models. In many tasks, the bottleneck is the human, not the model, because the hard part is communicating exactly what kind of solution you want. The information is already ‘in the model,’ but it takes a very smart human to extract it.

The post generated many comments on Hacker News. Some share anecdotes about how expertise helped and lack of it hindered. Others express sensible suspicion of a view that reassures them about their own value. The author agrees, but suspects that when the subject is studied, the scenario will have already changed. Some commenters point out that OpenAI’s math prompts were inexperienced, suggesting that expertise is not necessary. The author rebuts: OpenAI has a team of expert mathematicians who verified and filtered the discoveries suggested by the model, and that step cannot be skipped.

The conclusion is clear: in a world where LLMs are available to everyone, human expertise becomes the differentiator. Knowing what to ask, how to evaluate responses, and how to direct the model are skills that separate mediocre results from remarkable discoveries.