Тёмный

A cautionary tale about ChatGPT for advanced developers 

Joshua Morony
Подписаться 73 тыс.
Просмотров 317 тыс.
50% 1

My Angular course: angularstart.com/
ChatGPT has unlocked opportunities for me that I otherwise might not have had the time to achieve. But, without a careful strategy, ChatGPT and other AI coding assistants like GitHub Copilot can hinder your code quality and personal improvement.
Get weekly content and tips exclusive to my newsletter: mobirony.ck.page/4a331b9076
Want to build mobile apps with Angular?: ionicstart.com
0:00 Introduction
0:39 The powerful aspect of ChatGPT
2:17 The dangerous aspect of ChatGPT
4:01 What ChatGPT missed
4:55 Why I avoid CoPilot
#chatgpt #githubcopilot #typescript
- More tutorials: modernangular.com
- Follow me on Twitter: / joshuamorony

Опубликовано:

 

31 май 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 1 тыс.   
@JoshuaMorony
@JoshuaMorony 3 месяца назад
I have a newsletter, you can join it if you like: mobirony.ck.page/4a331b9076
@The14Some1
@The14Some1 3 месяца назад
What i'm always doing when asking chatGPT for something i have no clue is repeatig the question multiple times and checking for consistency of his answers. If he is more or less consistent, you could imagine he knows what he suggests. Otherwise dont trust him and spend more time investigating the problem on your own. Though, you could still use his advices as a starting point in your research. The main problem is always trustworthines of generated content, and since AI itself can't estimate how reliable its answer is, the only thing you're able to observe is answers consistency as a main indicator of quality.
@The14Some1
@The14Some1 3 месяца назад
Also what I'm doing from time to time, and I believe you would appreciate it, is asking chatGPT to make my quick-and-dirty snippet more functional by applying declarative approach :) And should i say it often does quite an impressive job on it:)
@CM-mo7mv
@CM-mo7mv 3 месяца назад
simply said, you got it wrong. but RU-vid keeps deleting my comments.
@paulmichaelfreedman8334
@paulmichaelfreedman8334 3 месяца назад
I have setup my rig (Ryzen 9 / RTX 3080 / 64GB) to run text generation locally, I use it with the codingwizard model to generate python code for my hardware projects. I am not a programmer (but do have above basic knowledge and have written larger functional programs) but I want to spend my time on tinkering, not typing, and this helps me enormously.
@matt92hun
@matt92hun 3 месяца назад
Copilot keeps randomly "forgetting" that it's integrated in VSCode and has access to my files and I can't convince it otherwise only start a new chat.
@davidjrb
@davidjrb 3 месяца назад
Interesting! I tried copilot the other day and it didn't seem to see anything I was doing unless I highlighted the text, and then once we moved on, it just forgot about the previous context. I'm still on the fence whether copilot is useful for me or mostly waisting my time
@wege8409
@wege8409 3 месяца назад
Copilot's chat sucks imo, I've never been able to get anything useful at it. I will write a comment before I talk to the chat.
@FreeDumb101
@FreeDumb101 3 месяца назад
The is my biggest pet peeve with open interpreter. I'll be working with my files and then suddenly say it doesn't have the ability to work with my files because it's just an LLM. Need to start testing some other LLMs with it.
@jonatan01i
@jonatan01i 3 месяца назад
When is it a good time to use the chat? When I have a question or I suspect that the code copilot suggests me is wrong, I ask it in a comment. It goes something like: # this is done like this, because ... And then the continuation gives me the answer. And a lot of the times it tells me something from what I instantly know what and where to clarify so we're on the same page. Then I delete the part that was suggested with the wrong assumptions and now it actually gives what I wanted.
@morgengabe1
@morgengabe1 3 месяца назад
Don't be a snitch, matt92hun
@skellious
@skellious 3 месяца назад
As a solo dev, this is how i use it as well. Asking for hints and general pointers as well as code review, but not trusting it to write code i use directly.
@mmmmmmkatata
@mmmmmmkatata 3 месяца назад
Same! I'm not even a developer yet, though I've made some projects in python and javascript (simple stuff, like a chess game with UI on python and a pomodoro app in JavaScript) Even when I tried to trust it for writing code, it gave literally the same solutions that I had in my code. I later had to figure it out myself, and I managed to do it.
@RictorScale
@RictorScale 3 месяца назад
I use it as a supplement for my books and it works great to give examples. I can even use examples from the book, describe the concept and jt gives really good answers and examples for me to learn. Its great since i dont know any senior developers to learn from
@dyslexicsoap7605
@dyslexicsoap7605 3 месяца назад
I don't really like using it for code review, because I find that it more often than not feeds me information that's blatantly wrong or simply worse than my approach
@msjahun
@msjahun 3 месяца назад
That's the way to go, I know a new developer that just does everything with chatGPT and has zero knowledge about what is he doing? It's either he's headed directly to a ditch or AI becomes so advanced that he's able to get away with this in the future.
@alexh2665
@alexh2665 3 месяца назад
Same, I do use it for templates of code just to kind of get me started but I don’t outright copy and paste from chat gpt
@karendevries6276
@karendevries6276 3 месяца назад
What you describe here is more broadly known as automation bias. People tend to overly rely on the outcomes of automation, even if they have instruments at hand to know better. The fact that you critically review the output of the AI and understand that you need certain skills to assess its output goes a long way with that. I really like your example of knowledge gaps and I'm stealing that for my lectures.
@Serlock4869
@Serlock4869 3 месяца назад
I suspect majority are just lazy, not care or not have time to review the result from AI. If you care for the codebase, you'll review the result before integrating into codebase.
@jo1stormlord
@jo1stormlord 3 месяца назад
My issue with it is that it hallucinates. It doesn't have many references to the modern Microsoft powershell packages I am using, so it makes stuff up that sounds plausible but doesn't really exist. Say, you want to add an user to Microsoft teams team and then add that user to private channel using powershell. It told me to use Get-MgTeamsUser then Get-MgTeamsTeam and then Add-MgTeamMember then Add-MgTeamsChannelMember. None of these actually exist. Correct command is Get-MgUser (you don't actually need that step), Add-MgTeamMember with different parameters than provided with chatGpt, Get-MgTeam (not Get-MgTeamsTeam!) and Add-MgTeamChannelMember (without an s in Team). You need only the last two. Would have been faster if I googled it.
@trenvert123
@trenvert123 3 месяца назад
@@Serlock4869 If you have to manually review and correct the often wrong AI output, how much time is really saved by this?
@troyleevlogs
@troyleevlogs 3 месяца назад
It will eventually learn by you correcting it.
@jo1stormlord
@jo1stormlord 3 месяца назад
@@troyleevlogs if I wanted to teach someone powershell, I would have asked a junior colleague at my workplace. Not a machine. When that machine "hallucinates", it is worse than useless because it causes me to waste time.
@dorusie5
@dorusie5 3 месяца назад
Makes me think of my current job. I work for the government, and management keeps pushing us to be a "directing organization", meaning that all the knowledge is at external contractors/suppliers and that we steer them and check their work. The idea is that we have broad, general knowledge, and specific domain knowledge is at the suppliers. The issue is though that many suppliers are unreliable and produce shoddy work, and we have no way of recognizing that unless we have that specific knowledge ourselves; which can only really be gained by doing the work that the supplier does (i.e. actual development). So how are we as humans to check, correct, and steer AI when it starts doing all our work for us?
@manishm9478
@manishm9478 3 месяца назад
💯 i know what you mean - i worked as an electrical engineering consultant for a while and many of our clients did not have the competence to understand or review our work. In the 'physical' engineering work there are professional standards and very detailed contracts that can penalise engineers if something goes wrong. But there are no such protections in the software world. My own managers and software architects don't even understand my code enough to make decisions about it 🤷🏽‍♂️ (though that is a different problem)
@puppetmurder
@puppetmurder 3 месяца назад
Reverse for me, I work for the government too as a data analyst level 2 (employment, health and training), but there are only 2 of us to 1500+ staff. Nothing is automated, everything is manual from user creation, change of status, terminations, no 1 role base access either etc. Its a nightmare. Ive asked if we can use copilot to help us out even a tiny bit (since we're azure o365 platform and we are iso secured). However no one in the company understands A.I and the only ones that are using it are the marketing team to make shitty marketing projects. would be amazing for checking the correct access, what devices have been assigned where, traversing through sharepoint since thats never been maintained for 8 years either, staff that are due to return etc there are 0 KBA's in the company, and no one is taking responsibility. That and theres no asset manager for 2500+ active devices per month. In this situation i think it would be greatly beneficial since the company wont spend more on hiring staff 😓
@whannabi
@whannabi 3 месяца назад
It's called dependance.
@fu5ha_edits
@fu5ha_edits 3 месяца назад
Yesss great analogy
@GoldenBeholden
@GoldenBeholden 3 месяца назад
This is a great insight.
@Ursuss21
@Ursuss21 3 месяца назад
I rarely use chat GPT at all, but surprisingly today I've used it first time since a few months. I was stuck trying to finding a solution to my problem and tunnelvisioned one scenario too hard, cause I thought I was close. Resigned, I asked gpt what it would do, described scenario as best as I could and it actually returned me a very useful answer. It was similar to my previous train of thought, but it filled the gaps, similarly to what you've showed in the video. I think that gpt might be very useful in those kind of situations, where you know that you're close, but you're missing something or need other perspective. Thanks for the video!
@Fossil_Frank
@Fossil_Frank 3 месяца назад
I've been thinking about trying it out in this role, but when I consider it more deeply, there's just not much that I could ask it. What exactly are you tasking it with? Looking for architectual suggestions? That might be nice, but at least in my stack there's rarely any doubt as to what patterns should be used. I can't imagine it would be useful in serious debugging and that's the major time-sink in most projects. The only other time I have to spend a lot of time figuring out something is when third party software doesn't work as advertised and a workaround needs to be found - I've tried in such cases and the concepts involved are usually just to abstract for it to grasp, resulting in garbage and a further waste of time no matter how it's described. So far I've only been able to use it for some data-entry like tasks. I've also managed to have it generate a lot of SQL statemanets to modify huge sets of data in a semi-intelligent way, but it took some much effort that I would have probably done it faster by writing a generator myself...
@whannabi
@whannabi 3 месяца назад
And you know when it's feeding you lies just at a glance because the gaps are small enough for you to know the bridge will collapse.
@adamcetinkent
@adamcetinkent 3 месяца назад
I think you resigned too easily!
@Boxing_Gamer
@Boxing_Gamer 3 месяца назад
Chat gpt can be a great help, I've had some deep conversations with it. It's quite remarkable.
@Fossil_Frank
@Fossil_Frank 3 месяца назад
@@Boxing_Gamer It's designed to mimic human conversation. That alone doesn't make it helpful and it's not what is being discussed here or in the video.
@pbible
@pbible 3 месяца назад
As a developer for more than 40 years, I have experienced more frustration with AI than solid solutions. This video does a great job of summarizing my own current approach to using AI at this stage, and serves to provide confirmation that it’s “not just me” having the issues. Thank you!!
@leakyabstraction
@leakyabstraction 3 месяца назад
The problem with current gen AI is not that it kinda sucks, but that it doesn't suck the way I like to be sucked.
@nijobot
@nijobot 3 месяца назад
😂
@adeidara9955
@adeidara9955 3 месяца назад
I want it to suck real good
@BetaTester704
@BetaTester704 3 месяца назад
Be the change you wish to see. Make that AI suck the proper way
@davidjrb
@davidjrb 3 месяца назад
Nailed it
@brulsmurf
@brulsmurf 3 месяца назад
People are expecting unrealistic things from it. If it could do all those things it wouldn't need you.
@j_t_eklund
@j_t_eklund 3 месяца назад
There is a huge black hole of bad for many people using the "AI" to help them. I'm currently tracking more then 2K open source projects that has more or less the same code snippets in their repos that contains easily exploitable code.. I'm expecting 2024 to be the year of massive issues with systems running this code on production. It's like people unlearned basic "safity" coding habits. Great video, think it is important that people who are public with their coding skills do this. Good on/by you! 🙂
@Selendeki
@Selendeki 3 месяца назад
This sounds exciting
@mandisaw
@mandisaw 3 месяца назад
It's a mess - the process of learning & integrating skills pretty much requires some active thought & effort on the learner's part. You can't know how small/deep the knowledge gaps go if it's knowledge you *don't already have*. ChatGPT, Copilot, et al are more focused on keeping users hooked & happy than writing resilient code, or "teaching" anything. We're in for an entire generation of crappy, insecure, barely-understood code - hope you're getting paid to fix it 😅
@ccl1195
@ccl1195 3 месяца назад
This is one thing I always think about when people loudly tout all the benefits of ChatGPT and other LLMs. We absolutely are going to see the effects of what you're saying. I mean, we already are. "I don't fully understand this but it works and it saved me time" is not ok when you multiply it by thousands of people on thousands of projects.
@thejither
@thejither 3 месяца назад
To be fair, many, if not most, people never *had* "basic safety coding habits". And those people seem to often overlap with the ones who think ChatGPT can replace their own thinking. Not only does much of ChatGPT's training data include exploitable code and other more or less subtle security issues (in addition to other less critical issues). If you hand it code with subtle bugs yourself, and ask it to expand on it, it will be likely to give you more code with even more subtle bugs. If that's the context it gets, that's the context it will use for generating new code. And yes, we'll see the consequences of all of that in the coming years. By now, after watching the misguided hype and voices of reason being unable to stop it, I'm starting to cynically side with @Knights_of_the_Nine...
@AnythingGodamnit
@AnythingGodamnit 3 месяца назад
You hit the nail on the head with this - I've had the exact same experience. When my knowledge gap is too large to know any better, I actually tend to waste time using LLMs rather than save it. Also, my experience with Copilot was so frustrating that I had to turn it off within a week. It was forever making terrible suggestions. Perhaps that's because I was using a lesser-known language, F#, but ironically I understand large portions of Copilot are written in F#.
@martinpata2899
@martinpata2899 3 месяца назад
In go copilot was way better than chat gpt
@tanotive6182
@tanotive6182 3 месяца назад
I've used CoPilot for Go, TypeScript and C#. I find CoPilot to be way better than ChatGPT and I spend less time bouncing between a browser and editor. I've also found that both ChatGPT and CoPilot tend to be worst for dynamically typed languages like Python and JavaScript (I know TypeScript is just a linter haha). I find ChatGPT to be more hallucinatory than CoPilot, as CoPilot seems to have better context with regards to the files I'm in. Can't comment on how good/bad it is with F#. Bearing in mind CoPilot will still make shit up. Just less likely to than ChatGPT.
@carlosmspk
@carlosmspk 3 месяца назад
Copilot removes the autocomplete capability of VS Code, and that alone is enough for me to straight ignore it. I just use it to make questions now, which I might as well do in chat gpt directly... PS a pretty cool way to use chat GPT is to review your code, not that this is relevant, but I find it does a pretty good job 👍
@illusion466
@illusion466 3 месяца назад
I was trying to get chatGPT to give me some zig code a couple of nights ago, and it kept giving me rust💀
@dave882
@dave882 3 месяца назад
If there isn’t enough discussion and code out there in what you’re using, it just can’t know.
@GyattGPT
@GyattGPT 3 месяца назад
What is the deal with typescript and why is the code so exhausting to look at?
@JoshuaMorony
@JoshuaMorony 3 месяца назад
This is typical of library style code in TypeScript - perhaps this is on the more complex end but generally the trouble is that this utility takes in a whole bunch of data that can have a bunch of different user defined types, and then it returns stuff in a different format but needs to maintain the types the user supplied. Since this needs to work generically in just about any situation it can become quite complex to handle. I actually have a breakdown of how/why some of it works if you're interested: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-oGKoh64NWc0.html
@christophkogler6220
@christophkogler6220 3 месяца назад
TypeScript is essentially JavaScript converted into an explicitly typed language, with all the benefits (and downsides) that entails. Explicit typing makes the programs more robust and much easier to debug, and that makes it more scalable (I assume the biggest draw for a large organization working on 10's or 100's of thousands of lines of code). The downside is that it also often requires much more verbose and long code, because you don't let the compiler / runtime 'assume' what things should be.
@turolretar
@turolretar 3 месяца назад
Because it’s has an over engineered type system, I swear to god sometimes I think the whole JS ecosystem is a big fuckin mistake
@Leonhart_93
@Leonhart_93 3 месяца назад
It is definitely overengineered, complexity for the sake of complexity. Its whole purpose was supposed to enforce rules to prevent bugs, not make development way slower.
@gingervytis
@gingervytis 3 месяца назад
Javascript is a huge pile of sh|t. Add to that pile the enormous wasteland of buggy libraries which have the lifespan of a flea. @@turolretar
@Socrates_Nuts
@Socrates_Nuts 3 месяца назад
My job grants us access to Copilot Enterprise, which allows us to “index” our monorepos such that our instance of GPT/Copilot has the full context of our specific codebase. It *helps* over blind questions to ChatGPT, but it still has a tendency to recommend more generic/unhelpful solutions which just match our typical syntax/nomenclature. It’ll do a solid job of writing PR descriptions too, but only handle the “what” and not the “why”
@alexsov
@alexsov 3 месяца назад
It uses RAG technic to search your repos and than inject relevant parts to llm context when needed
@ArnaudMEURET
@ArnaudMEURET 3 месяца назад
What’s a “monorepo”??
@darekmistrz4364
@darekmistrz4364 3 месяца назад
@@ArnaudMEURET monorepo is a situation where one git repository is a host to many projects or products that are closely related or have very similar release cycle. For example keeping mobile app together with backend code in one repository to make sure that latest mobile app release is compatible with latest backend.
@sqwert654
@sqwert654 3 месяца назад
CoPilot has saved me a lot of typing of C# code in Unity. When having to add a lot of names to textures it knows what your doing and predicts the next name for example.
@gabek5760
@gabek5760 3 месяца назад
It’s pretty useless in many aspects of Unity (Netcode & DOTs are the major two) and the code it’s given back is not professional…
@StCost
@StCost 3 месяца назад
helps a lot in properly named project and variables. At this point I just write big comment what I want from new script - and copilot finds correct methods from opened files, while building 80% working feature prototype. Making new code in bigger files with documentation works even better, as it has lots of context. So in my opinion - it perfectly predicts what decent code tries to achieve. Even netcode. But bad code can't be read and maintained even by human
@Luxalpa
@Luxalpa 3 месяца назад
@@gabek5760 I think that's primarily a user error though. You're not supposed to use large blocks of generated code unmodified. But for example, in a Rust code base you write "impl" and you'll get pretty good templating for all the traits that you want to implement manually.
@jaleger2295
@jaleger2295 3 месяца назад
@@StCost shit indian code alert
@justsomeguy8385
@justsomeguy8385 3 месяца назад
You'd probably still be a lot faster by just working on your typing form and utilizing Vim mode in whatever editor you use. Honestly when people tell me they use copilot to help them write code faster, I just imagine them hunt and pecking around their keyboard and using AI as a crutch so they don't need to learn proper touch typing.
@hotwings9382
@hotwings9382 3 месяца назад
Issue with using gpt is you can start a project with it but as it grows you realise that the foundation is just wrong. Then you have tk start over
@drackrath0
@drackrath0 3 месяца назад
The issue with chatgpt is that people are starting projects with it instead of writing small code-bits to review. The Architecture of a project and its foundation has to be done manually or by the IDE.
@knufyeinundzwanzig2004
@knufyeinundzwanzig2004 3 месяца назад
⁠​⁠@@drackrath0 how does an IDE come up with an architecture?
@rapid9922
@rapid9922 3 месяца назад
@@knufyeinundzwanzig2004 Most modern IDE's have pre-installed templates for generic architectures, and you can import custom ones or save your own.
@jonathanrosado8874
@jonathanrosado8874 3 месяца назад
@@drackrath0as a senior engineer at meta this comment is wild. Please don’t listen to randos online
@Nemopoly
@Nemopoly 3 месяца назад
No one should take advice from meta devs, on the principle that your stuff never works, and probably get paid too much for slap-dash jobs. Wage cuck for zuck
@soulsearchingsun83
@soulsearchingsun83 3 месяца назад
Sometimes I think I'm helping ChatGPT, not the other way around. Regularly it provides not only incomplete, but plainly wrong solutions, even without knowing the full context. AI assistants might become the next weapon in war by providing unhelpful suggestions to the ones depending on it due to a lack of knowledge...
@Cha_HCM-je9qe
@Cha_HCM-je9qe Месяц назад
Same to me, I have to help chatGPT to get to the correct answer, it is a shame! AI is still a hype. AI is just a tool, not to replace true human engineer.
@theophiled
@theophiled 3 месяца назад
What I do is write my code, then ask chatgpt to critic my code, then ask it to provide an improved version using the latest good practices, then I redo my code following what make sense. When I can't manage to make something that work, I copy a similar code that work and ask chatgpt to explain to me the parts of the code that I dont understand (if the code is in javascript and short, chatgpt explanations are almost always correct), then I do it my way, rince and repeat. I also use phind, which is very good too AND provides sources (for example stackoverflow) to its explanations. IMO a good trick is to provide your code to chatgpt, ask him to describe what you are trying to do, then use the output of chatgpt as a prompt for other LLM to get various ways to solve a specific problem.
@josefaguilar2955
@josefaguilar2955 3 месяца назад
I used ChatGPT to help fill knowledge gaps for a C++/TS WASM module and i ran into everything you stated. If my knowledge of C++ and TS weren't up to par i wouldn't have been able to see how the solution provided was generic and not suiting my entire needs. The solutions look like they work but they often need you to meet halfway in the middlle to pull out the concept.
@br3nto
@br3nto 3 месяца назад
Great vid. I think it highlights that ChatGPT can’t create something out of thin air to solve your problem, but draws from a pre-built deterministic model. It’s not a CSP solver yet. If it hasn’t encountered a solution in real life, or the uncommon solution is outweighed by more common solutions, you won’t get what you need without a lot of prompting. The other thing to remember is that often it is just as fast going direct to documentation.
@PhotonBeast
@PhotonBeast 3 месяца назад
Indeed. It either 'knows' something really well or 'knows' very poorly, but either way, it will be 100% confident in it's answer and will not offer any alternatives or cautionary uncertainty.
@br3nto
@br3nto 3 месяца назад
@@PhotonBeast which is odd when you consider that the connections are weighted. Surely, it could be possible to use the weighting info as some form of indicator of vagueness or certainty.
@PhotonBeast
@PhotonBeast 3 месяца назад
@@br3nto (DIsclaimer: Not an ML or AI person expert) From my understanding, the weighing of the connections don't necessarily corrolate to the output decision in that way. And it also depends on the type of machine learning algorithm involved (Not all of them are neural networks). Regardless, I'm not sure that that kind of uncertainity is possible in the current types of ML. For instance, with Chat GPT, what would it even mean if there's a 50/50 chance of the next word being one of two different things? As people, we would expect using context and knowledge to figure things out or re-word it altogether. Chat GPT can't do that - it HAS to put out the next word - and not because it's making any kind of choice but because that's literally how the underlying algorithm works.
@whatsupbudbud
@whatsupbudbud 3 месяца назад
@@PhotonBeastGood point, had not thought of that angle.
@paell0
@paell0 3 месяца назад
💯% agree - using it to fill small gaps. Delivering stuff is much faster and stronger (ui stuff, unit test cases after corrections) but when tried to use ngrx where I have little experience - it failed one after another. After learn something more on that topic Gpt is now helpful, but my role is to keeping direction, not to try what he 'thinks' is good blindly. Good job Joshua❤
@jt4351
@jt4351 3 месяца назад
Beautifully said. Breaking things down for AI usually helps me when I'm stuck, but I have also implemented a hard 10-minute rule of chatting with the bot for an answer. If it's clear that it also doesn't know what I don't know, I have often found the answer with a simple google search in minutes after wasting hours trying to use AI as a "know-it-all coworker".
@JRCSalter
@JRCSalter 3 месяца назад
It took me an embarrassingly long time to start using ChatGPT. I only started using it a couple weeks ago. It's been amazingly helpful. I absolutely agree, the more complex a question you're asking, the less correct the answer will be. I use it mainly as a way to remember certain concepts that have slipped my mind, syntax, class names, implementations, etc. I don't think I've ever asked it to make some specific code for me, as sometimes I ask it what I think to be a simple question, I can get a complex (and often wrong) answer. I dread to think what it would do if I asked it to do something I couldn't verify myself.
@GamerLudwig
@GamerLudwig 3 месяца назад
It's also important to check the generated code, even on simple examples. I was recently calculating the accuracy, precision and recall for a categorization problem, literally just (part amount)/(bigger part amount) to get percentages. PyCharm's integrated AI had suggested the formula for accuracy correctly, so when it suggested one for precision i assumed it was correct as well, and showed the results in our weekly. Only to realize that i had the formulas for precision and recall mixed up, turning my results from 60% effective to 13% effective. Quite different from what i had tried to present.
@jeffreychandler8418
@jeffreychandler8418 3 месяца назад
This is what I've come across with gpt solutions to coding issues. I found that if it's something small (like building a function that loops through predictors and plots them with a target) it will work quite well. It has even helped me dive into some coding concepts I would not have done expediently, such as learning RShiny. But when it's the complex stuff where you need more knowledge, chat gpt fails. With me learning RShiny, the gist of it was pretty clear and easy, but then I wanted to make it so when people clicked on the map, it would render and display a markdown document of the local figures that I generated for each location. Chat GPT was completely incapable of providing the solution. I had to learn about parametric rmarkdown and observe event complexity in order to get a solution, and chat gpt failed to recognize my goals and instead wanted to brute force things in ugly, inefficient ways. You outline it perfectly. It's great for small gaps. But it's really messy and bad for large gaps.
@mandisaw
@mandisaw 3 месяца назад
Problem is, most folks don't know how large/deep the gap is going in...
@jeffreychandler8418
@jeffreychandler8418 3 месяца назад
@@mandisawvery true
@miklov
@miklov 3 месяца назад
I always feel that you can't rely on LLMs for things you don't already know decently well. As you say, it is fine if there are small knowledge gaps. I use it in different manners: · Small knowledge gaps - clarification, examples, insights on my code · Large knowledge gaps - starting points for studying, broad information to help me navigate a new topic · Silicon duck - bouncing ideas · Structure checking - does the LLM understand my code intent? · Brainstorming - LLMs are great at detracting from the focus which is at least useful for brainstorming sessions. Thank you for your insights!
@gawwad4073
@gawwad4073 3 месяца назад
That idea of smoothing out the small gaps is spot on. I get stuck far less now than I did a year ago. Also just talking about a problem your facing can lead you to a solution even if the AI can't come up with it.
@FelipePeletti
@FelipePeletti 3 месяца назад
I am not a programmer at all. But I decided to start experimenting because I know I have chatgpt to help me along the way, otherwise I wasn't even start. For sure I will suffer way more compared to someone that has experience in programming. Everything I tried has worked so far, so I am learning and doing things that are more challenging over time. My use case is automations for my job. I love the challenge of break a big problem in small parts and the satisfaction received after solving each part
@TreeLuvBurdpu
@TreeLuvBurdpu 3 месяца назад
That's one of the best things ChatGpt can help with. You can bounce out to a tutorial, but when you come back to trying to create your own project, the GPT can help with your particular use case.
@saltrocklamp199
@saltrocklamp199 3 месяца назад
Sounds to me like you've become a programmer!
@patt5085
@patt5085 3 месяца назад
yeah I'm from UX/UI and only knew html/css. Chatgpt taught me to connect the dots with hundreds of stupid micro questions that would break any senior programmer's patience. Like what is apache, ssl, library to do X, differences between X and Y, etc every 5 minutes. I can build proper MERN stack now and become an emergency help for my team.
@dave882
@dave882 3 месяца назад
Yeah it’s fantastic for that.
@saltrocklamp199
@saltrocklamp199 3 месяца назад
@@patt5085 I'd argue that a senior programmer would definitely know about Apache and SSL. Actually learning how to use them however can take a while. Just be careful around web security; that's precisely the kind of domain where I do not trust ChatGPT and neither should you.
@JamesJansson
@JamesJansson 3 месяца назад
I tried it. I asked it a very straightforward question: "what function can I use in mongoose to update multiple records and return the result in a single step". It's not possible, MongoDB doesn't work that way. Anyway it just imagined something that didn't work with a high level of confidence, despite the API being well documented. If a junior did that to me multiple times, I'd fire them.
@theangrybear12354
@theangrybear12354 3 месяца назад
You have to play with the temperature. If you change the temperature to precise (or closer to 0), you will get better answers. By default most AI's are set to more creative so they will lie and not give the correct answers. You need to figure out "how" to set up the AI to give you the answers you need along with learning how to prompt it correctly. Just like using Google, you need to learn how to use the tool.
@adambickford8720
@adambickford8720 3 месяца назад
@@theangrybear12354 today. it could be different tomorrow. what could go wrong with a non-deterministic 'language'?
@kennet2282
@kennet2282 3 месяца назад
updateMany() mongodb function?
@sirflimflam
@sirflimflam 3 месяца назад
You need to learn how to ask good questions before you can get good answers. First of all, I wouldn't assume I can do something and ask for the answer from the start. My first interaction with chatgpt is usually something along the lines of "Is it possible to..." and work from there. When you ask it for something so straightforwardly, you risk it hallucinating answers.
@JamesJansson
@JamesJansson 3 месяца назад
@@sirflimflam You're wrong. Humans ask leading questions all the time and real intelligence knows when the leading question is wrong. What you're saying is my language shouldn't assume anything about anything ever. It's makes no sense. Like does my programming language have variables? Does it have for loops? Your solution is to say "If Javascript has variables and if Javascript has for loops how can I set a variable inside a for loop (but only if it is possible, don't go and imagine functionality that doesn't exist)" Artificial "intelligence"? No. If it confidently imagines bullshit, the AI is dumb, not me.
@TheWiiDz
@TheWiiDz 3 месяца назад
Excellent video, exactly points out what I experience the whole time while developing^^ It helps me personally to often refresh conversations, using the classic GPT4 model, using API and providing the model as much context about the coding issue as possible
@SwingingInTheHood
@SwingingInTheHood 3 месяца назад
Amen, Brother. I always know the second ChatGPt starts suggesting "Drastic and Sweeping Changes", it doesn't know what it's doing. That's where decades of programming experience, along with a clear knowledge of what I am trying to achieve and how the entire program is structured so far, helps me come up with a more appropriate solution. And here I thought I was the only one going through this!
@comphys8178
@comphys8178 3 месяца назад
I've been using copilot for over a year and have yet to fall for the pitfalls you suggested might happen. I have copilot configured as an autocompletion source (next to LSP-based auggestions). I find myself reaching for it mostly when writing boilerplate stuff that I know how to do, or when I don't know the API and would like a starting point that i can then look up in the documentation or original source. I guess it might be different for other people, but as long as you don't start blindly accepting copilot suggestions it can provide a valuable speedup without too many apparent downsides, IMO.
@trivalentclan-mizar9591
@trivalentclan-mizar9591 3 месяца назад
After creating an algorithm for a geometry problem I asked ChatGPT to solve the same problem, it generated nonsense, I changed the problem explanation to try to be clearer and ChatGPT changed the problem to generate nonsense again. I was not even asking for code, just how you would solve the problem.
@ccl1195
@ccl1195 3 месяца назад
I mentioned this in reply to another comment, but ChatGPT made me a solution which did nothing but added a bool essentially called "isProblemFixed" and set it to true. People who tell you you just need to write better prompts are full of crap- I frequently find it spouting nonsense and lies, regardless of how prompt-engineer-y the prompt is.
@theOtherNism
@theOtherNism 3 месяца назад
This video is a testament to your proficiency as a youtuber and I appreciate you sharing it.
@Noriyak1
@Noriyak1 3 месяца назад
Knowing context is very important. I often shift ChatGPT in the right direction by saying things like, "Allright, but what about this approach..." This way, it also implements it in the way I thought of and compares it.
@encoderencoder1031
@encoderencoder1031 3 месяца назад
Your comics is great illustration for the overall AI coding assistance experience this is the exact same way I treated AI at this moments but as a good practice I always provide ALL the information needed and my worries and my expectation to chatgpt before i ask him
@encoderencoder1031
@encoderencoder1031 3 месяца назад
My point is to give chatgpt the exact same context you are in That work 80% of the time
@Andrumen01
@Andrumen01 3 месяца назад
They are great tools to speed up processes, in particular simple tasks like documentation, small functions with limited scope and style suggestions. Otherwise you have to be on your game!
@Aguycalledmax
@Aguycalledmax 3 месяца назад
This perfectly outlines the problem I often have with chatgpt. When using it to solve problems which don’t have a defacto solution and require lots of context, you can easily fall into rabbit holes where further prompting gets you further away from a realistic solution.
@yareyaredaze8733
@yareyaredaze8733 3 месяца назад
I started using chat gpt exactly in the places of this thin lack-of-knowledge area, but wasn't aware about it until saw your video - a great summary of how I use it now as a tool in solving a practical narrow task. Cheers!
@jonlegasa2482
@jonlegasa2482 3 месяца назад
I completely agree. As a university student learning programming, I find having ChatGPT by my side to be a great tutor. It’s a better experience then regular search, especially since I like to ask follow up questions, examples, and some new ideas it can think of for me to explore. I find it’s also great for boiler plate and I can focus on the more important aspects of my code. However, I try to make sure I am not relying on it so much where I am just copying and pasting.
@Laminar-Flow
@Laminar-Flow 3 месяца назад
Very true my friend
@stingrae789
@stingrae789 3 месяца назад
It's so important to be able to actually know how to search the Internet for github repos or stackoverflow posts etc and, find relevant documentation and understand that documentation. Like the guy in the video I have not used these tools 'too much'. I have used them as a 'I'm stuck let's see' method, usually when i know i don't have the time. I think eventually we'll have a middle ground (chat gpt actually doesn't always understand the code). Most people are benefiting because they under utilised code auto complete generally or suck at typing, at least that's my opinion.
@jonlegasa2482
@jonlegasa2482 3 месяца назад
@@stingrae789 I agree. I like having AI as my side kick when I’m reading documentation or searching through code repos. “Explain it to me like blank” and “elaborate on this concept.” So as I’m searching through code repos I feel that I can understand topics better than I have before. I ask a lot of questions and having a patient chatbot has made me feel like I can understand and learn anything. This is usually for when I need to learn something for the first time. After I have used chatGPT to answer my questions, I find I go to it less when I read docs a second time.
@JBB685
@JBB685 3 месяца назад
I just want to point out that I have recently used ChatGPT in the way you suggest not to. You’re absolutely correct. I was able to brute force my way to a solution, but I was only able to solve the more minor issues after I understood how the code it suggested works in the first place. It’s not a “bad” way to work, but it is frustrating. At the same time, I’m not sure I would’ve gotten to this point without it.
@luigisopa
@luigisopa 3 месяца назад
The gap analogy is perfect!! Thank you for this insightful vid.
@jonathancaldwell517
@jonathancaldwell517 3 месяца назад
Hands down agree. The only thing I would add is that it is possible to get ChatGPT to do much more/better than it's initial response (and even without human feedback using agents). However, I find that I often have to run things back through it so many times for both error and efficiency checking that by the time it gets to where I really want it, I've spent more and taken longer than made sense. So I've defaulted to using it just how you illustrated except when I'm just wanting to play around (and have the time to do it).
@mind.journey
@mind.journey 3 месяца назад
100% wholeheartedly agree. I just used it to learn k8s, but I didn't just let it write the yaml and called it a day. Instead, I asked it the questions that it would've taken days of google search to condense by myself from the plethora of resources out there. At the end of my learning journey I could fix its mistake and even propose it improvements over what it had given me at the beginning.
@Smouv
@Smouv 3 месяца назад
surprisingly good take that, equally surprisingly I've never seen written before. This is a really good mentality imo, one Ill be sure to adopt, thank you!
@almostremember
@almostremember 3 месяца назад
This is similar to my usage. I ask it to explain concepts and generate examples so I can do things myself. Directly asking for what you want to know can be much faster than searching, plus you can ask follow-up questions. It's also good for boilerplate tasks, like "create a model class from this JSON".
@akuoko_konadu
@akuoko_konadu 3 месяца назад
Lot's of devs I know are actully turning off github copilot in their IDE, sometimes the results it gives us will be somewhat logically wrong, but we won't see it, and the Tab key is also too adicting to press I'll consider turning it off
@Selendeki
@Selendeki 3 месяца назад
Initially I turned off the extremely annoying suggestions and instead mapped a hotkey to show suggestions when I want them. But, what I found was that I rarely used those suggestions, and when I did I didn't really need them anyway. Cancelled my subscription, not using it again.
@arb1ter543
@arb1ter543 3 месяца назад
Yeah, auto completions are not the best right now. The only time it's worked decently is with comments going into detail on what you want it to do. However, I've been using the chat as a learning tool and to solve very specific problems, which works a vast majority of the time because Copilot is able to use the code in your current project as context.
@icns01
@icns01 3 месяца назад
This is a very good video on how and when to use these AI coding assistants. It had to come from someone with experience with the tools to be able to add that kind of perspective. The cautionary notes on avoiding the "traps" is very much appreciated. 🤔
@Mr76Pontiac
@Mr76Pontiac 3 месяца назад
100% on board with this assessment. It's an assistant, a term I hadn't thought of even though I'm driving the code. It can get a pseudo understanding of what you want to do, but unless you explain in detail what you want to do, it's going to decipher your input and then send you output then... that's it. It doesn't ask questions or clarifications. It just assumes it knows exactly what you want, everything you gave it is the golden truth with no other outside bits of information that are relevant. It's a tool. A very ... inaccurate tool at times... that jumps to a lot of conclusions.
@pedroparamodelvalle6751
@pedroparamodelvalle6751 3 месяца назад
How are all these people using chatgpt so seamlessly in their jobs. Every time i tried myself, i end up answering my own question as i am typing it or if end up actually asking it returns a mediocre piece of code that may not even work until i debug it. Make good boilerplate thought but there are much simpler tools to make boilerplate code.
@mandisaw
@mandisaw 3 месяца назад
Most of these folks are students/hobbyists learning code, or work as juniors in spheres like web frameworks and open-source projects, where there's a lot of public code available. Can't explain why they feel learning skills via research (even via Google or SO!) is such a "slow" process, but I am certain that a lot of this code will not be viable by the end of this year, let alone long-term. Problem-solving, learning skills, communicating with clients, that is the job - if ppl find that part onerous, then they really should pursue a different career.
@knufyeinundzwanzig2004
@knufyeinundzwanzig2004 3 месяца назад
Many people in the comments say they are learning to program using GPT 💀 I guess they just don‘t know whether the result is bad. It‘s kinda crazy, in a few years everyone is a programmer but at the same time almost nobody can actually program
@mandisaw
@mandisaw 3 месяца назад
@@knufyeinundzwanzig2004 We already see so much poorly-written software in the wild, I can't imagine how bad it's gonna get.
@turolretar
@turolretar 3 месяца назад
I’m too stubborn to even consider using something like copilot, but I did have a couple of chats with gpt. Based on my limited experience, it’s usually okay to bounce around ideas with, but it does feel too much like a “yes man”. And it can’t even insult you for your stupid ideas, which I find annoying. It easily solves common coding problems, which is great to have in one place, but is only really useful to get going. That said, in general I had this feeling of nothingness after chatting with it. Idk if anyone else gets that.
@SamueleContardi
@SamueleContardi 3 месяца назад
SW architect/full stack dev here. I greatly appreciate your insights, as they perfectly articulate my stance on the issue. I've encountered the same phenomenon: with the help of GPT-4, I can create something that somewhat works in a language I'm completely unfamiliar with. However, I find myself at a loss when it comes to resolving any non-trivial bugs. On the flip side, GPT-4 has significantly increased my efficiency in environments I'm already proficient in. My concern lies in the implications for aspiring developers. With senior developers finding less need for junior support, how can newcomers to the field gain practical experience? This raises a critical question about the pathway for students beginning their careers in development.
@SLRModShop
@SLRModShop 3 месяца назад
I'm a junior dev (37 years old, with a job in dev for 16 months, front end and back end). I do use chatGPT but keep its use minimal. That thing scares me, it's like having an infinite supply of good beers in your fridge... I have no issue saying that, especially as a junior, the vast majority of my colleagues' output humbles me on a daily basis, as it should. But my co-worker in my own team has 7 years of experience and I've seen him ask a question to chatGPT, copy past the answer as soon as it hits the screen and push something to prod. I'm already a better dev than him in many regards, that guy has a good resume compared to me, obviously, but if I was a CEO, I'd hire myself instead of him. I'm not bragging here, I'm really aware of my limitations and not shy about being a junior who has everything to learn but I'm still a better dev than this guy, who has 7 times my experience. Ai (as a whole, not just regarding dev) made me realise something and I came up with a "quote" to put it into words: _"Algorithms aren't becoming better than Human beings, some Human beings are becoming worse than some algorithms"_ I believe this to be a fact. And if true, it means that based on your personality traits, Ai can and will have an edge on you. That's one side of the issue. The other, which is very insidious, is that Ai will create more and more people with the wrong personality traits, in the context of development. Ai should be a tool to help people with roadblocks while they're having fun being challenged by technical requirements. Ai should not be a tool for people to avoid having to overcome technical requirements that they hate. Ai will allow a lot of people, to enter a career even if they hate being intellectually challenged. As a result, each time the Ai will miss the mark, they'll be frustrated and hate their job. I don't use stack overflow at all nowadays but about a year ago, I came across a comment that stuck with me: "I don't know why I became a dev, I'm doing it for 20 years and hated every minute of it" (something very close to this) Poor guy, I feel for him. Ai might bring a lot of them soon to this industry. The best job for the wrong person can be hell.
@BoraHorzaGobuchul
@BoraHorzaGobuchul 2 месяца назад
It scares me as a user that soon lots of programmers will come who either use ai for spaghetti coding or were taught by it. How can you be educated by a thing that's not trustworthy? If you don't know things you're asking it, and have little to no experience in the area, you can't evaluate the correctness of what it's "teaching". That looks like building your house on a foundation of sand. SW quality inn general has been staying decreasing over time, due to business practices and desire to do more faster and cheaper. Unless there's a real breakthrough in ai I'm always that the current approach will worsen the situation dramatically.
@sigma-erebus
@sigma-erebus 3 месяца назад
This is exactly how I use it as well. I'm a student myself, so my focus is on learning through the tasks I'm given. Which is why I tend to only use ChatGPT if I don't understand an issue I'm seeing, or if it could give me a summarized explanation of some specific topic for which documentation is kind of fragmented. And Copilot merely to accelerate my typing, in only having it finish lines of code when it suggests a long line/block of code I intended to type already in the first place.
@eoz
@eoz 3 месяца назад
Quite good helper in testing :) When I'm sure that code works (not complicated), I just ask LLM to generate tests and then check line-by-line what is generated. Saves a lot of time. Also, sometimes routine tasks, like "replace this If () else { if ... } with "switch..case" - does it excellent :)
@JoshuaMorony
@JoshuaMorony 3 месяца назад
Yeah there is definitely a ton of great use cases - one I find particularly powerful/enabling is for focusing research efforts (I guess that's a good enough way to describe it). Like lately I've been doing some more stuff with Vite/TypeScript compiling/module resolution stuff which is an area I'm not particularly comfortable, but I have some general ideas around what I want/need to do and I find that ChatGPT can be great for asking something vague and high level, and it will give you something specific/relevant that you can then dive into further - without that you don't really even know where to start looking
@kimapr3817
@kimapr3817 3 месяца назад
If you're sure the code works, why do you need tests?
@dvdrtrgn
@dvdrtrgn 3 месяца назад
@@kimapr3817 if you’re honestly asking, tests are a way to ensure code functionality over time. They assist greatly during refactoring.
@ElvianEmpire
@ElvianEmpire 3 месяца назад
@@kimapr3817 so once you start making changes you can be sure it still works as intended and your changes dont introduce regressions (i.e. breaking stuff that previously worked).
@jmjmjm439
@jmjmjm439 3 месяца назад
@@kimapr3817 Just one aspect, but if someone changes your code and it breaks, they will know.
@MegaPsychomonkey
@MegaPsychomonkey 3 месяца назад
Exactly. OpenAI API key plugged into an extension/own front end shell for occasional brainstorming is the way to go. While the copilot suggestions for repetitive code autocompletion is nice, I find it to be buggy far too often.
@ZacMagee
@ZacMagee 3 месяца назад
Great video man, it's a fantastic sidekick, but from someone who has used it to kick start my self-taught programmer mission, it definitely doesn't "do it all for you" for but it most definitely speeds up the process.
@aeronwolfe7072
@aeronwolfe7072 3 месяца назад
i use it alot more for helping me to LEARN than to actually code FOR ME. I use it to understand how to STRUCTURE things. It has taught me alot. It's kinda like having a coach, that you can askactual questions to and get actual answers. it's not 'intelligent' tho. at times, it will just widly, randomly, get shit REALLY wrong.
@MrAmbrosse
@MrAmbrosse 3 месяца назад
Exactly this
@ccl1195
@ccl1195 3 месяца назад
It wrote me a solution full of correct code, which basically did nothing, then made a bool called something like "isProblemFixed." Then it included a method that sets isProblemFixed to true. 🤣 Seriously. Solution did nothing. That would be the equivalent of you asking me to fix your car, me going outside with a sharpie marker, writing "Broken" on the side, crossing it out, and writing "Fixed now." Lol! So infuriating. All delivered with that cheery, helpful, ChatGPT tone!
@c9k
@c9k 3 месяца назад
Great take, I agree completely. Also great to catch a fellow South Aussie in the algorithm :) I'm loving GPT-4-Turbo via API (Chatbox as a UI), using it daily in rubber ducky mode. The biggest gap for our needs is efficient context summarization IMO, but that can take us mere seconds of copy-pasting relevant blocks
@dj_cam
@dj_cam 3 месяца назад
That's a very good point you give, I've used it myself and found that filling in the small gaps has been far more helpful then asking for a complete solution that I have no understanding how it functions. Especially when it fails and GPT can't reliably guide you to fix the problem that it created.
@stuffforwork
@stuffforwork 3 месяца назад
I love the visual here, that sums up perfectly the usage behavior and its potential issues. Well presented.
@anonapache
@anonapache 3 месяца назад
If the answer isn't the direction you hoped for, it's often a sign, that you didn't provide enough information, restrictions or requirements. It forces you to really think systematically and to analyze your own understanding of the problem in a structured way.
@Arquinas
@Arquinas 3 месяца назад
I comp this 100 %. I'm not a coder, but I'm an electrical engineering student and i've noticed that these LLM models really shine when you have appropriate knowledge, context and understanding to ask them the right questions as well as know when one is obviously wrong with the answer. They add a speedboost to information gathering (instead of having to manually google every single thing) and also function as a substitute teacher for specifics of topics that you're curious about. Overreliance on them as you would rely on a microwave to cook your meals is a catastrophe waiting to happen and I think it's worrying what kind of market hype is forming around them right now.
@sollybunn
@sollybunn 3 месяца назад
ChatGPT single handedly taught me compute and fragment shaders in js and c (seperatly, not at the same time). When you have literally no knoledge where there are many tutorials out there, ChatGPT is amazing when it comes to consisely regurgitating only the good bits of all the tutorials
@sharonfox
@sharonfox 3 месяца назад
Can chatgpt help you pronounce consume?
@chrissolace
@chrissolace 2 месяца назад
I recently started using it just as an assistant and it’s pretty good! I’m writing in a new language so whenever I have the idea of what to do (but not the exact syntax), being able to instantly get the syntax and what I mean across into code is just really helpful compared to Google searches vaguely trying to get my point across and scouring forums. I think I’d have found the info either way, but it just saved time for me.
@ChazZeromus
@ChazZeromus 3 месяца назад
this is my same exact experience, it definitely gets up to very fast speed if you have tiny gaps in knowledge. Originally coming from flow i wanted to achieve similar generic conditionals in typescript same as you, it split everything up to make it easier to understand but ultimately it never gave me a solution that worked but gave me enough to experiment. And after reading typescripts docs on generics and inference hundreds of times i actually think there’s not *enough* documentation about specific nuances (like type broadening from literals to string type causing inference errors). In the end what worked was very small and simple even when chatgpt asserted that i had reached the very limits of the type system.
@laurikotaja9429
@laurikotaja9429 3 месяца назад
I've had similar experiences in the field of machine vision. For example one time the answer I was given did get the job done. However the premises didn't allow for too much optimization which was became a requirement later on. I had to go back and rethink the entire approach in order to reach the required runtime. As a result, these days I use ChatGPT in two ways: 1) I ask it to do the leg work on something that I can fully describe (i.e. write a function that takes in XYZ and by using ABC return 123); and 2) to list known methods for a problem and to sort them by accuracy, runtime and license. This is a real time saver and I've been able to avoid the traps, at least until now :D
@ucantSQ
@ucantSQ 3 месяца назад
I'm by no means a professional. I only just started coding a few years ago. GPT is great, but not only can it lead humans astray, humans can lead it astray. It gave me a straight-forward answer to a problem I had been having, but I was pretty sure I had already tried what it was telling me, so I told it that it was wrong, and why, and I explained my problem in more detail. It agreed with me, told me how smart I was, and integrated my own words back into it's solution. Before I could entirely implement the solution, however, I found out that GPT was right the first time. GPT cannot replace substack for that reason. If that interaction had happened on substack, NOBODY would have been telling me how smart I was. And that's a good thing.
@AustinsMind
@AustinsMind 3 месяца назад
I’ve been trying to use copilot for the first this month and I have not really let it fully take the wheel, just basically using it as a smarter autofill to help reduce myself having to type out full objects, names, etc. I think this is where it’s useful and should be used for, rather than writing entire functions and relying on it to complete the core functionality of your application. Don’t let it build the entire car but let it help you screw in those bolts after you laid out the parts 😊
@nou7716
@nou7716 3 месяца назад
you articulated perfect what I have been doing since GPT 4 has come out at my job. i use it as a quicker way to google stuff. it works amazingly when i give precice instructions and context, but if i ask it somthing vague or about somthing I am not well versed in, I see a sea of red errors. i also use it to help figure out what an error message could mean, it seems to be very good with that or at least breaking it down and then a lightbulb moment happens and realise what is going on.
@samellington8804
@samellington8804 3 месяца назад
I'm working on an indie game rn, and have only been at this for the better part of a month, but this is exactly how I've been using chatgpt to supplement my knowledge. I never ask it to do something I don't already have a decent idea of how to do, and I never use its code directly, always typing it out fully myself and making sure I understand every line. It's been really helpful as a steering wheel, but it's my foot on the gas at the end of the day.
@PrerakArya
@PrerakArya 3 месяца назад
As a person who didn't write a single line of code, chatgpt has enabled me in understanding how code works and helps me communicate better with developers. I'm able to convey project requirements easily.
@petrus4
@petrus4 3 месяца назад
I've actually had GPT4 itself tell me, that I should not expect it to completely write whole programs for me from start to finish. Claude taught me what I needed to know about using stacks in Python, and from there I've gradually been developing my own stack based style. Claude gave me some hints, but the way I incorporated them has been my own. Claude actually has a very strong, implicit OOP bias, and was telling me that I would benefit from OOP. Claude will, however, still give me information about how to do things functionally or imperatively if I ask.
@_aullik
@_aullik 2 месяца назад
One tip i have about chat gpt is to end every query with "be concise". Gives you much shorter answers with less useless fluff. If you need a long explanation then, as you said, the knowledge gap is usually to large.
@jasonaltenburg
@jasonaltenburg 3 месяца назад
This is all well thought out and very well put, thanks for sharing this! I've been approaching the tools in much the same way, by trying to help bridge knowledge gaps, but then trying to backfill those gaps once I get closer to my goal. Sometimes it's hard to simply have the words to describe the issues I'm running into, and having that virtual conversation partner is a great way to get unstuck.
@JB-gv7pt
@JB-gv7pt 2 месяца назад
This is how I've always used it intuitively. I am in school right now, and whether working on assignments or personal projects, I would only refer to it for either hints (I tell it specifically not to give me the code), or just ask it to explain a concept to me. The idea of getting it to do all my work for me scares me in a way because I know I will come out the other end of it with phony knowledge and work.
@kanescott1300
@kanescott1300 3 месяца назад
As a junior dev trying to play catch up, its extremely helpful having a more powerful Google to answer most of my questions. It's also super fantastic at making lots of changes that would take me much longer by hand. For instance converting vue2 to vue3 syntax, although you still need to check everything it gives you in the end.
@skyler114
@skyler114 3 месяца назад
This is why its useful to tell ChatGPT a general idea of how to solve the problem more broadly
@Nathaivel
@Nathaivel 3 месяца назад
ChatGPT will create an immense amount of work for developers who know what they're doing, because people who don't will start building critical systems with no sense of the danger. A good time to be a consultant.
@Avighna
@Avighna 3 месяца назад
Great video: presents a very real problem that hsa the potential of being overlooked, and a concrete example along with it.
@mystixa
@mystixa 3 месяца назад
well thought out and presented. subscribed.
@Tiparium_NMF
@Tiparium_NMF 3 месяца назад
I use ChatGPT in my game development quite a lot. I agree with pretty much everything you say here. On the current project I'm working on, (a massive GPU accelerated particle system meant to operate as a cellular automata simulation) ChatGPT was invaluable in bridging the knowledge gap needed to begin writing effective shader code. It's also been extremely helpful with 3D math, which is a huge part of the sim, and something that doesn't come naturally to me. That said, I've definitely seen GPT's "just scrap everything and do this instead" attitude more than once.
@brabes76
@brabes76 3 месяца назад
I think this is totally accurate. I am definatly not knowledgeable at coding and i got some amazing results at different points tryingnout CHAT GPT at different stages of its development but those results were far and few and very inconsistant. There were some times where i knew enough to know that parts of the code sounded good but didn't make sense. And no matter how discriptive i was the suggestive code that was given to me was always plagued with errors. Now that i have waisted time i have to learn proper scripting concepts before trying to move forward with some projects.
@rashadfoux6927
@rashadfoux6927 3 месяца назад
Even as a beginner coder it didn't take me too long to realize that I could write more efficient code than it could. But like you said, great at helping solve specific problems or leading you to a solution.
@DA-fx2wl
@DA-fx2wl 3 месяца назад
Thank you for this. Finally an analysis that doubles with my own experience using chatgpt for coding and not one of the usual wide-eyed "it's better than 90% of programmers" pieces. I've tried using gpt 4 a few times for my own coding problems and came to the conclusion that in the time it takes me to give chat for enough context and debug it's code I could easily implement the code myself. And on problems where I was really stuck it did exactly what you described and suggested a seemingly plausible approach which then didn't work. Once it even made up C# methods that don't exist and assured me they would work. So yeah, it's good for basic stuff, especially if you are working with a new framework or language, but for anything more complicated it's like asking a lying coworker who doesn't know what you're working on for advice via teams without being able using screen sharing.
@EdeYOlorDSZs
@EdeYOlorDSZs 3 месяца назад
I agree completely! Im first year masters AI student and have BSc in ai where the focus was on computer science. At the start of my masters I promised myself to not integrate AI tools in my IDE. Now i mostly use it as an information retrieval tool to give suggestions for simple functions or to help debugging. Some of my peers with a different background deliver code that is a patchwork of CGPT outputs and are only able to explain the functionality of their code at a high level, i think many beginning coders will fall into the CGPT trap
@jcy089
@jcy089 3 месяца назад
I always reformat working solutions from Chat GPT into my own coding style and syntax, so I can ensure whatever code GPT generated works and stays consistent. Never just dump raw code from GPT and call it a day even if it works. Because you’ll come back in a few months and have no idea why or how that piece of code works.
@alfred0231
@alfred0231 3 месяца назад
I used ChatGPT/Bard to have it produce SIMD variation of my code. There is a sea of SSE instructions to comb through that LLM quickly showed me what I wanted. On the other hand I asked if it could multithread a bit of code. It almost worked, but in the end I just had abandon LLM and read the manual + stack overflow.
@Selendeki
@Selendeki 3 месяца назад
I experience what you describe here regularly and your lesson is extremely important for people to absorb. My rule is that when I feel like I'm trying to squeeze water from a stone with Chat-GPT I take a step back and re-evaluate what I'm trying to do. This is even more important when it's not concerning knowledge gaps, but a complete absence of knowledge if you're trying to do something you've never done before. We know that Chat-GPT can be extremely helpful when you know the specific problem you want to solve. But, when you yourself are clueless Chat-GPT will definitely mislead you and waste your time. My tip for everyone is to research first, try second, and then Chat-GPT when you are at least not entirely clueless.
@feitan8745
@feitan8745 3 месяца назад
ChatGPT is trully an assistant, i find myself yelling at it, and telling him how to do things, but sometimes it really does the job itself and surprises me. For experienced developers, it can be frustrating to just issue orders when you kinda know the outcome and it does the oposite. I think we are expecting too much of it, it's very good already, but, it's still has a long road ahead.
@llpolluxll
@llpolluxll 3 месяца назад
In my experience, ChatGPT can lead me down a rabbit hole sometimes where I wouldn't go otherwise but I learn a lot along the way. Even if my project ends up imploding, I understand a lot more by the end of it than when I started. I think the biggest power ChatGPT has is as a learning tool.
@4990UR05
@4990UR05 3 месяца назад
I have found that an additional use for ChatGPT is handling repetitive, arduous tasks. For example I would provide a list of things, do whatever needs to be done for the first and have it prepare the rest for me. That has saved me a lot of time, specially when refactoring old code.
@vrnvorona
@vrnvorona 3 месяца назад
Very real. I've seen people with large gaps use it but as they lack understanding it's basically blind trust in GPT, which doesn't end well. Most of the time good usage of GPT is either idea generation (getting unstuck) or simple stuff like refactoring simple code. Anything harder and it's pretty pointless.
@plummy_fox4990
@plummy_fox4990 3 месяца назад
I use co pilot to do small repetitive tasks, I have not used it to its full capability after 3 months of using it. I use ChatGPT like you said, for those small knowledge gaps and thats a fantastic way to put it. Very well said. It important to have a knowledge base because the code provided by ChatGPT, or even copilot, is not 'ready' to use but after a little tweaking it provides great starting points. Another thing is these AIs can only take small segments at a time and feeding them multiple scripts to modify at once hasn't proven itself useful yet. You still have to push the weight as the developer
@MonaCodeLisa
@MonaCodeLisa 3 месяца назад
@JoshuaMorony - you are one of the smartest developers I know 🙏 I am honestly so glad to hear you saying that, because my interactions and workflow with ChatGPT have been so similar. Probably not the same level of code but just things go exactly the same way... I have self doubt but eventually I just go with my own solution especially in the cases when it suggests pretty much re-writing the whole document just because this is the more "general" approach... But it does help with the little gaps and mostly - when ChatGPT suggest something, then this helps me and inspires me to find another 3rd, 4rth and maybe even 5th approach :)
@MrCaiobrz
@MrCaiobrz 2 месяца назад
I get what you are saying but your example might scare some people due to its complexity, so I will tell you my bummer experience with it. I have relying on 20+ year old code to handle dates with gregorian years, leap years, daylight savings and stuff, and decided it was time to update to a more up-to-date (it doesn't help the code was in old php 4.0). I knew how to do it, I had experience and could very well just sit down and do it, but you know ... time. So I thought hey, this should be simple and GPT can probably do it very easy. So I asked it to create functions for each specific date/time conversion needs and for a while, I was pretty satisfied with the answers, I understood them fully, so I didn't see why not use them. By the time I had 4 different functions almost totally written by GPT, things went haywire. Things started breaking and I couldn't figure why. So I started to debug each function and sure enough, there were a TON os exclusions, edge cases and non trivial events for which the function wouldn't work. For instance, I asked for a VERY BASIC FUNCTION to tell me how many days there were between two dates, easy right? I looked at the code and seemed ok ... except I missed that it was ignoring the YEAR, the year was in there, but the math would essentialy do something like Year - Year, so it was giving me the difference of two dates ignoring the year. Very stupid mistake. As I started showing this to Chat GPT and asking for a fix, it started bloating the function with very dumb over-the-top checks that were totally not needed: instead of using the years on the original math, it started creating conditions for when the years were different, higher or lower. And it kept getting worse as I found issues with leap years, even leap days (this year we had one), so I just tossed the whole thing in the garbage and did my own ... in 2 likes of code =x Moral of the story, it will do exactly what you asked, and since you didn't specify a huge list of conditions to look for, it will give you something that works only for the case you asked. It can't figure you want the full solution. All functions it made were wrong and I had to write myself, I ended up losing more time finding the bugs, scrapping the whole thing and writting my own (always faster and smaller than the ones proposed by GPT). Now I only use GPT to give me suggestions or as a substitute to reference about functions, but not to write code.
@stuvius
@stuvius 3 месяца назад
You really put it into words. Been the same journey for me
@dr.monotone3827
@dr.monotone3827 3 месяца назад
Yea I had a similar experience with this when I asked ChatGPT how it would approach solving what had been my capstone project at the time. To my surprise, it gave an incredibly detailed plan which mirrored my own teams plans quite closely. By this point we had already developed most of the project so this was merely to satisfy my own curiosity, but I wish I had done this sooner as it could have saved us weeks of planning and testing by pointing us in the right direction.
@muhamedkarajic
@muhamedkarajic 3 месяца назад
Great video, thanks for the insights.
@markoates9057
@markoates9057 3 месяца назад
Brilliant! You describe the main problem with AI code tools very well, I have the same experience.
@filipanicic771
@filipanicic771 3 месяца назад
Knowledge base is an apt description I use ChatGPT for. As a game/digi twin developer, using Unreal Engine is requires learning new parts of the engine every day, all of which is not possible to squeeze in to my little, squishy noggin. Questions would range from project specific real world domain knowledge, to questions on how to implement something small in C++, how to use or extend UE's API. Most of the work is still done by me, but getting some consise info on a topic and validating that info is a lot faster than getting that consise info myself. If it's a more complex and or niche 3D tech topic, I usually browse though a couple of articles, tutorials and talks (Siggraph, GDC and such) on the topic, then ask a specific question to ChatGPT on how would X works in UE or how to make Y with Z in mind in UE.
@AreyHawUstad
@AreyHawUstad 3 месяца назад
Great video! Thank you
@webkinskid
@webkinskid 3 месяца назад
I totally agree, I haven't used it to outright generate code and I don't want to--that would subtract from the artistry of the craft--but every time I can't think of a good way to do something or I'm not sure how something will behave, I just chat with my good buddy ChatGPT about it and immediately make headway. It's also good for the occasional optimization pass, maybe there's a better way to do something I hadn't considered, otherwise, my ego is definitely stroked when the AI says my code is already optimal. It's not a tool to write code for me, it's a tool to make me a better programmer. Bonus: after a long day of coding, you can pop over to the sous chef module and discuss your ideas for dinner, learning about the chemical processes of cooking has been fascinating!
@filipriecfilipriec3716
@filipriecfilipriec3716 3 месяца назад
I was not a programmer, but using linux for a long time. Learned emacs in 2 months, using django for fullstack basically solving things i had no clue about. It would take me 3 years what i did in like 6 months. I solve everything by chatgpt, many times it requires me to understand the problem to get it right, so i agree with you. On the other hand I had no knowledge as you did, but i keep on pushing chat to give me possibilities to solve it and many times it does ;) Great vid tho
Далее
How Senior Programmers ACTUALLY Write Code
13:37
Просмотров 1,3 млн
Projects Every Programmer Should Try
16:58
Просмотров 351 тыс.
Carbonara under PRESSURE @Lionfield
00:44
Просмотров 3,2 млн
Попили кофе 😁
00:11
Просмотров 12 тыс.
Never install locally
5:45
Просмотров 1,6 млн
Will AI Replace Human Developers Soon ?
5:03
You’re using ChatGPT wrong
9:31
Просмотров 318 тыс.
Has Generative AI Already Peaked? - Computerphile
12:48
The mindset you need for a DECLARATIVE code refactor
7:56
The purest coding style, where bugs are near impossible
10:25
Masterclass: AI-driven Development for Programmers
8:49
Top 6 Tools to Turn Code into Beautiful Diagrams
3:24
Просмотров 538 тыс.
Carbonara under PRESSURE @Lionfield
00:44
Просмотров 3,2 млн