Hacker News new | ask | show | jobs
by cess11 334 days ago
Looking at ChatInterface.tsx/handleSendMessage in https://github.com/pixlie/Pixlie/commit/3c0bd23ff16c0fcdac80..., I'd have rejected this if it came up in a PR and would not consider this production quality software.

Rewriting it to something sane would be harder and more time consuming than just writing a decent implementation upfront.

4 comments

This may not be the best example, but it’s worth considering: if the code is never meant to be reviewed by humans, and it’s an ephemeral implantation detail that will only ever be read & edited by machines, do certain traditional measures of software quality even matter anymore inside the module boundary?
If no one checked it, no one is accountable. Is that how you do business? Or is that how only a few corporations are able to do business?
This sounds like a terrible situation to walk into when the pager goes off.

"Oh hey <boss>, can you update the status page to say we can't really understand the code and don't have an eta but but we're trying to talk the ai into correcting whatever the issue is?"

This is an excellent point and one that I am chasing. I do not want software (at least ones I produce) to be inferior than what I would hand code. LLMs give me huge velocity but I am still learning where to put guardrails so it keeps quality to what I would do myself.

Now the critical point: what if my own quality is inferior to many others. I think we will have this issue a lot since LLMs can generated code at 10x speeds. The quality will be what the human operator sets. Or, maybe, more and more tools will adapt best practices as guardrails and do not give humans much option to steer away from them.

'Tools with guardrails' are common. Wordpress, RAD, low-/no-code and so on. A lot of enterprise software is produced in a cycle where software interviews middle managers and writes code that then generates code that becomes part of a system.

Reinventing this space but make it slow and expensive seems like it's not a serious business idea. I believe the business idea behind coding LLM SaaS is actually about looking into other corporations and seeing what they do and how.

What would you change in that function?
It does a lot under a rather weird name. The fetch should be behind a client facade elsewhere, as should the response handler. I'd also shorten the name.

Probably more that would irk me if I looked closely.

You’re missing the point. This is not production quality software. This is mass produced software. You aren’t supposed to look at all the internals, just the really critical parts.
This is a very critical point. I think code generated by LLMs will lower code generation cost, that means mass produced software.

But: if we reduce cost, then can we not add deterministic guardrails in software that are also maintained at LLM speed and cost? This is pretty much what I am trying to understand. Choice of Rust/TypeScript in my projects in very intentional and you may see why.

So, according to you, it's like Wordpress all over again and a lot of work incoming for people that can actually build and maintain software.

Edit: And more critically, a lot of work incoming for people that can teach software development.

Yes. Someone will need to manage the 10-100x mess of LLM spaghetti codebases after they find product-market fit.