Verifiability is the Limit

6 points by hwayne


amw-zero

My read of this is that high-level specification is an absolutely integral piece of the puzzle if we really want to rely on a new order of magnitude of generated code. We do have a moderately similar frame of reference: the jump from writing assembly to high-level languages. When this happened, it did hinge on having a precise specification: the high level program.

The difference between then and now is that the distance between a high level language and assembly is not that large. The distance between a small informal prompt and a working full-stack application is comparatively much larger: it feels at least an order of magnitude larger. But is a prompt a specification? It doesn’t feel like one.

So it certainly feels that what’s missing to feel trust in these tools (i.e. to have verified their output) is a specification language along with automated checking of the output.

zesterer

I think the key thrust of this argument is misplaced. Verifiability is not the limit: it’s quite possible that an LLM might soon be better at spotting problems and verifying solutions than a well-trained human. It might already be true, at least for some domains.

Accountability is the limit.

When you’re hired to write high-assurance code, you’re being hired not just because you’re a root of verification, but because you’re a root of accountability. When something goes wrong, you can be dragged over the coals for it. When someone dies due to code you wrote or checked, it’s you that ends up being called as a witness at trial. LLMs will never be in a position to replace a human in this regard, because they do not operate under the same umbrella of accountability that applies to a human. They cannot be fired, sanctioned, arrested, imprisoned, bankrupted, made to pay a fine, or otherwise legally constrained any more than a hammer or a wrench. Without that accountability, they will always sit in the domain of ‘tools’ and not ‘authors’, no matter how capable they become in practice.