LLMs turn your job into mostly code review, a task everyone famously loves to do and is good at
@jcoglan meanwhile we are exploring LLM-based code reviews… 🤦‍♂️
@akahn @jcoglan don’t mention the unit tests
@alanpaxton @akahn I genuinely think having an AI write tests is a category error so bad I'd almost call it malpractice

@jcoglan

Actually depends IMO.

Writing production code first, having AI write unit tests afterwards? Terrible idea.

Using AI to generate missing unit tests in a years old legacy system? Better idea.

Doing AI coding in TDD style? Great idea. Turns out that writing the test first really improves AIs ability to come up with good production code.

TDD fans won't be surprised.

@alanpaxton @akahn

@fxnn @jcoglan @akahn Generating missing tests has strict requirements on what we want the test to do (prompting) and checking that the resulting test clearly exercises what it is meant to exercise. What value is AI giving that DIY coding isn’t ? What does AI code conforming to a set of TDD tests do when we add a feature ? Can it refactor, Fowler-style, or will it generate a new version of code that satisfies the n+1 tests ? Could we support/maintain a system like that ?

@alanpaxton

Very good and important questions.

We're talking about a technology that's growing exponentially: whatever the answer is today, it will be different next year.

All we can do today is experiment with all the new tools they release, in order to understand how they work and learn what they can do for us.

@jcoglan @akahn

@fxnn @alanpaxton @akahn there's no reason to assume that reasoning lies on a continuum from whatever it is LLMs do today, such that quantitative improvement will mean they will eventually be able to reason

my recent attempts to drive an LLM using TDD have gone extremely badly, including it fabricating its own tests and showing no ability to comprehend the problem or my instructions

@jcoglan

Yes, the steps we make shouldn't be too coarse, and also AI augmented coding is still somewhat adventurous. One of the important things it needs is a good "system prompt", some rules which tell it e.g. to never fix a test by deleting it.

I can recommend @kentbeck's recent blog posts on that matter, paywalled, e.g. https://open.substack.com/pub/tidyfirst/p/persistent-prompting

@alanpaxton @akahn

Persistent Prompting

Getting the genie to do good things to my code is often swamped by getting it not to do bad things.

Software Design: Tidy First?
@fxnn @kentbeck @alanpaxton @akahn I'm afraid I will not be giving substack my money, but if there are other sources that are worth reading on this subject I would value recommendations

@jcoglan

I can relate. While I get that people want to earn money with their blogs, I believe that there must be a better way than to feed Substack or Medium's pockets.

Anyways, the one good free blog on the general LLM topic (I'm reading regularly) is that from @simon, https://simonwillison.net.

Also I got recommended a blog post from https://harper.blog/posts/ which seems to feature some interesting AI coding posts lately.

Nothing more specific at the moment, unfortunately.

@alanpaxton

Simon Willison’s Weblog

Simon Willison’s Weblog