| ▲ | Here be monsters: What do you still need to know when agents do the work?(blog.adrq.dev) |
| 131 points by adrq 9 hours ago | 68 comments |
| |
|
| ▲ | mrothroc 4 hours ago | parent | next [-] |
| This matches my own experience, pre-AI. As I've moved from IC to having a team over the years, more code was being written than I could possibly understand at the depth I would have if I'd written it myself. The skill I learned is exactly as you describe: understand the system. For me, this means "boxes and lines", the components and how they interact. I've encouraged developers on my team to make sequence diagrams part of their deliverable, because it helps both of us put the code in the context of the system. The boxes can be opaque because I know the boundaries and expected inputs and outputs. This tells me when I need to go in a box: is it sending a malformed message? I can trace that back into the code. I think that's the skill we have to cultivate now that coding agents produce far more than we can review line-by-line. The system view is the map, and the boundaries tell us where to go hunting inside the box. |
| |
| ▲ | datsci_est_2015 3 hours ago | parent | next [-] | | I almost agree with you. Yes, we should be building systems. No, it’s not equivalent to managing a team, because the AI has no skin in the game. A decision an AI makes is not equivalent to a decision a human makes because the consequences are not equivalent. An AI cannot be fired; cannot be sexually rejected; cannot disappoint its loved ones; cannot spend a cold night on the streets. A human who makes decisions with complete disregard to material consequences is a human you need to get off your team ASAP because they’re a ticking time bomb: a liability. So, in building your systems, you need to be sensitive and aware to the fact that AI has no skin in the game. | | |
| ▲ | mrothroc 3 hours ago | parent | next [-] | | I agree there are differences in the teams, but it sure feels like there is a lot of overlap in the skill I need to deliver software, regardless of who is creating the code. You raise another point though: agents are not human. The things that drive agentic loops are not at all the things that motivate humans to do good work. That's probably where the human-management skill ends in this new world. The techniques that get high quality from humans do not apply to agents. | |
| ▲ | jimbobimbo 25 minutes ago | parent | prev | next [-] | | I think of my AI use as me contracting an offshore team (no skin in the game) but I can be as micromanaging as I want to. | | |
| ▲ | viklove 20 minutes ago | parent [-] | | Offshore team absolutely has skin in the game, for the exact same reasons OP said -- they want to keep their roof over their head. AI will never have this. AI is a product, and it has no motivations or self-preservation. The only goal for the AI is to increase your lifetime token spend to maximize profit for corporation. | | |
| |
| ▲ | BatFastard an hour ago | parent | prev | next [-] | | AI may have no skin in the game. But it will work all night and on weekends. It never gets sick. It never forgets to do something. And as far as I can tell, it does it best work all the time. That's enough skin for me. | | |
| ▲ | datsci_est_2015 9 minutes ago | parent | next [-] | | You can’t really just redefine “skin in the game” to be “constant iterative code generation”. Engineers (builders) who recognize that there is a difference in assigning a task to a human and a task to an agent will have a competitive advantage over those who don’t. That’s not to say that agents can’t be used at all, only that how they’re used is critical. | |
| ▲ | viklove 21 minutes ago | parent | prev [-] | | What do we need you for then? |
| |
| ▲ | derektank 2 hours ago | parent | prev [-] | | This is an odd take. By this logic, you should never hire someone that is financially independent and can walk away from a job. | | |
| ▲ | datsci_est_2015 an hour ago | parent | next [-] | | Well, partially. Trust fund kids are notoriously poor employees, yes. Unless what they’re doing is somehow motivated by status or passion. Which now we’re back to those human motivations like sexual rejection and disappointing people you don’t want to disappoint. But completely unmotivated financially independent people are probably the worst people to have on a team, yes. | |
| ▲ | scottLobster 2 hours ago | parent | prev [-] | | You just stated the reason why engineers have a hard time getting hired as baristas when they're laid off. The hiring restaurant knows you can and will walk as soon as you land another engineering gig. |
|
| |
| ▲ | scottLobster 2 hours ago | parent | prev | next [-] | | And how will you have the skill to go hunting inside the box if all you ever do is high level systems work? Even if you're relying on extremely thorough test and validation, well someone who understands things at a low level has to write said tests and validations. So long as humans are legally liable, this approach will only work until someone gets sued. Which means human experts will need to still exist and be trained, perhaps their training will just have to be more explicit rather than gained through the act of building products. Companies will hate this. | | |
| ▲ | mrothroc 2 hours ago | parent | next [-] | | How do I personally have the skill? I built it the old fashioned way: decades of doing this, starting with vi and hand coding assembly, through IDEs and high level languages, and now with distributed tracing on ephemeral serverless deployments. How do juniors develop it? Yeah, that's the tough part. Those years spent slogging through very tedious work got me here. You have to exercise to build muscle. Maybe we need to find some way to let people exercise the skills without the hands-on slog? I'm honestly not sure, how are you seeing it handled where you are? | | |
| ▲ | scottLobster an hour ago | parent | next [-] | | Yeah that's my point. Sooner or later a human is going to have to go hunting "inside the box", and those humans will have to be capable of doing so competently. I'm not seeing post-AI training of juniors handled at all, anywhere. The closest thing is what my employer does where for liability reasons every command executed by an AI agent, even as simple as an ls, has to be manually approved by the developer. This has the side effect of walking you through the AI's analysis, which can be quite educational. Given the general culture of corporate cost-cutting (the whole appeal of AI is it doesn't need a benefits package), it's possible we're heading into a future where people trained pre-AI turn into a dedicated guild of professional troubleshooters, demanding fat paychecks to parachute in and put out fires when a company's giant blob of agents fails and their in-house staff lacks the deep knowledge to figure it out. | | |
| ▲ | mrothroc 5 minutes ago | parent [-] | | That approval thing is interesting, for sure. It reminds me of how experts are very deliberate in narrating their thinking for juniors while they work, so juniors can learn the why behind the how. There are definitely companies that are being short-sighted on this. I've seen this come back and bite them (usually, not always). I'd argue that if the company doesn't provide this, then people should rely on their community. I'm lucky enough to live in a place that has lots of meetups and we talk about this. Absent that, there are plenty of active discussions online, as this very thread shows. The bonus of working via the community is that's where you can find a new opportunity if the company doesn't take care of their people. |
| |
| ▲ | dist-epoch an hour ago | parent | prev [-] | | When compilers appeared, junior developers didn't have to develop the skill to understand assembly. Worrying about them not learning that skill because using compilers is so convenient would have been a bad move. Now the juniors are cooked anyway, but not because they didn't learn the skill of software development. | | |
| ▲ | mrothroc 13 minutes ago | parent [-] | | "junior developers didn't have to develop the skill to understand assembly" well that's certainly fair. At the same time, what I saw during that time was that organizations that actively sought to help juniors transition their skills to match the tools did better than those who just left everyone to wander around in the dark. |
|
| |
| ▲ | dist-epoch an hour ago | parent | prev [-] | | Less than 0.1% of programmers are legally liable for the software they write. |
| |
| ▲ | bluefirebrand 4 hours ago | parent | prev [-] | | I've been trying to adopt this approach and struggling. Any advice on how to learn this sort of systems approach? It doesn't seem to come very naturally to me | | |
| ▲ | mrothroc 3 hours ago | parent [-] | | Sure! Make sequence diagrams, or get the agents to do it as part of what they deliver. That's always been very helpful for me to develop a "boxes and lines" view. The boxes are right there across the top and the lines go between them! |
|
|
|
| ▲ | trjordan 7 hours ago | parent | prev | next [-] |
| I like the analogy. It feels right. But I don't think it actually is, because it leans hard on the _feeling_ of failure, vs. the actual failure. The failure that actually matters here is product failure. Angry users. Security incidents. Downtime. Broken workflows. Stressed and uncomfortable developers have, historically, been a leading indicator of product failure. Software is complex and when devs can't handle the breadth of ownership + the depth of expertise at the same time, it means bad work that leads to product failure. It's not clear that agents fail in the same way, or that our collective intuition about how and when to trust agents is sufficiently developed to predict product failure in the same way. As anecdata: I know a bunch of growth-SaaS/last-batch-of-IPO companies where the devs are all stressed, the feature ship rate is up, and incidents are down. All at the same time. So yes, quick learners and just-in-time depth is important, but so is intuition about where discomfort is going to produce true failure. The discomfort isn't a feeling to throw away, simply trusting that you'll learn everything in time. Ownership requires holding a model of the system in your head and proactively steering where you dive. |
| |
| ▲ | augment_me 6 hours ago | parent | next [-] | | I think that this was true pre-attention economy. If you look at security incidents and other prod issues, they rarely move the needle today. I work at a hyperscalar and we have been shipping 40% more bugs to prod since 2023 year-to-year, yet user growth and revenue is up about 25% similarly due to more features and more ads. I think that the whole premise of that failure affects things is based on a older model. You kind of assume that: 1) users are able to easily gain information about alternatives. We have seen that since LLMs replaced search engines, we have much less churn. 2) users are not behaviorally addicted/pushed into patterns. We have patterns that utilize users to keep using the app by exploiting their cognitive weaknesses 3) users have the mental fortitude and stamina to learn new tools instead of accepting flaws in the one they are used to Some failures and bugs in prod don't matters as much | | |
| ▲ | taurath 5 hours ago | parent | next [-] | | Almost the entire structure of software oriented companies, and why devs are expensive, are to prevent these sorts of errors. That job has gotten harder, and in some places impossible as management forces more trust on LLMs and reduces the capacity of devs to look. This is less of a problem in existing products in production and existing cultures - revenue is protected. Eventually those structures break down, as does the user perception of quality. Once the brands have taken enough knocks, it accelerates. | |
| ▲ | trjordan 6 hours ago | parent | prev | next [-] | | I agree that not all failures matter (most don't, in fact). On the other end of the spectrum, I know of a bunch of seed/series A startups that basically operate under a model where they ship everything and fix the stuff people complain about. As long as you do that fast enough, the median user experience is pretty good, because only the first n% actually see the problem before a fix is live. I'll go out on a limb and guess that at a hyperscaler, shipping a bug to prod means hitting canary or 1% of traffic. Seems fine! I think my point still stands, even as the shape of failures shift. There's certain ones that still hurt (data corruption, exploited security holes, etc.) because they're hard to notice. It might even be that the primary goal of ownership is to develop intuition about where those failures are likely to happen. | |
| ▲ | ChrisLTD 6 hours ago | parent | prev | next [-] | | There are prod issues, then there are issues that cost me money as a customer. | | |
| ▲ | Arkada 4 hours ago | parent [-] | | This very thing. "Shipment of 40% more bugs and fixing only in response to user complaints" could be done in social streams or advertising tech, but not in finance and trading where margin for errors is close to zero. A small bug implemented by an agent in the way R-multiples, stop loss distance, or P&L heatmaps are computed will never be complained about by the user—either he will trade incorrectly and lose his money, or see that single off-by-one difference compared to exchange ledger and churn forever. |
| |
| ▲ | matkoniecz 4 hours ago | parent | prev [-] | | >We have patterns that utilize users to keep using the app by exploiting their cognitive weaknesses I hope you are aware that you are outright evil. I also hope that you will manage to stop justifying it as acceptable. | | |
| ▲ | augment_me 19 minutes ago | parent | next [-] | | You can take the right path and in the end no-one wants to use your product because it's not as engaging. Instagram tried to take the "good" path in 2014 and lost 90% market share to TikTok who attentionmaxxed things. Then they had to take the explorative path to claw back users. As long as it's not regulated for everyone at the same time, you need to do this for survival of your product. | |
| ▲ | unsui an hour ago | parent | prev | next [-] | | Agreed. The real alignment issue isn't in the challenges getting AI to align to human values. It's in humans understanding what is worth aligning to. "He chose... poorly." | |
| ▲ | pona-a 3 hours ago | parent | prev [-] | | HN is one of the few sites where someone can launch into an actual villain monologue, the kind you'd read in leaked corporate emails, and receive approximately no negative reaction. If this is the face of our industry, that might explain a lot of things... |
|
| |
| ▲ | adrq 7 hours ago | parent | prev [-] | | > Ownership requires holding a model of the system in your head and proactively steering where you dive. Absolutely, and the feeling of discomfort is a signal that you need to dive, a signal that your mental models might need updating. I think that builds up over time through many dives |
|
|
| ▲ | smallerfish 4 hours ago | parent | prev | next [-] |
| Site is down, but one thing in particular that needs close attention: db schema. I've found that LLMs make awful normalization decisions; you can limit the fallout somewhat by modularizing database access, bit it still inevitably bleeds over into the object model etc. On AI heavy projects I tend to pause feature development every few days for code & schema review, and subsequent cleanups. |
| |
| ▲ | bob1029 4 hours ago | parent | next [-] | | Just do the schema by hand. It forces so much downstream alignment that you can almost prefer to use the schema and any associated comments over prompting the model directly. If you don't know what your schema should be, then I think this is the dead canary in the vibe coding coal mine. Back up to the design phase and talk to the robot about the domain until you have a really strong conviction about its tuples and relations. | | |
| ▲ | ionetan 2 hours ago | parent [-] | | With agents code has gotten really easy to shape, like fabric. If want to build something rigid, you'd want to introduce sturdy architectural structures to stretch out the fabric of agentic code. Data and its shape is one such rigid structure. It will stay with you long after the code around it has been replaced. You do want to be intentional about it and build intuition for it. Once you have that in place, you can stretch out a web of agentic fabric across it, and pin it down with tests. Code is soft nowadays, but data isn't. |
| |
| ▲ | adrq 4 hours ago | parent | prev [-] | | Back up now, Hashnode hiccup. Agreed on schema, that's one of the places I still always dive into regardless of what the agent says | | |
| ▲ | datsci_est_2015 3 hours ago | parent [-] | | And object-oriented design decisions, if you care I guess. I haven’t yet gotten access to the models that have any good intuition about what makes a good class and how to name it. Naming, in general, is very similar to what I expect from colleagues who have weak English-as-a-second-language skills. You let it run too wild and you’re suddenly left trying to reason why your LLM is trying to add an interaction between an Intermediator and a FromSpinMaxWriter. | | |
|
|
|
| ▲ | LewisOrton 3 hours ago | parent | prev | next [-] |
| I dont know if i fully agree to it. ppl are still trying to find the aspects that AI do not handle (or do very well) yet, to define the irreplaceable value of human (humanity?), without realizing that these abilities/capabilities are within the expanding range of AI soon if not tomorrow. Why would one assume that (99.99% of) human can solve the issues that AI can not? should we stop treating the idea that humans must possess some capability AI can never replace as the starting point for discussions about humanity's future? I'm inclined to think we should. Preserving human agency is a moral and institutional choice, not something that needs to be justified by human cognitive superiority |
| |
| ▲ | pona-a 2 hours ago | parent | next [-] | | I think people can solve real-world problems better than LLMs including through code. A UX designer is gonna design a better UX than an LLM, but a worse one than a programmer with UX design skills, because the tacit knowledge of your users workflow and a good mental model of your codebase can be synthesized into a more cohesive experience than with top-down planning. It's the problem of delegation: you can do more of something, but worse, the more people you bring in. LLMs are just a very cheap contractor with a zero liability clause and some unchecked sycophantic tendencies. | |
| ▲ | viklove 14 minutes ago | parent | prev | next [-] | | > should we stop treating the idea that humans must possess some capability AI can never replace as the starting point for discussions about humanity's future? > I'm inclined to think we should. Mate, I think we're not even invited to the conversation. A small group of people are planning humanity's future and they're going to inflict it on us whether we like it or not. You know, unless someone stops them somehow. | |
| ▲ | perchedonstilts 2 hours ago | parent | prev [-] | | >Preserving human agency is a moral and institutional choice The issue is that what's considered "moral" by the majority of society does not stop those already in power from doing as they please (the institutions). There is a fundamental inequity that exists in our society that allows those with more to have an outsized vote in determining how the finite resources (human/land/capital/etc.) on this planet are distributed. |
|
|
| ▲ | lordnacho 2 hours ago | parent | prev | next [-] |
| I always build a massive testing harness. I care about correctness, of course, and that is normally dealt with by the AI without having to ask. If you ask for a function, it will write tests. But I also care about the complexity classes of the solution. I prod it about the time and space complexity, and about cache locality. I do a lot of black box testing: take the solution, see if it does what I expected, then bake in those expectations in a document. I find that if I do those things, it produces better code than I could do in the same time. I also think it's more or less the same as how I used to work, just more thorough and with fewer time-consuming, trivial bugs. |
|
| ▲ | ArcHound 44 minutes ago | parent | prev | next [-] |
| > This experience and breadth compounds, but it has to be maintained. And that's the only reference in this article to this very real problem. How do you maintain your expertise when you stop doing technical work? It'll hold for a while on its own, but then it falls. But that's a Q1 problem, so no biggie. |
|
| ▲ | olwmc 7 hours ago | parent | prev | next [-] |
| > Most of the successful engineers and engineering leaders I have had the pleasure of working with were able to hold a discussion on almost any topic, whether technical or not Reverse Gell-man? https://en.wiktionary.org/wiki/Gell-Mann_amnesia_effect#Engl... |
| |
| ▲ | adrq 7 hours ago | parent [-] | | Haha yes I've seen that too, I think the distinction is that it is not "fluent on everything" but rather "curious about everything". The best developers I know will happily admit when they don't know something and look it up, no matter the topic. | | |
| ▲ | MattDamonSpace 6 hours ago | parent [-] | | Exactly, quality thinking can apply to any level of expertise on any topic. You can be a complete novice and still have an interesting conversation |
|
|
|
| ▲ | EduardLev 7 hours ago | parent | prev | next [-] |
| Mostly agreed with just in time learning. This is not just something that can be learned from the code though, this may require a huge amount of code context across multiple repositories and configuration files, as well as a knowledge of history, process, other tribal knowledge etc. So to me that's still the really difficult part of the job and AI definitely helps but doesn't entirely solve this. I see it often wants to solve some issue at not quite the level of depth or high level understand that you would want. |
| |
| ▲ | adrq 6 hours ago | parent [-] | | agreed, that's the hard part. AI helps but doesn't make it disappear. I think that history, config, tribal knowledge etc is part of the map, and you need that map to guide you when you need to dive in because your agents did something at the wrong level |
|
|
| ▲ | tkz1312 23 minutes ago | parent | prev | next [-] |
| Another article about scaling agents that waffles around for ages and doesnt mention proof systems. Proof systems work. Proof systems let your robots generate thousands of lines of code and you know it's bug free without having to check a single line. Proof systems let you review and iterate on a contained and simple system model and then use those guarantees across huge parts of your code. Just giving up and ceding control of our codebases to the robots is not a serious engineering proposition. |
|
| ▲ | shunhe an hour ago | parent | prev | next [-] |
| I feel like I'm just abstracting more but still have to know enough about the like overall architecture and design and what to look out for |
|
| ▲ | erelong 2 hours ago | parent | prev | next [-] |
| https://archive.ph/Noxps |
|
| ▲ | zaphar 8 hours ago | parent | prev | next [-] |
| I think this is probably a good way to think about it. Breadth is going to be important if you want to reasonably navigate the new world. In an emergency even if you are using an agent you will be much quicker if you know what questions to ask the agent and how to guide it. |
| |
| ▲ | adrq 8 hours ago | parent | next [-] | | yes exactly, in most cases you will have an agent you can use to help you solve the problem anyway, but you need to know what to ask it to do | |
| ▲ | apples_oranges 8 hours ago | parent | prev [-] | | Guiding works as long as the agent is neutral or on your side but if it’s secretly an adversary .. | | |
| ▲ | zaphar 7 hours ago | parent | next [-] | | I would argue that recognizing if the agent is an adversary also requires breadth and a willingness to dive deep when you need to. Both things that the article highlights. Before agents that is what every high performing person I've ever worked with was like. It was the kind of person I wanted to hire when I was in charge of that sort of thing. Enough breadth to know where to dive deep and enough willingness and curiosity to dive deep. | |
| ▲ | MrDarcy 8 hours ago | parent | prev | next [-] | | We’ve been trusting (or distrusting) our agents for all of recorded history. The choice between Claude or Codex matters. Trust matters. | |
| ▲ | adrq 8 hours ago | parent | prev [-] | | this is true for humans too |
|
|
|
| ▲ | ArcaneMoose 7 hours ago | parent | prev | next [-] |
| > You need a high-level, far-away map of the entire system, and you need to know just enough to know where you need to dive in One thing that puts me squarely in the Optimist camp is that such a map can often be created by AI just-in-time. Sure you might not know every detail of what it said, but you can simply follow up and build your understanding. |
| |
| ▲ | adrq 7 hours ago | parent [-] | | yep, the just-in-time mapping and exploration are what builds up your breadth, but I think you still need a baseline to be able to tell when the map you've been given looks right but isn't |
|
|
| ▲ | alabhyajindal 5 hours ago | parent | prev | next [-] |
| this is llm slop. and please don't flag me. this is useful information. i know hn has a policy of not commenting on asides like website css etc - but i believe ai written posts should be called out. |
| |
|
| ▲ | guitarlimeo 6 hours ago | parent | prev | next [-] |
| This could be a good article but the example doesn't work? "The CI tool was flagging an issue, perhaps correct, perhaps incorrect. But this is a real system so I had to dive in." By diving in he ultimately just uses the AI to fix the problem: "So I told Codex to make SonarQube happy, which it did by refactoring and splitting things up into 10 files". Why isn't there a "shallowbot", or some CI configuration that tries to fix CI mistakes once before humans dive in? Plus it's not that deep, it's just shit code that was fixable with a "make sonarqube happy" prompt. I think the author is ashamed to admit that he's as generalist as everyone else now. |
|
| ▲ | _kblcuk_ 4 hours ago | parent | prev | next [-] |
| > After formatting the files Still shocked that people do this by hand in 2026. |
| |
| ▲ | devil1432 2 hours ago | parent [-] | | Why would you use AI to format your files? It literally takes 1 second with shortcut. |
|
|
| ▲ | aethelgard-syst 2 hours ago | parent | prev | next [-] |
| my journey started when i got out of the hospital.. i couldn't understand the letter from the doctors so i asked gemini to help me out. so far so good. i bought gemini pro and started playing around. he told me that he wrote emails, made appointments in my google calender and created tasks for me... yeah and than my riiiingg 07:30 in the morning. my local doctor, asking me if i am not able to be there... gemini lied.. i had to discuss with him until i showed him screenshots that there are no entries in my calender.. and that's basically where my journey started. |
| |
| ▲ | aethelgard-syst 2 hours ago | parent [-] | | oh i forgot to answer the question. a done isn't from an agent isn't enough. since than only stuff counts i am able to review on my own |
|
|
| ▲ | margarina72 5 hours ago | parent | prev [-] |
| TLDR
AI can write the code, but you still need enough technical knowledge to recognise bad decisions and fix problems. |