←back to thread

1246 points adrianh | 6 comments | | HN request time: 0.663s | source | bottom
Show context
kragen ◴[] No.44491713[source]
I've found this to be one of the most useful ways to use (at least) GPT-4 for programming. Instead of telling it how an API works, I make it guess, maybe starting with some example code to which a feature needs to be added. Sometimes it comes up with a better approach than I had thought of. Then I change the API so that its code works.

Conversely, I sometimes present it with some existing code and ask it what it does. If it gets it wrong, that's a good sign my API is confusing, and how.

These are ways to harness what neural networks are best at: not providing accurate information but making shit up that is highly plausible, "hallucination". Creativity, not logic.

(The best thing about this is that I don't have to spend my time carefully tracking down the bugs GPT-4 has cunningly concealed in its code, which often takes longer than just writing the code the usual way.)

There are multiple ways that an interface can be bad, and being unintuitive is the only one that this will fix. It could also be inherently inefficient or unreliable, for example, or lack composability. The AI won't help with those. But it can make sure your API is guessable and understandable, and that's very valuable.

Unfortunately, this only works with APIs that aren't already super popular.

replies(23): >>44491842 #>>44492001 #>>44492077 #>>44492120 #>>44492212 #>>44492216 #>>44492420 #>>44492435 #>>44493092 #>>44493354 #>>44493865 #>>44493965 #>>44494167 #>>44494305 #>>44494851 #>>44495199 #>>44495821 #>>44496361 #>>44496998 #>>44497042 #>>44497475 #>>44498144 #>>44498656 #
suzzer99 ◴[] No.44492212[source]
> Sometimes it comes up with a better approach than I had thought of.

IMO this has always been the killer use case for AI—from Google Maps to Grammarly.

I discovered Grammarly at the very last phase of writing my book. I accepted maybe 1/3 of its suggestions, which is pretty damn good considering my book had already been edited by me dozens of times AND professionally copy-edited.

But if I'd have accepted all of Grammarly's changes, the book would have been much worse. Grammarly is great for sniffing out extra words and passive voice. But it doesn't get writing for humorous effect, context, deliberate repetition, etc.

The problem is executives want to completely remove humans from the loop, which almost universally leads to disastrous results.

replies(8): >>44492777 #>>44493106 #>>44493413 #>>44493444 #>>44493773 #>>44493888 #>>44497484 #>>44498671 #
normie3000 ◴[] No.44492777[source]
What's wrong with passive?
replies(9): >>44492812 #>>44492911 #>>44493037 #>>44493206 #>>44493881 #>>44494192 #>>44494775 #>>44497998 #>>44504610 #
plemer ◴[] No.44492911[source]
Passive voice often adds length, impedes flow, and subtracts the useful info of who is doing something.

Examples:

* Active - concise, complete info: The manager approved the proposal.

* Passive - wordy, awkward: The proposal was approved by the manager.

* Passive - missing info: The proposal was approved. [by who?]

Most experienced writers will use active unless they have a specific reason not to, e.g., to emphasize another element of the sentence, as the third bullet's sentence emphasizes approval.

-

edited for clarity, detail

replies(6): >>44492974 #>>44493094 #>>44493447 #>>44493807 #>>44493921 #>>44496472 #
1. exe34 ◴[] No.44493447[source]
My favourite: "a decision was made to...".

It means "I decided to do this, but I don't have the balls to admit it."

replies(3): >>44493588 #>>44493589 #>>44495549 #
2. IggleSniggle ◴[] No.44493588[source]
That's funny, I always thought that meant, "my superior told me I had to do this obviously stupid thing but I'm not going to say my superior was the one who decided this obviously stupid thing." Only occasionally, that is said in a tongue-and-cheek way to refer directly to the speaker as the "superior in charge of the decision."
replies(2): >>44493935 #>>44496209 #
3. horsawlarway ◴[] No.44493589[source]
That's funny because I read this entirely differently (somewhat dependent on context)

"A decision was made to..." is often code for "The current author didn't agree with [the decision that was made] but it was outside their ability to influence"

Often because they were overruled by a superior, or outvoted by peers.

4. dylan604 ◴[] No.44493935[source]
That reads like several comments I've left in code when I've been told to do something very obviously dumb, but did not want to get tagged with the "why was it done this way?" by the next person reading the code
5. Boldened15 ◴[] No.44495549[source]
Usually the passive voice is used at work to emphasize that it was a team/consensus decision, adjacent to the blameless incident management culture. It’s not important that one engineer or PM pushed it, but that ultimately the decision was aligned on and people should be aware.

Although arguably it would be clearer with the active voice and which specific teams / level of leadership aligned on it, usually in the active voice people just use the royal “we” instead for this purpose which doesn’t add any clarity.

Alternatively sometimes I don’t know exactly who made the decision, I just learned it from an old commit summary. So in that case too it’s just important that some people at some time made the decision, hopefully got the right approvals, and here we are.

6. SoftTalker ◴[] No.44496209[source]
You’re both right; I’ve seen it used both ways.