I trialed GitHub Copilot and used ChatGPT for a bit, but recently I found myself using them less and less.
Iβve found them valuable when doing something new(at least to me), but for most of my day-to-day it seems to have lost itβs luster.
This is really useful info, can you recommend a tutorial that you feel shows how to effectively use these tools along with traditional style coding? Or would you say itβs just a try and see approach/learn as you go. Personally, I think your comment best demonstrates where we are right now with AI assisted development.
Unfortunately the tutorials out there are mostly terrible. Iβve learnt it by experimenting a lot and seeing what worked for me. Some general advice:
- Subscribe to both Copilot and ChatGPT Plus and try using them as much as possible for at least a month. Some people prefer the former, others the latter, and you canβt know in advance which.
- Always use the GPT-4 model in ChatGPT but keep in mind that there is a 25 answers/3 hours rate limit. So try to squeeze as many questions and information into your messages as possible. GPT-4 is miles ahead of any other publicly available LLM, including GPT-3.5.
- Tips for ChatGPT:
- Give detailed, well-written prompts. Try to describe the problem the same way you would to a coworker.
- After describing the problem, ask ChatGPT if it needs any additional information to implement the code well. It usually asks very insightful questions.
- Answer the questions and then ask it to break down the problem into individual functions and then, in separate messages, ask it to implement them one by one.
- Remember that the context window is limited, after some time it wonβt remember the beginning of the conversation so itβs worth repeating parts of the specification later.
- Tips for Copilot:
- Write the method signature and have Copilot implement it for you
- Write a comment and have Copilot implement the corresponding code
- Paste the code as a comment in a different language, write βthe same logic in $lang2β in a comment, and it will translate it from $lang1 into $lang2.