Live data from Hacker News

How I program with agents

crawshaw.io

231–240 of 308 posts

Re: How I program with agents

#231

Maybe it's because I only code for my own tools, but I still don't understand the benefit of relying on someone/something else to write your code and then reading it, understand it, fixing it, etc. Although asking an LLM to extract and find the thing I'm looking for in an API Doc is super useful and time saving. To me, it's not even about how good these LLMs get in the future. I just don't like reading other people's…

As a senior developer you already spend a significant amount of time planning new feature implementations and reviewing other people's code (PRs). I find that this skill transitions quite nicely to working with coding agents.

You will hit two problems in this "only hire virtual juniors" thing:

* the wall of how much you can review in one day without your quality slipping now that there's far less variation in your day

* the long-term planning difficulties around future changes when you are now the only human responsible for 5-20x more code surface area

* the operational burden of keeping all that running

The tools might get good enough that you only need 5 engineers to do what used to be 10-20. But the product folks aren't gonna stop wanting you to keep churning out the changes, and the last 2 years of evolution of these models doesn't seem like it's on a trajectory to cut that down to 1 (or 0) without unforeseen breakthroughs.

Re: How I program with agents

#232
post #215

Earlier quoted context omitted.

That's all fine and good, but there is always boilerplate that you can't design away. Even the most succinct cli command definition and argument parsing library you could devise is going to require a bunch of option name definition. It's just a fool's errand to think you can stamp out everything that is tedious. It's great that we now have tools that can generate arbitrary code to bridge that gap.

There are diminishing returns for sure, and this wasn't an argument against using LLMs for the tedious parts. It was an argument that most of the existing work isn't necessarily tedious to start with.

Yeah. But I've been reorienting my sense of the proportion of the work that is tedious.

Re: How I program with agents

#233
post #216

Earlier quoted context omitted.

Yeah but this is exactly why using LLMs doesn't actually preclude problem solving. You still have to do all these things. You just don't have to physically type out as much code.

To make a limping analogy, writing a novel actually requires the writing process. You can instruct an LLM to write prose, but the result won't be the same. I do a lot of thinking by coding, by looking up existing parts of the code base, library documentation and such, to decide how to best combine things, to determine what edge cases have to be solved and implementation decisions to be made. Once I know how things fi…

Yeah I would agree with "it's not the majority of the work".

This is what's making these discussions feel so contentious I think. People say "these are very useful tools!" and people push back on that. But then a lot of times it turns out that people pushing back just mean "they can't do the majority of my work!". Well yeah, but that wasn't the claim being made!

But then I'm also sympathetic, because there is a huge amount of hype, there are lots of people claiming the these things can do everything.

So it's just a jumble where the claims being made in either direction just aren't super clear.

Re: How I program with agents

#234
These days when I write code, I usually let the AI generate a first draft and then I go in and fix it. The AI does not always get it right, but it helps lay out a lot of the repetitive and boring parts so I can focus on the logic and details. Before, building a small tool might take me an entire evening. Now I can get about 70 to 80 percent done in an hour, and then just spend time debugging and fine-tuning. I still need to understand all the code in the end, but the overall efficiency has definitely improved a lot.

Re: How I program with agents

#235

Earlier quoted context omitted.

I have always found this idea of not being smarter somewhat baffling. Education makes people smarter does it not? At least that is one of the claims it makes. Do you mean that a baby hunter gatherer from 25000 years ago would be on average just as capable of learning stuff when integrated into society compared to someone born nowadays? For human beings 25.000 years is something like 1000 generations. There will be su…

what if we actually get dumber? There are multiple cases of people in the past that are way smarter than the current thought leaders and inventors. There are a higher % of smart people nowadays but are they smarter than Leonardo Da Vinci?

> Neuroplasticity is the brain’s remarkable ability to adapt its structure and function by rewiring neural connections in response to learning, experience, or injury.

The invention and innovation of language, agriculture, writing, and mathematics has driven the change in neuroplasticity remodeling, but the overall structure of the brain hasn't changed.

Often in modern societal structures there has been pruning of intellectuals, i.e. the intelligent members of a society are removed from the gene pool, sent to Siberia. However, that doesn't stop the progeneration of humans capable of immense intelligence with training and development, it only removes the culture being passed down.

