rw-book-cover

Metadata

Highlights

  • I want to start with the big picture. The first thing: no matter how you feel about AI, the genie is out of the bottle and it’s not going back in. I still feel fundamentally ambivalent about AI. Obviously it can be a tremendous lever in writing better code, but there are also so many negative things, from the environmental impact to increasing the concentration of wealth. And it’s all built on the theft of intellectual property on an unprecedented, industrial scale. So there are lots and lots of bad things about AI, and I still feel conflicted about my use of it, but it also feels like something that we all have to deal with. It’s coming, like it or not. We can’t put the genie back in the bottle. (View Highlight)
  • But on the plus side, I think you can actually have a great time with AI. It can be genuinely fun and genuinely empowering. (View Highlight)
  • For me personally, this was changing how I think about producing code. No longer is it me typing code directly into the computer; now I’m having this conversation with a robot (Claude, in my case) that’s interpreting my thoughts and providing a remarkable iterative feedback loop that I still find really rewarding. (View Highlight)
  • But there’s a fork in the road — there are two paths you can take when using AI to produce code. The first is the one you probably hear the most about in the media. (View Highlight)
  • This is the “software factory” where you become the manager of a factory of robots who are constantly beavering away day in, day out, and you’re frantically trying to feed them with as many good ideas as you possibly can. Taken to its extreme, this leads to something pretty dystopian. (View Highlight)
  • I don’t know if any of you are aware of Steve Yegge, but he’s a pretty famous software engineer. His “Gas Town”piece depicts this dystopian future where all you’re doing is trying to optimize the sheer volume of code that you produce, and every problem you create with agents you solve with yet more agents. (View Highlight)
  • But that’s not the only way forward. There’s also a way forward where you use AI to write higher-quality code, which for me is typified by Doll’s writing.
    One of the things that’s really interesting as we learn more about using AI for high-quality software engineering is just how many of the existing best practices — things like good documentation, strong tests, and caring about how your code is organized — continue to be really, really important. And the good news is that they’re more accessible than they used to be. As the cost of writing code goes down, you can spend more time (or more of Claude’s time!) architecting your code so it’s easier to understand and easier to modify in the future. (View Highlight)
  • For me, the thing that’s most important to hold onto is that regardless of how the code is produced, it’s still yourwork. You are responsible for the work that you and AI do together. (View Highlight)
  • If you choose not to intellectually engage, you can churn out mediocre work faster than you ever could before. But that’s not the only option. If you really engage deeply, I truly believe that you can produce higher-quality work than you ever have before. (View Highlight)
  • At the end of the day, I think the best metaphor for AI is that it’s an amplifier. If you want to be lazy, you can be more lazy with less effort than at any other time in human history; you can solve problems with zero intellectual engagement. But you don’t have to do that, because AI can also amplify the best of you. You can use it to go deeper, to engage more in any of the domains that you’re working in. (View Highlight)
  • For me, this resonates with my favorite Tukey quote about how statisticians get to play in everyone’s backyard. AI gives us the ability to play in even more backyards, and to play with more skill than we could before. (View Highlight)
  • To me, that’s one of the reasons I think statisticians and data scientists are well poised to do well in this era of AI. We have the skills to program, and these skills are now massively amplified — if you know how to program in one language, you can now effectively program in any language. We have this deep, ingrained skepticism about where data is coming from: who collected it, why did they collect it, what are the things we need to worry about? And we have this understanding of variation, which I think is so important with LLMs, since they’re fundamentally stochastic machines. So LLMs and AI are, I think, a massive amplifier. You can certainly use them to amplify the worst aspects of yourself, but you can also use them to amplify the best aspects. (View Highlight)
  • Now I want to turn my sights on something a bit more practical. I want to begin with a bit of level setting; there’s so much variation in what people understand about AI and LLMs, and the best practices are changing at a frantic rate. If you’re basing your opinions on AI as of six months or a year ago, that’s badly outdated. So I want to give you some concrete advice about the things that I, my team, and the folks I talk to find most impactful. (View Highlight)
  • First, there are three companies producing these so-called frontier models, the best of the best. The first, and my personal favorite, is Anthropic, who produces Claude. It tends to be a bit more expensive than other models, but in my opinion it’s the best all-rounder. It’s certainly the model I find best at writing R code — it produces probably 90% of the R code I write today. The responses aren’t always great, but they’re often surprisingly insightful and knowledgeable. It’s surprisingly dumb at other times, but we’ll come back to that later and talk about how you protect yourself from that kind of dumbness. (View Highlight)
  • Then we’ve got ChatGPT, produced by OpenAI. I hear a lot of positive things from my colleagues, particularly for using it for code review. The downside of ChatGPT is that it has the most obviously evil CEO — which isn’t to say any of these CEOs are good, but ChatGPT’s CEO appears to be particularly, obviously, not good. (View Highlight)
  • And finally you’ve got Gemini, by Google. I think it’s in a distant third place right now. But that’s an advantage for you: Google desperately wants to stay relevant and has huge buckets of money to spend, so if you’re trying to save money, Gemini is pretty good and quite cheap. It has a good free plan and you can get a lot done with Gemini without spending much money. It’s also really good at image generation. That’s what I use to produce all of the images in the slides I showed earlier — and, of course, because I’m me, that’s now all automated in an R package called bananarama. (View Highlight)
  • (View Highlight)
  • So those are the frontier models — the best, and the most expensive (to create and to consume). On the other hand, you’ve got open models, sometimes also known as local models, because these are models that you can actually download and run on your own computer.
    There’s a lot of promise here. They seem to be roughly trailing behind the frontier models by about six to nine months. So if a frontier model can do something today, then in a year’s time you can be reasonably certain that one of these open models is going to be almost as good. (View Highlight)
  • There was a really big inflection point in the use of AI for coding that happened around the end of December last year. That’s when Claude Code really took off — there was a step change in its functionality that has dramatically transformed the practice of software engineering. So based on that prediction, we should expect to see open models getting good right about now, towards the end of the year. And I think we’re starting to see that: Gemma 4from Google and Qwen 3.5 from Alibaba are showing a lot of promise. My colleague Simon has written a blog postabout this recently, showing that these local agents are getting pretty good. (View Highlight)
  • I think it’s better to focus on these being open rather than local, because if you want to run them locally you still need a pretty beefy computer. If you have a really expensive MacBook, those are pretty good; otherwise you’re going to need specialized GPU hardware, which is exceedingly expensive right now. But even if you’re running an open model on someone else’s computer, there’s a lot of competition there to drive prices down. So if you want to use one of these open models hosted somewhere else, those tend to be pretty good deals. (View Highlight)
  • But the most important thing I want to tell you is that if your primary way of using an LLM is through a chatbot interface on the web or your phone, you are missing out on at least 90% of the goodness. Chatbots on the web are great for casual exploration, the questions that come up in your personal life. I use them all the time — to create recipes to use up leftovers in the fridge, to answer questions I have about gardening, and to look up random facts I want to learn more about. But if you’re using them for data science or programming, you’re missing out on 90% of what they can do. (View Highlight)