15 ms·
> Code becomes only one representation of thought among many overlapping ones. This is wrong, code is the concrete "truth" being executed, the rest (plans, pro
by twa927 2mo ago
> Code becomes only one representation of thought among many overlapping ones.
This is wrong, code is the concrete "truth" being executed, the rest (plans, prompts, agent instructions) are just temporary artifacts used to generate the code. What's left is the code alone.
LLMs don't have any semantics, they can't execute anything with 100% certainty. So far programming languages are the only langugues that can do that.
- causal 2mo agoI think you misunderstand. Code is also representing something. It may be what gets executed, but that does not make it "correct".
- kloop 2mo agoIt does make it correct in the reality sense If someone says something happens and the code says something else, the code wins.
- articulatepang 2mo agoThat's technically correct but consider the following: You're implementing quicksort. The actual algorithm is a conceptual piece of math. You write the code. But sometimes the code produces output that isn't sorted. The code "wins" in that whatever the code says is what actually happens. But the code is wrong. It must be edited to match the algorithm. The _algorithm_ is the thing that is proven correct; the _algorithm_ is what we wanted to execute. The code is a representation of the algorithm.
- skydhash 2mo agoLet’s say you were trying to say “I like bread” in French (which is “j’aime le pain”) but what come out is “j’aime le vin” (I like wine). It is the wrong statement, but it will produce an effect as the other party may bring you wine (which you may hate). The actual issue here isn’t that you didn’t speak French, but that you didn’t express what you wanted well. So code is just a notation. But one that is executable. In your example, the code is working, it’s just not what you intended. The issue is not the code, the issue is that you don’t know code well enough to “speak” your algorithm. And that is the main issue with a lot of LLM users. They are translating specs (which they do understand) to code (that they do not understand) and then relying on superficial outputs to see if they got it right. While also telling fluent speakers that they should follow the same workflow. At least with human languages, the other party may detect discrepancy and the fact that you’re not a native speaker. But a computer will execute things blindly.
- pydry 2mo agoNo, I think it's correct. One artefact of programming for decades is that I ended up thinking in code directly without "translating" from English first. Thus the push to use LLMs has felt a little bit like being a fluent French speaker being told that all of the best French writers are using google translate to write French translated from English now.
- deleted 2mo ago[deleted]
- Terr_ 2mo ago> What's left is the code alone. The necessary work is more than just the deliverable. Even a simple patch implies an indefinite number of other approaches not-taken, and sometimes not-taken for good reasons. Sometimes we explicitly document those, sometimes we trust that a human expert decided against them. Those other aspects of work still exist, even if they are getting skipped/mismanaged with LLMs.
- chungusamongus 2mo agoNope. Code is a representation. Even low level code. The fact that you do not understand this is concerning.
- bluefirebrand 2mo agoNo? Code is literally instructions to the machine. Especially low level code. It's not a representation of anything, it's a list of commands in sequence for the computer to execute The fact that you do not understand that is concerning.
- chungusamongus 2mo agoHah, think about what you're saying. An instruction is itself a representation.