this post was submitted on 15 Jun 2023
49 points (98.0% liked)

Experienced Devs

3983 readers
1 users here now

A community for discussion amongst professional software developers.

Posts should be relevant to those well into their careers.

For those looking to break into the industry, are hustling for their first job, or have just started their career and are looking for advice, check out:

founded 2 years ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[–] sisyphean 7 points 1 year ago* (last edited 1 year ago) (3 children)

I use ChatGPT (with GPT-4) all the time for coding. I've developed a feel for the maximum complexity it can handle and I break down bigger problems into smaller subtasks and ask it to write code for them (usually one function at a time, after a detailed explanation of the context in the beginning). I need to review and test everything it produces thoroughly but it's worth it. Sometimes it helps me complete tasks that would have otherwise taken a day to complete in 1-2 hours.

I also have Copilot installed but it isn't as useful as ChatGPT. It's nice to get a smart completion sometimes. I'm even in the Copilot Chat beta which uses GPT-4 and I find it inferior to ChatGPT with GPT-4.

I never touch GPT-3.5 anymore. It hallucinates too much and the quality of the output is very unpredictable. I guess most people who say AI is useless for coding haven't tried GPT-4 yet.

Oh, and something else. In my experience, the quality of the output depends a LOT on the prompt. If you give a clear, detailed description of the problem, and try to express your intent instead of the specifics of the implementation, it usually performs very well. I've seen some people at work write the worst, sloppiest prompts and then complain how useless ChatGPT was.

[–] catch22 1 points 1 year ago (2 children)

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.

[–] sisyphean 2 points 1 year ago (1 children)

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.
[–] catch22 2 points 1 year ago

Thanks! Again this is really helpful