The trick is to split the code into smaller parts.
This is how I code using ChatGPT:
Have it analyze how to structure the program and then give me the code for the outline with not yet implemented methods and functions.
Have it implement the methods and functions one by one with tests for each one.
I copy the code and test for each method and function before moving on to the next one So that I always have working code.
Despair because my code is working and I have no idea how it works and I have become a machine that just copies code without an original thought of my own.
This works pretty well for me as long as I don't work with obscure frameworks or in large codebases.
So my job (electrical engineering) has been pretty stagnant recently (just launched a product, no V2 on the horizon yet), so I've taken my free time to brush up on my skills.
I asked my friend (an EE at Apple) what are some skills that I should acquire to stay relevant. He suggested three things: FPGAs, machine learning, and cloud computing. So far, I've made some inroads on FPGAs.
But I keep hearing about people unironically using chatGPT in professional/productive environments. In your opinion, is it a fun tool for the lazy, or a tool that will be necessary in the future? Will employers in the future be expecting fluency with it?
Right now it's a good but limited tool if you know how to use it. But it can't really do anything a professional in a given field can't do already. Alhough it may be a bit quicker at certain task there is always a risk of errors sneaking in that can become a headache later.
So right now I don't think it's a necessary tool. In the future I think it will become necessary, but at that point I don't think it will require much skill to use anymore as it will be much better at both understanding and actually accomplishing what you want. Right now the skill in using GPT4 is mostly in being able to work around it's limitations.
Speculation time!
I don't think the point where it will be both necessary and easy to use will be far of tbh. I'm not talking about AGI or anything close to that, but I think all that is necessary for it to reach that point is a version of GPT4 that is consistent over long code generation, is able to better plan out it's work and then follow that plan for a long time.
That's like asking in the early 90's if knowing how to use a search engine will be a required skill.
Without a doubt. Just don't rely on it for your own professional knowledge, use it to get the busywork done and automate where you can. I have virtually replaced my search engine needs with Bing AI when troubleshooting at work because it can find PDF manuals for obscure network hardware faster than I can shift through the first five pages of a Google search. It's also one of those things where the skill of the operator can change the output from garbage to gold. If you can't describe your problem or articulate what you want the solution to look like, then your AI is going to be just as clueless.
I don't know what the future will hold and how much of our white collar workforce will be replaced by AI in the coming decades, but our cloud and automation engineers are not only leveraging LLM models but actively programming and training in-house models on company data. Bottom rung data entry is going the way of the dodo in the next ten years for sure. Programmers will likely see the same change that translators did after translation software was developed, they moved from doing the job themselves to QA'ing the software.
Times are changing but getting onboard with using AI as well as learning how to integrate it will be the next big thing in the IT world. It's not going to replace us anytime soon but it will reduce the workforce as the years go by.
This is exactly how I use it. Just like with conversations, ChatGPT tends to lose the plot after a while. It starts to âforgetâ the start of the conversation, and has trouble parsing things. Itâs great for the first few paragraphs then begins to drift. So only use it for a few âparagraphsâ worth of code at a time.
And as always, you need to make sure that itâs not just pretending to know. It will confidently feed you incorrect information, so you need to double check it occasionally.
ChatGPT is excellent for suggesting an idea that I haven't thought of. I can then use that as a springboard to write out something that works. Asking it if there are optimizations also can yield quite good results. I find I spend less time debugging on average, but not by a large margin.
I never copy code from chatgpt. It's not my code and it probably doesn't work. However it is great at making suggestions on how to tackle a problem or how to improve your code. Use ChatGPT like Stack Overflow, with instant replies.
That's why you should always verify the information with other sources. Just like information you get from any other website/person. It's not any different.
Plain copy paste without a critical view is not recommended, but it surely provides good pieces of code from time to time. Especially in obscure frameworks/languages, compared to what can be googled.
ChatGPT 4 is a really big difference with 3.5 though. What took me hours together with the 3.5, was fixed in a few minutes with 4.
I just use it for snippets - "here's my function, how would I go about changing x?" Or, "here's my block of code, I'm getting this error, what am I missing?" (I know, I'm fine to share my code but not company code)
Readers, note performance wonât match GPT-4. You can see the leaderboard then compare some of the available GPT4All models side-by-side. They may be sufficient for your needs.
Co-pilot can write some small very simple functions for me, sometimes saving me the need to look at documentation. It will still often fail at those, in my experience, and will consistently fail at anything more complex.
It will get better, but currently it's only a small help.
it really helps with the boring parts and takss that require doing the same thing over and over;
for example, i use it to generate mapping functions (like in my (abandoned) gba emulator project, function that maps arm instruction type enum to function pointers was generated almost entirely by chatgpt)