←back to thread

1481 points sandslash | 1 comments | | HN request time: 0.205s | source
Show context
blobbers ◴[] No.44316344[source]
Software 3.0 is the code generated by the machine, not the prompts that generated it. The prompts don't even yield the same output; there is randomness.

The new software world is the massive amount of code that will be burped out by these agents, and it should quickly dwarf the human output.

replies(4): >>44316389 #>>44318479 #>>44318855 #>>44322374 #
pelagicAustral ◴[] No.44316389[source]
I think that if you give the same task to three different developers you'll get three different implementations. It's not a random result if you do get the functionality that was expected, and at that, I do think the prompt plays an important role in offering a view of how the result was achieved.
replies(2): >>44317798 #>>44329445 #
klabb3 ◴[] No.44317798[source]
> I think that if you give the same task to three different developers you'll get three different implementations.

Yes, but if you want them to be compatible you need to define a protocol and conformance test suite. This is way more work than writing a single implementation.

The code is the real spec. Every piece of unintentional non-determinism can be a hazard. That’s why you want the code to be the unit of maintenance, not a prompt.

replies(1): >>44318372 #
imiric ◴[] No.44318372[source]
I know! Let's encode the spec into a format that doesn't have the ambiguities of natural language.
replies(1): >>44319386 #
1. klabb3 ◴[] No.44319386[source]
Right. Great idea. Maybe call it ”formal execution spec for LLM reference” or something. It could even be versioned in some kind of distributed merkle tree.