Hacker News new | ask | show | jobs
by Aperocky 46 days ago
This is correct, but it misses out an important dimension.

You can inject philosophy into the agent and ensure that it sticks to it. The LLM will, with sufficient drilling, begrudgingly implement it, most important of which is SIMPLE>COMPLEX on all levels and you have to either manually or agentically continuously monitor this.

Alternatively, LLM will use its tiny context window to build a true spaghetti that even itself cannot fix any more. This is the default path, and the path that way too many has taken.

2 comments

> Alternatively, LLM will use its tiny context window to build a true spaghetti that even itself cannot fix any more.

And this is (probably) what is happening to the Claude Code product itself. The harness itself has regressed and is increasingly unstable. I get lots of weird glitches:

- I scroll back in the conversation and keep seeing the the same sections repeated, I am not actually able to see the earlier parts of the conversation because of this.

- The whole CLI UI glitches out such that you can't even make sense of what you are seeing. This is usually fixed by resizing the terminal window

- The previous edit in the conversation history gets lost when I escape it to provide direction

- The CLI sometimes consumes huge amounts of memory (more than 10GB per window, multiplied by the number of windows I'm working in)

- Etc

90-95% of all projects suffer this fate, and it didn't start with LLM. These projects include major commercial successes such as certain popular desktop Operating System and are essentially the standard state for many web services.

The projects that keep it simple and bare-necessity are either the ones that have scaled to enormous size (and complexity had to be removed for it to work), or ones that had strong philosophical and opinionated guardians, they are quite rare in practice.

I wonder if there is some easy way to have a "spaghetti index" of a codebase. One could then have different criteria for different projects / parts of projects. If it's a business critical thing that also expects to see a lot of future development, one could then communicate to management that the spaghetti index is too high and that must be first lowered before further development can happen. And on the other hand, if it's a throwaway tool that's used for a limited time, no matter.
It's not just codebase, it applies to product, design and even human interactions.

It's hard to describe how important I think this principle is for a project, company or even life.

Yes, sure, it won't solve everything and wouldn't be perfect.

In a corporate environment, if you can measure something with a number, then you can set a target and pass/fail criteria and so on. Developers' personal opinions of some code base's quality are harder to build corporate processes around.

There's things like integration tests and static analysis. Of course again, not foolproof and don't solve all problems. But they help. Especially in a corporate environment where you need all the mechanisms you can get to prevent skimping on quality.