Remix.run Logo
Software Engineering fundamentals matter more(rhonabwy.com)
86 points by ingve 8 hours ago | 23 comments
mortalapeman 2 hours ago | parent | next [-]

With generated code, the directory structure, interface design and general state management is usually a haphazard mess. Even with the best frontier models. But what really gets me is the model often tries to make assumptions for me that I didn't specify in the prompt. Subtle things like which error states are "oh shit we need to bail" vs "this isn't a deal breaker." Sometimes it will ask, but more often than not it will just make a decision and it's often the wrong one. If I don't have a fully kitted out test suit and a good type checker to verify the final product against, the the whole looping thing is just useless to me and I'm back to reviewing every line of code it puts out and having to draw on my years of architecture experience to make sure we don't build a giant pile of trash.

Gigachad 2 hours ago | parent | next [-]

Because they are designed to be used by managers who don't know how to answer these questions and don't want to be asked them. Just have the magic answers box pick something.

bluegatty 40 minutes ago | parent | prev | next [-]

The generated code is fine at the functional level, the directory structure is usually the standard pattern for the given type of project.

The error types and codes, it will produce to spec.

If you type 'make me that thingy' - yes, it's probably not going to do what you want, but if you give it spec and guidance, it usually will.

The 'interface design' ... not very good though.

slopinthebag an hour ago | parent | prev [-]

They're RLHF'ed to an inch of their lives to be able to one-shot complete tasks, since requiring human input defeats the purpose of being able to replace the labor force.

But once the insanity ends LLMs will be packaged as tools for developers to use to boost their productivity, and we'll consider them as we do IDE's and debuggers and stuff. But we have to get through this hype cycle first.

theteapot an hour ago | parent | prev | next [-]

> It helps to know that LLMs don’t “reason”. They predict ..

Semantics. Prediction is the training objective. The ability to reason can be, and very arguably is, an emergent property of that.

jayd16 an hour ago | parent | next [-]

Even if that was true, you'd have to still prove it has emerged.

krackers 18 minutes ago | parent [-]

What would be your test to determine that?

slopinthebag an hour ago | parent | prev [-]

Why would "reasoning" be an emergent property of prediction?

js8 33 minutes ago | parent | next [-]

There's a lot of reasoning in the training data.

mw888 34 minutes ago | parent | prev | next [-]

Predict multiple outcomes, induct across them, refine.

hsn915 35 minutes ago | parent | prev [-]

How do you predict without reasoning?

slopinthebag 9 minutes ago | parent [-]

Where is the reasoning in linear regression?

bluegatty an hour ago | parent | prev | next [-]

"They’re foundationally incapable of always and consistently preventing prompt injection attacks. “Alignment work”, safety harnesses, and sandboxes all help to add barriers against the worst, but there are fundamental gap" ...

They seem to be very good at a lot of rudimentary best practices, more so than humans, but more accurately - if you run and audit pass with specific instructions ... they're very good at that.

I mean - it's what they're the best at which is applying 'fuzzy heuristics' in a mechanical way. If can describe issues concisely, the patterns, the styles, the rules then LLMs can very mechanistically and methodologically grind through them.

I don't even see how this is controversial - without getting into 'what their reasoning means' - we can all agree that their synthetic reasoning is pretty good at narrow scales, and they've been 'trained by compilers' and are extremely good at spotting common patterns.

If you back that up with a lot of tokens ... they excel.

Designing architecture, that's difficult, but hammering away at all the 'known-knows across a system' especially to identify things ... they're pretty good at that.

hirvi74 3 hours ago | parent | prev [-]

> In the past year, agent harnesses crossed the “can it be done” rubicon.

Brother, I'm still in "Can you get it right?"-mode. What am I doing wrong? (Rhetorical, but advice welcomed).

al_borland 2 hours ago | parent | next [-]

I’ve found some success is small projects, with limited scope, in a greenfield.

I’m terrified to attempt agentic anything in the repo my job actually cares about. I triggered it once by accident, when the agent was first rolled out and enabled by default… it broke everything. Now I just use ask mode, and even that is wrong half the time, and once it goes wrong it just keeps getting worse.

I saw a post from Dave Plumber who vibe coded up a new cross platform task manager. He said his spec document for the AI was 107 pages long. So maybe what I’m doing wrong is not giving the AI a literal novel of spec.

applfanboysbgon an hour ago | parent [-]

> He said his spec document for the AI was 107 pages long.

This sounds like programming but with extra steps that make it take longer with less reliability.

0x696C6961 19 minutes ago | parent [-]

Ikr, at that point the code itself is a better way of encoding the information.

mw888 32 minutes ago | parent | prev | next [-]

You're appealing to ambiguity. All you've said is you have failed—how is anyone supposed to know what went wrong?

simonw an hour ago | parent | prev | next [-]

Tell it to use red/green TDD and start things off with an already configured test suite, maybe with a single test that asserts 1+1==2.

Make sure it know how to run the tests before it starts writing any additional code.

Then set it a clear goal.

slopinthebag an hour ago | parent [-]

Basically all the examples of LLM's building impressive things have been because they have human written tests to base the implementation on. If you have an LLM write the tests the results are far less impressive or valuable.

bharatsuthar 36 minutes ago | parent [-]

Yes and LLMs are known to cheat on tests written by them.

slopinthebag 4 minutes ago | parent [-]

It's not always cheating either. They aren't intelligent, so they don't actually understand the purpose of the tests or can build them to define the actual semantics of the problem space. It's literally just next-token prediction based on the codebase and prompt. Cheating implies that they have agency, and ironically agents don't.

MattGaiser 2 hours ago | parent | prev [-]

What is “it” specifically and what languages are you using?