Of course, AI reviewers and security tools will catch some security errors, but this should come as an addition to a proper security design, not instead of it.
7,372 karma · joined February 24, 2009
Currently working on static analysis at GitLab, formerly quantum computing at Pasqal, safety tools at Element, performance at Mozilla, Rust contributor. Enjoys tech and product challenges, performance programming, safety guarantees, systems programming, programming language design, distributed programming, static analysis, compilers, formal methods, back-ends, databases, ...
Also, science vulgarization, storytelling, improv acting, ...
D.O.Teller+hn@gmail.com https://www.linkedin.com/in/davidteller/ https://github.com/Yoric https://yoric.github.io meet.hn/city/fr-Lyon
Of course, AI reviewers and security tools will catch some security errors, but this should come as an addition to a proper security design, not instead of it.
Do you think so? So far, AI is gaming lots of things, and I don't see much fixing in the processes.
I'm not familiar with ModernBert (my understanding stops around the original Bert), but it feels like this is asking it to do lots of heavy lifting. Can it do that much?
No, they don't care about nice code, but they do care about code that actually works. In my experience, there is a correlation between code that has been thought out correctly and code that hasn't, in terms of security, safety, compliance, data-safety, performance, etc. And so far, all LLM-produced code I've seen is severely lacking.
> That assumes both pieces of code are functional though, and you do need to babysit LLMs to make sure it actually remains functional.
So, I guess we agree on that :)
I hear this being repeated, but every time I've asked a LLM to come up with code without proper supervision, the result only superficially looked correct, but didn't stand up to scrutiny.
I wonder why our experiences differ.
Or perhaps they're thinking of nationalization, which leaves me a bit more skeptical.
Nice way of putting it.
In our latest evaluation, one of the criteria was whether you trust AI, with "trust" being defined as letting the AI write all the code, without reviewing it. And of course, not trusting AI meaning that you were behind the curve.
Sadly, at my current company, this doesn't seem to be acceptable practice.
Not really? In my experience, to get anything precise done, you have to fight the LLM every step of the way. And then when you come back after a few days, you realize that it has overwritten the carefully crafted code or data structures.
I love these parts. But in my experience, LLMs break much of that.
Planning/architecting? Great. So far, I haven't found any agent that actually follows the plans set out, though. They get something wrong, and it snowballs from here.
Directing a team, steering and giving advice? Absolutely. Some of my greatest achievements involve mentoring. But human teams learn from their mistakes, grow up and contribute insights. Agents don't.
Reviewing code? Well, maybe not so much fun, but it's usually a good way to understand what's going on, and to share experience. Except with agents, you need to spend most of your brainpower seeing through the misleading comments and documentation and choices and sycophancy, and the agent never learns from its mistakes.
Designing interfaces and APIs? Absolutely. Yet every time I look at code modified by my agent, I see that the contracts (internal or public) have been broken by the latest edits.
In my experience, LLMs can be very useful, for refactorings and as learning and review assistants, and sometimes as replacement for missing documentation. But codegen is the worst way to use them.
1. Human gives high-level design. 2. Agent generates wrong code with misleading comments. 3. In further iterations, agent get mislead by said code and comments, ends up generating insane workarounds.
Sadly, I know (major) companies that insist it's the process that needs to be solved, because it improves velocity (for some definition of velocity that involves dropping pretty much all quality gates).
I consider myself a professional. I lean towards understanding problems, making sure that they're fixed once and for all, and being able to foresee issues that the users will encounter and that product cannot see. And while I enjoy coding, code is secondary to all this. Yet I'm in Hell.
We're losing our ability (and time) to understand problems, we prefer churning out patches fast than actually fixing them, we delegate meaningful choices to an AI that has no ability to predict issues, we remove the opportunity to review and we end up leaving testing to the end user. As far as I can judge, we have stopped building products and are now shipping glorified demos.
Also, I can't speak for other products, but on the type of features I work on, AI is blatantly incompetent, but our C-suite just refuses to believe it, assuring us that it's just us having difficulties with the transition.
And in our twice-yearly self-improvement reports, we have to write how we can use AI further. To reach grade 4/4, you need to "trust" the AI.
That... is definitely not my experience.
I don't remember actually reading the article, so I have no idea how serious that was, but I'd be surprised if this wasn't being studied actively by all major countries already. And that may be one of the core reasons for the China vs US AI competition.
Yeah, we did that, too.
But every time I end up, for some reason, digging up deep in the code, I realize that it's not nearly sufficient in our case.
Reviews? They were the first casualty.