{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreiau4tcxrdwhfndwtusg46ti3d2tf6rwqa5uf734bjdyg6r2fvzjze",
"uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mgtna3jbjyi2"
},
"path": "/t/yet-another-opinion-on-llms-hasufells-blog/13775#post_8",
"publishedAt": "2026-03-11T19:43:31.000Z",
"site": "https://discourse.haskell.org",
"textContent": "So I’m coming from a point of extreme scepticism against LLMs. This has been my stance for months now, after using older models last year. However, last week I started testing Claude Opus 4.6 for my daily work (Haskell) and my views have changed drastically.\n\nI was tasked with writing a prototype for an internal server-like service. We allocated a few weeks for this task. I defined by hand domain types and wrote the business logic, leaving all the glue code and other boilerplate to Claude. I wrote one handler by hand and told it to mimic the style in the others. It’s such a mind numbing task it would probably take my GenZ brain hours to force through, and it took just a couple of minutes. I told it to add chunking and streaming. It did that. I spotted quadratic complexity in a chunking algo. It fixed it. I suggested another data structure. It did that. I told it to write a CLI client. Then use this client to write HSpec tests. I reviewed those tests, found some nonsensical examples it struggled to make pass, I fixed those by hand. After a few days I have a working prototype with client and tests for something we allocated weeks to. And honestly for me it brought joy back to programming. I can concentrate on specifying exactly what I wanna do and how I wanna have it done, bring my domain knowledge in the places that really need it (business logic and test cases) and leave the boring parts to the LLM, so I can read some papers or participate in meetings while it does its thing.\n\nOther example, when writing e2e tests I found an issue with serialization in a C++ library we own but I know nothing about. It bothered me enough that I decided to debug it. After an hour or so I thought well why not asking my advanced matrix multiplier to look into it? It found two fields missed in serialization deep in the structure after a few back and forths with me when I gave it a reproducer. It took 30 mins and saved me hours of work again.\n\nIf you haven’t yet, you should try newest models. It’s been a huge leap since last year. That said, I don’t think engineering is dead, at all. I’m actually worried about a new wave of “AI-first” new grads that maybe never have written a line of code themselves. If you never have written your own production code, how do you know how good code should look like? Your “creation” will inadvertently turn into a massive spaghetti slop. You need to be a harsh reviewer and LLM will do well. Also, domain knowledge is as important as ever. Maybe there will be less work for “pure coders”, but domain experts will still be very valuable.",
"title": "Yet another opinion on LLMs · Hasufell's blog"
}