> In fact, GPT-4 is probably already able to do most white collar work better than humans. People somehow feel superior when they test it and realize it can't one-shot their entire project off-the-cuff without reference to documentation or being connected to any tools or having the ability to iterate at all.
In fact, I just out of curiosity tested what 3.5turbo would say about a NPM module. It hallucinated something that suggests it wasn't in its training data.
So I tried again with GPT4, and GPT4 told me it wasn't a real NPM module (might be new enough to be after the cutoff; really like that it now appears less likely to hallucinate) but added "but assuming it exists and is designed to X, I can provide you with a general guide on how to use it." where X was inferred from the package name. I then cut and pasted the documentation, and asked it how it might implement that package.
It came up with a decent first attempt. I had the real code up in a separate window, so could compare and contrast. I asked it to expand on certain features. Asked it how it might DRY up some code. It did. It ended up with something significantly simpler and more elegant than the real thing (which is why I won't give the name - the dev in question did perfectly OK job and doesn't deserve to be hung out to dry) within about 15 minutes of prompting. In the process it taught me new things about some of the packages the original depended on, and leveraged features of that which the original code didn't take advantage of.
I think a lot of the attempts that ends up with describing it as a failure comes from basically asking it to be a magic senior dev where they don't see the back and forth on requirements etc. that goes on behind the scenes with a human senior dev. When you treat it the way a more senior developer would interact with a somewhat less experienced peer which has encyclopaedic knowledge of all of the available tooling - discussing requirements, asking questions about the chosen solution, doing quick reviews etc. - the results are amazing. It's like pair programming without the annoying, slow typing (I don't like peer programming...).
Even with the low speed of GPT4, the turnaround time is vastly better, and the outcome seems to be more reliable for a lot of aspects.
In fact, I just out of curiosity tested what 3.5turbo would say about a NPM module. It hallucinated something that suggests it wasn't in its training data.
So I tried again with GPT4, and GPT4 told me it wasn't a real NPM module (might be new enough to be after the cutoff; really like that it now appears less likely to hallucinate) but added "but assuming it exists and is designed to X, I can provide you with a general guide on how to use it." where X was inferred from the package name. I then cut and pasted the documentation, and asked it how it might implement that package.
It came up with a decent first attempt. I had the real code up in a separate window, so could compare and contrast. I asked it to expand on certain features. Asked it how it might DRY up some code. It did. It ended up with something significantly simpler and more elegant than the real thing (which is why I won't give the name - the dev in question did perfectly OK job and doesn't deserve to be hung out to dry) within about 15 minutes of prompting. In the process it taught me new things about some of the packages the original depended on, and leveraged features of that which the original code didn't take advantage of.
I think a lot of the attempts that ends up with describing it as a failure comes from basically asking it to be a magic senior dev where they don't see the back and forth on requirements etc. that goes on behind the scenes with a human senior dev. When you treat it the way a more senior developer would interact with a somewhat less experienced peer which has encyclopaedic knowledge of all of the available tooling - discussing requirements, asking questions about the chosen solution, doing quick reviews etc. - the results are amazing. It's like pair programming without the annoying, slow typing (I don't like peer programming...).
Even with the low speed of GPT4, the turnaround time is vastly better, and the outcome seems to be more reliable for a lot of aspects.