Questionable Side Quests

Earlier today, I watched Simon Willison's keynote from PyConUS, and found myself nodding in agreement at pretty much everything he said.

I've been making extensive use of my "AI friends" over the last few months, switching between Google's Gemini, OpenAI's ChatGPT, Perplexity's AI search engine, Inflection AI's Pi, Microsoft's Copilot (both in Bing as well as extensively in VS Code with Github Copilot), and Anthropic's Claude.ai. I mention Anthropic last, because this is my new favourite! The new Claude 3.5 Sonnet is genuinely incredible and feels like it's a step ahead of the rest.

I really enjoy chatting with Claude - the tone of the responses are great, and the code it generates is top-notch. As Simon mentions in his keynote, the industry has settled on "Vibes" as the key measurement for LLMs, and the vibes I'm getting from Claude.ai are great.

An example of how good it is... I have just recently switched to Spotify after bouncing around between YouTube Music, Apple Music, and Tidal. I wanted to import my CD collection into Spotify, but I didn't want to upload the files, I just wanted Spotify to match the albums and add Spotify's version to my library.

So I asked Claude what my options were, and it suggested a couple of third party tools, both of which had free and paid plans. But it also recommended looking at the Spotify API if I was technically minded. I didn't realise Spotify had an open API, so I told Claude that I was a Python developer and asked it to get me started.

I wasn't really expecting Claude to write the whole script for me, but that's what I ended up doing and it all worked perfectly. There's definitely room for improvement, but the script worked and so I asked it to write a README.md file too, and then I published it to Github:

Most of my back-and-forth with Claude, was tweaking the logging and the printing of progress to the terminal. The script was functionally working after just a couple of prompts. I went from having no idea there was a Spotify API, to having a working import script in about 15 minutes, and then spent another 30 minutes tweaking it to the point where I was happy to share it.

As Simon says, these modern LLMs we have access to don't need to be perfect for them to be useful. Too often, I see people deriding them as a joke because the LLM couldn't answer a seemingly simple question correctly. Once you understand and accept the flaws they have, you can do amazing things with them.