|<<>>|11 of 265 Show listMobile Mode

On the practicality of non-distributed knowledge

Published by marco on

Back at the end of August, I read the article Making Large Language Models work for you by Simon Willison. I have since being doing much more research about integrating LLM-based assistants into the development workflow for work. It’s quite interesting, and I’m going through some older content to see what’s worth mining for that effort.

In particular, the article has this description of expertise, and linked it to ChatGPT—obviously, it’s Simon Willison.

“LLMs have started to make me redefine what I consider to be expertise.

“I’ve been using Git for 15 years, but I couldn’t tell you what most of the options in Git do.

“I always felt like that meant I was just a Git user, but nowhere near being a Git expert.

“Now I use sophisticated Git options all the time, because ChatGPT knows them and I can prompt it to tell me what to do.

“Knowing every option of these tools off-by-heart isn’t expertise, that’s trivia—that helps you compete in a bar quiz.

Expertise is understanding what they do, what they can do and what kind of questions you should ask to unlock those features.

Well, welcome to the party. Expertise has always been exactly what he’s described. It’s having an understanding of a subject—wisdom about it, if you like—born of extensive familiarity. But it’s never been about rote memorization of things. How is this a revelation?

Sure, experts tend to have to look things up less, just because they’ve done something you’re asking about so many times before that they can’t help but remember how it’s done. My expertise in programming techniques, programming languages, and development environments leads me to expect more, to be able to conceive of a feature I’d like to have and to go looking for it. A lot of people can’t do that because they don’t know what to look for. Therefore, they’re not experts.

The only thing that really is about deep familiarity and rote memorization is vocabulary, the toolbox from which you draw in order to express your thoughts. When I want to type a word like “morass” and I can’t remember whether it has two r’s or two s’s—or both—and then use a real-time spellchecker to test which version is correct, only to realize that it doesn’t have an ‘e’ at the end, I’m still expressing my own thoughts, in words that I know. If I don’t know the word, I’m going to express myself more simply—albeit perhaps more understandably!

When I use an LLM to generate entire swaths of text, I’m no longer expressing anything of myself. It’s not my thoughts. It’s words generated from a kernel that came from me. It’s leveraging, sure, but it’s a fundamentally different expression. It contributes much more text—which others have to wade through—from much less, not only effort, but much less thought. You’re essentially cheating people, tricking them into reading what you’ve gotten the LLM to write for you.

So, yes, expertise ineluctably comprises at least one skill: an expert is someone who’s amassed a formidable arsenal of tools with which to express their thoughts. If you don’t have thoughts, you’re not an expert. If you rely on tools to express your thoughts for you, then you’re faking it. However, you might be able to eventually fake it well enough to provide value to society? I don’t know if that’s true, but I’m willing to give it the benefit of the doubt.

There are some tasks for which immediately available, immanent expertise is essential, where the ability to quickly correlate information from disparate sources is exactly what the interlocutor—or situation—is looking for. There are others where a delay is OK. Say, you need to know how to light a campfire. It’s great if you have someone in the group who already knows how to do that, but, you can also just look it up and learn how to build a fire in five minutes. If you need to know the temperature, likewise.

Where immanent expertise is important is when you don’t have a data connection. If your keeping your expertise off-site, then you run the risk of being cut off from it. You’ll all freeze to death if you’re each having a conversation over a spotty data connection with an LLM about how to build a fire, and it’s veered off into telling you about a really cool story by Jack London. It’s relevant to your imminent death, but irrelevant to your wanting to live.

[…] so under-equipped to be communicating in the first place that it’s a crap-shoot as to whether they can express or understand any concepts worth discussing

A task for which immanent expertise is currently very advantageous, if not essential, is debating, participating in meetings, talking to other people. The thing that greases the wheels of civilization, in other words. Being able to properly express what you’re thinking in real-time is helpful. The current idea of offloading to a web search or LLM prompt incurs too much delay to be a viable replacement, or even an alternative.

Can you imagine it? Instead of learning a language, with vocabulary and practice in elocution, one party expresses a truncated set of half-baked bullet points that they balloon with an LLM into several paragraphs of text that they then send, unread, to their counterpart, who sends the text, unread, to their own LLM, which distills it back down to a few bullet points, which, one hopes, bear some semblance to the original ones, but it doesn’t really matter because both parties are, at this point, so under-equipped to be communicating in the first place that it’s a crap-shoot as to whether they can express or understand any concepts worth discussing.

All that said, and I honestly can’t see the advantage of having an LLM answer these questions rather than a search engine. I manage to quickly extract answers from DuckDuckGo every damned day without feeling like I’m restricted because I didn’t get to ask an LLM 12 questions to refine the answer, or ask the search engine to answer as a goat in a tree (something that Willison above thought was a fun thing to try). What absolute madness is this?

What’s mind-boggling is that this is a very smart guy who only hit upon the idea to use a tool to “remember” Git commands for him when he could do it with an LLM. He still uses Git from the command line, but he now pipes his questions through an LLM first—e.g., he asks it how to “undo last Git commit” and it tells him git reset HEAD-1 (which, honestly, seems kind of intuitive enough to remember)—and then executes it on the command line. And then he calls this “efficient”. I’m blown away that he’s never heard of a Git UI. I just type Ctrl + Shift + K from long years of muscle memory using SmartGit.

This is a question I have for anyone who asks me about how to leverage LLMs in programming: are you even using the other tools we already have available? Are you just grabbing for the new shiny? You know, which you will use just as spottily and badly as all of the other tools that are already at your fingertips and which you ignore daily?