I've found copying and pasting chunks of the API context into the prompt solves 99% of it. I'm now able to get it to generate modern workers just fine. You can copy an example method signature, some docs, etc. and it picks up on that fairly reliably. I've even just copy-and-pasted an entire worker implementation (100+ LoC) at the beginning of a prompt and that worked.
I have spent a lot of time reading through prompt engineering, but coding examples to adapt to latest versions are rare to find.
The big “breakthrough” for me was unlearning all of my search engine habits of thinking I need to be precise and talk to it like a machine. I use compliments like “that’s great” and it seems to reinforce good answers well enough.
Just treat it like a human on the other side of the screen and adjust as necessary.
Also pay the $20 - GPT-3.5 is not good, GPT-4 is junior engineer good. Most of my time is now spent describing problems to it and code reviewing what it does.
Edit: I do use prompt engineering when I’m building AI enabled products to help keep things on the rails. But for my personal use of ChatGPT I just let ‘er rip.
Have you tried and compared phind.com?
The complexity of the bugs you get are usually 10x as complex as the code's main logic you wrote. So you need to write very simple code.
Unfortunately, these GPT models are very complex. The bugs they produce will take an order of magnitude better model to fix.
Today's programming is not SICP in scheme, it is more plumbing between very large bodies of code. Using GPT is a great way to short cut needing to learn lots of details about code bases you only need for one specific feature. Recently though, by integrating two pieces of code I do know a lot about, I lost a lot of confidence in GPT coding.
For example, I asked it to implement a small script in emacs that would loop through org text files in emacs, and run some commands based on keybindings. That's it.
It messed up the usage of recursive-edit (which is a complicated feature itself), it produced many bugs in how Org utilizes indirect buffers, it sends windows around instead of buffers in the variables, and it wrote lots of contradictory code.
I understand how all these features work, and I went through and started fixing all the bugs. I would tell it about each bug, but it was producing so many subtle bugs with org-mode, inventing functions that didn't exist and it couldn't define... I gave up and just re-implemented it myself.
So no, I do not understand 100% of all code I refer to when I write code, that's why APIs actually exist.
This alone will help Google destroy the competition.
Good that Bard is aware of latest version of software (eg. NextJS). Helps when APIs of a software evolves quickly.
I use a lot of Google products and really hope that they manage to nail it as at least #2 player in the space. As a company, they have not proven to come back and take the lead from behind.