4 ms·
AIs actually are very good at this. They wouldn't be able to write code at all otherwise. If you're careful in your prompting, they'll make fewer assumptions
by empath75 2y ago
AIs actually are very good at this. They wouldn't be able to write code at all otherwise. If you're careful in your prompting, they'll make fewer assumptions and ask clarifying questions before going ahead and writing code.
- 9rx 2y ago> If you're careful in your prompting In other words, if you replace natural language with a programming language then the computer will do a good job of interpreting your intent. But that's always been true, so...
- benatkin 2y agoBeing careful in your prompting doesn’t imply that. That can also be thought of as just using natural language well.
- 9rx 2y agoWhat separates natural language from programming language is that natural language doesn't have to be careful. Once you have to be careful, you are programming.
- benatkin 2y agoIt does have to be careful at times if you’re going to be effective with natural language.
- 9rx 2y agoCertainly there is a need for care outside of computers too, like in law, but legal documents are a prime example of programs. That's programming, written using a programming language, not natural language. It is decidedly not the same language you would use for casual conversation and generally requires technical expertise to understand.
- benatkin 2y agoPeople can often be observed to be deliberately making an effort in casual, social, natural language conversation. It flows for some people more than others. Try watching Big Bang Theory and see characters at times being deliberate with their words and at other times responding automatically. An LLM can do increasingly well as a fly on the wall, but it’s common for people using an LLM to be less collaborative with an LLM and for them to expect the LLM to structure the conversation. Hence the suggestion to be careful in your prompting.
- 9rx 2y ago> at times being deliberate with their words and at other times responding automatically. Right. On one side you have programming language and on the other natural language. They can intermingle, if that is what you are trying to say? You can see this even in traditional computer programming. One will often switch between deliberate expression and casual, natural expression (what often get called comments in that context).
- kmoser 2y agoEven lawyers agree that legalese is no more accurate than plain English if used properly: https://www.scientificamerican.com/article/even-lawyers-dont-understand-legalese-new-study-shows/ https://www.scientificamerican.com/article/even-lawyers-dont... In other word, complex applications can still be fully specified in plain English, even if it might take more words.
- 9rx 2y ago> complex applications can still be fully specified in plain English In plain English, of course, but not in natural English. When using language naturally one will leave out details, relying on other inputs, such as shared assumptions, to fill in the gaps. Programming makes those explicit.
- kmoser 2y agoProgramming only needs to make things as explicit as necessary based on the developer's desires and the system's assumptions. Where more detail is necessary, the programmer can add more code. For example, there's no need to tell a browser explicit rules for how users should be able to interact with an input field, since that's the browser's default behavior; you only need to specify different behavior when you want it to differ from the default. Likewise for English: one can use natural English to add as many details as necessary, depending on who you're talking to, e.g. "Make an outline around the input field, and color the outline #ff0000." You can then add, if necessary, "Make the corners of the outline rounded with a 5 pixel radius." In this respect, complex applications can be fully specified in English; we usually call those documents "formal specifications." You can write it terse, non-natural language with consistent, defined terminology to save room (as most specs are), or colloquial (natural) language if you really want. I wouldn't recommend the latter, but it's definitely useful when presenting specs to a less technically informed audience.
- xboxnolifes 2y agoDoes this mean that good communication skills is equivalent to programming?
- oxfordmale 2y agoAI is very good at this. Unfortunately, humans tend to be super bad at providing detailed verbal instructions.
- indymike 2y agoLanguages used for day to day communication between humans do not have the specificity needed for detailed instructions... even to other humans. We out of band context (body language, social norms, tradition, knowledge of a person) quite a bit more than you would think.
- nomel 2y agoProgramming languages, which are human language, are purpose built for this. Anyone working in the domain of precise specifications uses them, or something very similar (for example, engineering, writing contracts, etc), often daily. ;) They all usually build down to a subset of english, because near caveman speak is enough to define things with precision.
- nomel 2y agoThen those same humans won't be able to reason about code, or the problem spaces they're working in, regardless, since it's all fundamentally about precise specifics.
- LordDragonfang 2y ago> they'll make fewer assumptions and ask clarifying questions before going ahead and writing code. Which model are you talking about here? Because with ChatGPT, I struggle with getting it to ask any clarifying questions before just dumping code filled with placeholders I don't want, even when I explicitly prompt it to ask for clarification.
- croes 2y agoAI is a little bit like Occam‘s razor, when you say hoofbeats, you get horses. Bad if you need Zebras.
- foobiekr 2y agoI don’t think I’ve ever seen an llm in any context ask for clarification. Is that a real thing?