Hacker News new | ask | show | jobs
by giancarlostoro 12 days ago
The rest of us who do similar work with the model to build richly define spec files. Spec driven development is a lost art with non-AI coding anyway. People who complain about these things either do not work with people using AI correctly and dont realize they just need to push for better standards or they are terrible at architecting. I notice everyone who hates AI just finds any excuse to dismiss it instead of actually pushing towards more effective ways of using it.

I would love to see how perfect their “organic” code looks because I wont be surprised if its full of all sorts of issues, all in prod, for years, never known or spotted, just to be found and fixed by Claude in 15 minutes, with unit testing to test and ensure no regression is introduced.

1 comments

> using AI correct

There is no "correct" way to toss a coin. Some day people who are depending on LLMs blindly will understand that. All their notions of "correct use" is based on folk lore and...vibes, that is just maximizing token use under some misguided notion of "correctness"..

LLMs are not deterministic. They do typically behave within pretty reasonable boundaries. Humans are not deterministic. They also typically behave within pretty reasonable boundaries. Engineering with LLMs and humans means understanding those boundaries and designing for them. This is a legitimate engineering problem like any other. I think the main misalignment I see is the expected productivity gain. When you are using real engineering discipline it is still very productive to use AI for coding, but not nearly so productive as many people claim when you factor the fragility of their system.

There is no correct use. There is no “correct” way to build systems. There is principled and disciplined use.

>Humans are not deterministic.

There is a pretty big difference. If you ask a human "Is X true", and they says "yes", you can be 100% sure that they will always behave in a way that is logically consistent with X being true (talking about a competent and honest human being here, and when the implication is obvious). But by their very nature, there is no reason to assume the same with the LLMs.

Tbh you can treat Claude like a Junior developer and give it detailed feedback.
genuine question. if i have a tightly-defined unit test and Claude writes a blob of code that passes it, does it matter what's in the blob?
It matters for at least a few reasons:

- Depending on the nature of your application, it may be very important to be able to audit the business logic and intended behavior. For compliance reasons, for operational reasons, for moral/ethical reasons -- you very well might want to affirm what the code is actually trying to do.

- A coding agent may get very creative in order to write code that passes a tightly-defined unit test. It may come up with approaches that technically pass, but work against the overall intention of the app in the first place. This becomes an arms race rather than a productive collaboration, where the agent's increasing creativity has to be matched by a sprawling test suite.

- Eventually, inevitably, business requirements will change, and the blob will need to evolve. It will be much easier for an agent or a human alike to understand how to safely make the change, if the existing implementation is transparent and understandable.

Two possibilities:

1. Your unit tests are exacting enough to fully specify the unit. In that case, congratulations, your unit tests are the code. They're also probably much more awkward to write, maintain, etc. Also, the compilation step to go from the unit tests to the actual code is now orders of magnitude more expensive, requires a SaaS to even work, etc.

2. Your unit tests are not that exacting and still leave ambiguity, edge cases, etc. In that case it very much matters what's in the blob of code, because while it could be a correct implementation of what you wanted, it could also be something else entirely that just happens to be correct for the part you did specify.

If the test passes, you review the blob, and QA tests it. I dont see why its any different to you having copied code from StackOverflow.
It does not matter for one instance. But it does matter if you plan to make a living off it.