And, I say, with strong emphasis, not only has the brain of humans been similar for 25,000 years, the potential for sharpening our abilities in abstract reasoning, memory, symbolic thought, and executive control is *equal* across all sexes and races in humans today. Defending that statement is a hill I'm willing to die on.

"Mindset" by Carol Dweck is a good read.

Re: How I program with agents

#236
post #200

Earlier quoted context omitted.

That you don't know when it will make a mistake and that it is getting harder to find them are not exactly encouraging signs to me.

Do you mean something by "getting harder to find them" that is different from "they are making fewer dumb errors"?

There are definitely dumb errors that are hard for human reviewers to find because nobody expects them.

One concrete example is confusing value and pointer types in C. I've seen people try to cast a `uuid` variable into a `char` buffer to, for example, memset it, by doing `(const char *)&uuid)`. It turned out, however, that `uuid` was not a value type but rather a pointer, and so this ended up just blasting the stack because instead of taking the address of the uuid storage, it's taking the address of the pointer to the storage. If you're hundreds of lines deep and are looking for more complex functional issues, it's very easy to overlook.

Re: How I program with agents

#237
post #198

Earlier quoted context omitted.

I recently did something similar, but different: gave Claude some code examples of a Rust-like language, it wrote a recursive descent parser for me. That was a one-shot, though it's a very simple language. After more features were added, I decided I wanted BNF for it, so it went and wrote it all out correctly, after the fact, from the parser implementation.

Can you give more info? How big of a number is "some"? Also what kind of prompts were you feeding it? Did you describe it as Rust like? Anything else you feel is relevant. [Is there a GitHub link? I'm more than happy to do the detective work.]

Like three or four. very simple language: main function whos value is the error code, functions of one argument returning one value, only ints, basic control flow and math.

I just opened the repo, here's the commit that did what I'm talking about: https://github.com/steveklabnik/rue/commit/5742e7921f241368e...

Well, the second part anyway, with the grammar. It writing the lexer starts as https://github.com/steveklabnik/rue/commit/a9bce389ea358365f..., it was basically this program.

If I wrote down the prompts, I'd share them, but I didn't.

Please ignore the large amount of llm bullshit in here, since it was private while I did this, I wasn't really worried about how annoying and slightly wrong the README etc was. HEAD is better in that regard.

Re: How I program with agents

#238

Earlier quoted context omitted.

> I've actively paired with multiple people at once That was my favorite part of being a professional cook, working closely on a team. Humans are social animals who haven't -- including how our brains are wired -- changed much physiologically in the past 25,000 years. Smart people today are not much smarter than smart people in Greece 3,000 years ago, except for the sample size of 8B people being larger. We are wired…

I have always found this idea of not being smarter somewhat baffling. Education makes people smarter does it not? At least that is one of the claims it makes. Do you mean that a baby hunter gatherer from 25000 years ago would be on average just as capable of learning stuff when integrated into society compared to someone born nowadays? For human beings 25.000 years is something like 1000 generations. There will be su…

[dead]

Re: How I program with agents

#239

Finally some serious writing about LLMs that doesn’t follow the hype and it faces reality of what can and can’t be useful with these tools. Really interesting read, although I can’t stand the word “agent” for a for-loop that call recursively an LLM, but this industry is not famous for being sharp with naming things, so here we are. edit: grammar

I actually take some minor issue with OP's definition of an agent. IMO an agent isn't just a LLM on a loop. IMO the defining feature of an agent is that the LLM's behavior is being constrained or steered by some other logical component. Some of these things are deterministic while others are also ML-powered (including LLMs). Which is to say, the LLM is being programmed in some way. For example, prompting the LLM to b…

Can you explain the interface between the LLM and the deterministic system? I’m not understanding how a probabilistic machine output can reliably map onto a strict input schema.

Re: How I program with agents

#240

Maybe it's because I only code for my own tools, but I still don't understand the benefit of relying on someone/something else to write your code and then reading it, understand it, fixing it, etc. Although asking an LLM to extract and find the thing I'm looking for in an API Doc is super useful and time saving. To me, it's not even about how good these LLMs get in the future. I just don't like reading other people's…

I kinda consider it a P!=nP type thing. If I need to write a simple function, it will almost always take me more time to implement it than it will to verify if an implementation of it suits my needs. There are exceptions, but overall when coding with LLMs this seems to hold true. Asking the LLM to write the function then checking it's work is a time saver.

Came here to post this it is precisely right.
Post reply on HN