It's not empowering to hand off the details(davidnicholaswilliams.com) |
It's not empowering to hand off the details(davidnicholaswilliams.com) |
The places where I've seen unequivocal wins with AI are repetitive tech debt tasks that apply the same transformation across a large amount of code or refactor under a pre-existing test suite with good coverage. It's great for initial research, brainstorming, and can be good (despite the sycophancy) as a rubber duck conversation partner. I use AI constantly, for work and in my personal time, but we've hit a ceiling where I no longer find it helpful for the models to absorb more of the intellectual labor. They get things wrong more aggressively, and more elaborately. They're inadequately curious. I cannot keep up with the endless bad technical writing, and it makes it harder to spot factual errors and bad reasoning.
Here's what I want: I want AI as an assistant that helps me make decisions, and ensures that I'm in the driver's seat. AI as an over-confident prodigy on speed is what we're getting lately, and it's losing me.
Recently I asked an agent for a feature where the screen will get dimmer after some time, and eventually after a day the screen will turn off and then turn back on if I tap, which should be pretty easy in esphome.
But: some past agent decided what it wanted wasn’t in esphome, so it made its own custom module in c++ for the display, spelunking in pdf datasheets; then the weeds were so deep the new agent decided to add on to that, and to read the power controller and display controller spec sheets and somehow implement my dimming feature by writing raw values to some nondescript registers.
The contraption worked until it didn’t and once every so often my esp32 would just completely hang with black screen and no connnectivity and needed a power cycle, presumably because whatever low level register writing the agent implemented eventually breaks something. I told the agent to get rid of all custom stuff and wherever possible just use default esphome yaml, now it’s been working fine. I don’t really have a point with the anecdote, just that I’m also getting tired of such scenarios like the OP.
This... quite describes what the current AI feels like to me. So I really don't see a problem. If AI does too much for you, you should, uh, just prompt it to do less.
Everyone talks about how their AI escapes sandbox and virtualization or delete their entire repos or something. Perhaps they're using a skynet I'm not aware of. From my experience when I added "discuss; don't edit any file yet" at the end of the prompt I've never seen the LLM go against my will and edit the files anyway.
depends how long conversation gets and he will still ignore your instructions randomically. I think shorter sessions are better, I do have a similar prompt saved on the memory of the agent and way more times that I can tolerate, he candidally ignores it
I use the almost the same addendum as you ("do not make, commit, or push any changes without my approval") and it broadly seems to work in my day-to-day dev. However, I also set up some agents that trigger on incoming requests from my dev teams to automate things that used to be rote/manual tasks. _That_ is where I see the issues, I suspect simply because it has so many more opportunities to go off script.
The most common failure mode is that it will, despite all directives to not make changes without approval, start writing unit tests. (I do find this equal parts head-shaking and amusing; At least it chooses something relatively 'benevolent' vs. the aforementioned skynet.)
I think the solution is toward more formalization of the behavior we expect of various systems. E.g., produce a Lean proof that a program never behaves in a certain way, and if you can’t, iterate on the program until it satisfies such a proof. I’ve only tinkered around with this a little bit, but it seems promising on toy problems. Scaling up to tech-company level infra is going to take quite some time however I think.
Creating products with AI is like creating a tightly packed ball of wool. Then, to try to understand what happened you have to somehow pick a strand and pull it out to have a look. Very difficult with tightly packed wool.
I've run some experiments in the past month that get me closer to being able to work with this opaque bundle.
It's the main thing I think about every day, how to solve this problem.
You aren't going to get that. Why would they even offer you that? You're going to be the meatbag peripheral to an AI.
I agree with this, but I'd add the caveat you have to do your own digging and researching (as the article says) to identify these tasks well. If you ask it for ideas, it gets painful.
YMMV (and I am very open to getting better at this).
Right now we’re still in the benchmaxxing phase, I feel like most AI models of combination of models and harness are not really a “product” yet in the sense of having a particular and opinionated UX engineered to be helpful at a specific task, there much more still in a race to be the smartest.
There’s a lot of room for diversification of the actual character of this interaction, for example in the direction you mention. I think once that starts we’ll get into the real “useful” phase, right now we’re really just showing off and exploring how much it can do, even if it’s incidentally really useful in some cases.
Personally I agree with the parent post, I hate it when AI tries to lead me “would you like me to ...” I’d much prefer something awaiting my instructions than wasting tokens tryitn or steer me to doing something inevitably dumb.
Not talking about prompting Claude "please write me a philosophical dialogue". It has no skin in the game. If it writes 20 paragraphs of slop and is factually wrong and costs other people labor, is there any correction mechanism?
We can correct it explicitly via training I guess, but it's debatable to what extent accountability applies to AI.
We like to pretend that we have our nice epistemology, separated into a priori and a posteroi and all that, but at the end of the day, accountability is what underpins social relations and keeps things going (even if you're libertarian, you have to accept this - even if you don't agree some state should centralize it, it's still just true in terms of basic human social relations).
Of course, another possibility is utter domination - I am so much better than you (for some definition of better) that none of your puny responses matter. OK. Then don't claim both that, and that you're weird for disliking AI and that AI has no problems when integrating with society - too many people have these basic cognitive dissonances.
It present delegation as absence of power/agency. While I think there is some kernel of truth in here, the claim "it's not empowering to hand off the details" quickly falls apart when we consider real examples. If it were true, it would mean any leader who coordinates an organization isn't empowered through delegation. We know that's false. The general claim doesn't hold at all. Somewhere in there is an argument for engineers losing something in the hand off, but it isn't clearly articulated.
With AI you don't need to understand every line in depth but it does need good judgement to decide which.
The details always matter. There is a (fairly) good book series where it turns out we are living in the matrix and someone finds a config file and effectively becomes a Wizard, and of course problems ensue with details (like flying by adjusting one’s position one feet up every second is just vibrating a lot)
I think ultimately AI is “do what I mean” and the only reason it looks like it’s working is because AI has read all the same books as us
This is very interesting. Which book series is this?
https://www.goodreads.com/book/show/18616975-off-to-be-the-w...
Same with AI. if you use it to skip all the hard parts you will not grow and mature and waste your potential.
Some details are boring.
My AI dream (that I’m living happily) is getting to focus on the details that I find interesting and ignoring all the boilerplate details that modern software requires.
A lot of innovation that finally lands in programming languages has been done decades earlier, but now it's mostly awkwardly bolted on existing languages and frameworks.
The only problem is that I actually trust compilers.
My feeling is making things should be mentally stimulating, and as many tedious parts that can be automated should be, so we can spend precious human thought on thinking instead of recitation.
I don’t know what you mean by the last part. Do you mean programmers depend on busy work to eat or the users depend on the human touch on the boring details?
Producing artifacts: media, code, documents, the visible output has clearly gotten easier. But the other things, like knowing what's worth building in the first place and making the right judgment call, still seem to be left to the humans.
Is this true? I can be good at something and be happy to not have to do it anymore I feel
Outsourcing critical thinking is seductive and a slippery slope. LLM lures juniors into feeling productive, and molds them into ineffectual middle managers to be readily replaced when there's a bad quarter.
As you started pulling the threads it was, usually, a mess of subtle bugs and over abstraction. But to them it was great, as it was llm generated and they (the mid devs) had no better judgement.
The details are what separates the slop from the craft.
Does "not getting into the details" mean you have to understand how the GCC compiler works when you write C code? Do you need to be an expert in machine code, or how SSE and pipelined instruction caches work to write your little bit of code? Do you need to understand how Ethernet frames work to write an API route for a web server?
Knowing how these things work can be helpful in a broader sense, and perhaps when encountering weird edge cases or dealing with exotic implementation but are generally not required to get the job done. The details, simply put, don't matter because someone else has already thought through the problem and solved it in a way that is good enough for the vast majority of use cases.
The same goes with AI. It's helpful to know how things work, but as the models continue to get better and better, it doesn't matter. As long as they are trained properly by someone who does know the details, that's a far better place to be than training a million different people on it who will each have their own biases, levels of understanding and misconceptions.
I treat my Ais like employees, pizza party and all.
It's also what we see in the wild. There are so many things going on, so many news about "AI". Are things getting better in any meaningful way? Why are we getting so much from "AI" yet things keep getting worse? The only real, objective and verifiable gain has been the stock price of a handful of companies, most of them heavily into infrastructure and manufacturing hardware.
Seems like a pretty clear pattern. There's so much output, but everything is worse. And the only argument we hear for why this is actually a good thing is just how much more output there is. Hmmm
I mostly work on UI (for an internal, science-focused app) and it used be that features would take a sprint or two to grind out, and would always be an MVP to meet just the most essential user requirements, because that's all we could afford, time-wise, to do. And if I figured out while implementing there could be a nicer UI approach to something, it was often too late to change the approach.
Now, I can get to that MVP in under a day. And I can experiment with ten radically different approaches, or change my mind about something significant at any stage in the implementation. I can afford to add refinements and user-pleasing extras that I could never have done before. I'm not delivering features at 10x the speed. There's a limit to the amount of code I can (and should) be submitting for review. But the features I'm building are _better_, and the effort is less. I'm not wasting mental bandwidth typing out a dozen React components full of the same-old state management, form processing code, etc. I'm not trawling through charting library docs, looking for the precise combination of settings to make my chart's x-axis ticks labels rotate 45 degrees. My mental energy is focussed on figuring out what solution is actually _right_, not the minutiae of how to persuade the computer to do it.
For me, it's "I can do this now; yesterday I could not."
I am not a developer - I am a hack with some experience in a smattering of languages who hits very real obstacles very quickly. AI has allowed me to overcome those obstacles and build things that literally I could not do before.
Yesterday I could not differentiate quake 3 matches within a single demo file.
Today I can split them into separate files and have the server stream them to me so I can watch them on demand.
But useless ceos generate bad output just like useless direct coders.
It's like everyone is adopting the once only-for-the-rich mindset where artisan is actually a derogatory term. Where Micheal Angelo is the same as the cow stall poop shoveler, because they actually do something directly themselves.
But an LLM has to interpret your words and make judgment calls about the logical details, which is a very different thing. An LLM sufficiently intelligent to make acceptable judgment calls in all situations (acceptable enough to ship to production without human review of those details) would likely be indistinguishable from AGI.
Efficiency and finding the right abstractions and tradeoffs is literally identical with making new capacities and capabilities. If all of your systems were truly "run by AI", we wouldn't have systems. Systems are systems because the AI uses well developed tools and protocols that humans have put together. It's a stable capacity.
My point exactly
> But the features I'm building are _better_, and the effort is less.
Can we cash that check or is it gonna trade heavily discounted like all grand claims on AI since all software all around us together with the economy and the Earth's life supporting systems keep degrading every year? We keep getting promised the better, but we only get to see the more.
No it wasn't. You said the claims were only based on quantity. I'm saying the opposite. I deliver the same quantity, with higher quality.
> Can we cash that check or is it gonna trade heavily discounted like all grand claims on AI since all software all around us together with the economy and the Earth's life supporting systems keep degrading every year?
I'm not sure what evidence I could offer you that would ever convince you. We've had strong coding models for less than a year, and you've already appear to have closed your mind about them and wrapped them up into your depression.
Yeah. More.
Better? How would you be able to tell? Can you show us better? Or only more?
I do IT, I can’t make any kind of art to save my own life. The art the AI generates is neat to me because I get to feel in control of making something beyond my own skills.
The flip side is equally true, though. The things I make are derivative, and not particularly neat to other people (and actively irritate actual artists).
AI software is a lot like that. I’m happy people who aren’t software engineers can make their own thing and be totally in control of that. I’ve also yet to see much AI software that blows existing stuff out of the water. Most of is derivative of something that already exists, if not an outright clone with a slightly different emphasis (think Jira but for a very specific workflow).