UPDATE: I forgot a step in the install process. After cloning the repo and creating/activating the conda env, you have to install Aider by using “pip install aider-chat” or “pip install -r requirements.txt”
I followed these steps on Macbook (intel) and it worked -without cloning the repot (just by installing the aider pip): - conda install -n aidervenv python #note: you can replace aidervenv with any name youd like, but this will be aider virtual env for all projects. - conda activate aidervenv - pip install aider-chat - export OPENAI_API_KEY=your-key-goes-here [ i had it set before, so didnt need to do this step] - mkdir project1 - cd project1 - aider - From there, you can enter the prompt you want to execute. Example: make snaka game in python.
Matthew, I wanted to let you know that I, a complete n00b to programming managed to get this working, and have actually gone a few steps extra on the snake game you made and have something that’s actually a little fun to play… I can’t tell you how grateful I am to the work you are doing, thanks and keep it going! You’re gonna help a lot of people get through these crazy times :)
The Ctags part was the most interesting part of this, I had never heard of it. That would be a great subject of its own video and compare it to fine tunings and embeddings
Hi matthew. Thx for the amazing tutorial. I just got Aider running on my Windows OS after installing Universal Ctags@@matthew_berman. But the Aider upon initialization, would only say "Repo-map: using 1024 tokens". Could it be that Aider is still using Ctags but just did not explicitly say it or that it is no longer using the Ctags? From my experience, the Aider now keeps "asking for the folder structure and content of files exactly the way a chatGPT would" does that indicate the latter possibility? Thx again!
this is truly amazing in so many levels! thanks for sharing, once gpt 4 16k is released the power of this tool will be enourmous! I've been in the waitlist for a while, hoping to get access soon!
When we get proper AI coding and 3D modeling, I may get back into game dev. The worst part of game dev is the time wasted on thinking how to code something, coding it and having to fix tons of bugs. The second part is the graphics, you need lots of them and they can take a lot of time, AI art is going into the path of more control so there's not that many sacrifices on originality as before. The other aspects aren't as bad. Music? I would never replace it. Sound? Very fast to use and reusable. Design? The whole reason why you started being the most fun part.
Yeah, I tried learning game dev but it's just too damn much work especially when you're alone. I would love to create some 'games' that I can build myself to enjoy and spend some time. I don't need money, I just want to see my thoughts/ideas come to life.
@@0AThijs It feels like if you want to become a game dev you have to sacrifice your happiness. There are countless videos on CZcams about how to power through with midproject depression even though you started to be happy not sad. I actually did make a game and it took 1 year, by the end of it I just wanted it to be over. It was just a 3 level shmup with simple graphics. I still want my ideas to become reality but there's no way I'm returning to that.
Those are all the things that make coding fun 😀 Why even code if you just want some GUI to make generic games without the fine-tuned control that it takes to be truly original? You can't be a very good game developer unless you *like* to code, even when it's NOT game-related. Learn to love coding first. To be a game developer, you have to know how to be a *developer*.
@@hashtagrich I am a coder in a programming course. I assume you are talking from software coding experience and not game coding, game bug fixing is hell on Earth, and having to code AI for every enemy and the effect for every item escalates quickly.
@bazookaman1353 I worked as a professional game coder for a game console for a few years and it was great, but it is nearly impossible to make money making games these days. I love writing any kind of code though
I actually got bing chat to write snake, and change it to my liking. I did this by first giving me a list of things it needed to code, and then instructed it to execute the steps it gave me.
Feels like it's programming with extra steps. The effort you take to tell it what to do with many iterations could've been used on writing the code yourself.
as an FYI aider -- is likely pronounced "A-DAY" -- it's french and means "Help". The author is probably french and the assistant is meant to be a "help"
Super freaking amazing. Got it up and running on my windows machine and also installed ctags. I told it about a pretty complicated program I have always wanted to write and it wrote the main file so we could iterate on it to get all the features right. Can't wait to bang on this for a few days.
I came across the tool a week ago. Decided to try it out with a new project. Though I installed some frameworks first and allowed it to work with the existing project. In afew days I think I have done weeks of work.
@@EngineerAAJ right thanks ive been fiddling with it for a few hours. I have basically no experience with this stuff so every bit of info i got helped
I'm not sure that it doesn't just hallucinate the latest version though unless it is also using internet. It says latest "at the time of this writing" which sounds either hallucinated or best case taken directly from some random training sources.
Which one of these is the best? 1. Smol developer 2. GPT Engineer (his previous video in which he made the snake game with prompt) 3. Or this AI Assistant? Opinions would be appreciated :)
Pure speculation but I think it will really come down to this project or gpt-engineer. Smol had crazy potential but I don't see any true value add above engineer. I would say that engineer's true power come from the complex pre and post processing and tuning allowing you to truly reach the goal of having the project you are looking for. Right now, this assistant is just like magic. I want to say Aider hands down but I would have said the same thing as smol and then engineer and now im saying it about Aider. Everything is so early with these projects, things are changing literally every hour so it's really hard to tell. I'm leaning Aider because of "raw" power. However, I am not sleeping on engineer - I mean what they have done already with the "steps" you can take to fine-tune, if you will, who knows what they've got up their sleeves. Either way, the fact we're even having this conversation is amazing :)
@@alexcooperstone5530 Thanks for your reply. That was insightful. Btw what do you think, how will these technologies going to help total non-developers to in the process of creating applications and stuff.. Also, Aider is capable of making web and android apps as well as chrome extensions??
None of them, I would say a true KISS standard hasn't been set, even SuperAGI which has lots of neat plugins isn't user friendly. To truly make a mark, they need to be easy to log into or use offline like ChatGPT ==> but fully fledged agents that do exactly as instructed. None of these tools meet this standard so far, they are ALL cumbersome and rife with errors for new users. As you can see, many people who are posting videos like this are quite skilled with coding and even they face hurdles getting these things to work.
is there a way to give to aider a specification file with the description of what the project is trying to accomplish? Especially for really new projects that do something that no one else before ever did, it could help.
Great, I like your picks. I'm working on code generation feature on my open source project, but without the need to see the code. I think I'll benefit from aider project. Thanks.
To anyone that's wondering, this doesn't work well with larger projects. Some numbers from my C# project: 2000 lines of code is around 15k -> 16k tokens, GPT3.5 max tokens is 16k, GPT4 max tokens is 32k. Also after adding around 20 or so files into its context the aider command prompt gets incredibly slow and laggy. So as described in their documentation, aider really only works well if you add a few smaller files into the context. So in practice this is mostly just a convenience tool that saves you time from copy and pasting code chunks into chatgpt, with some autocomplete for your codebase's symbols
Have you attempted to /clear the chat? Yes, it will result in the loss of chat history, but it does enable you to begin typing as though initiating a fresh request. It might also be beneficial to begin constructing smaller files/classes because large files don't tend to function well with AI anyway. We can call this approach as creating AI-friendly code. 😅
I fear it'll be costly, in my tiny experiments its using thousands of tokens for each change. Your milage may vary, seemingly depending on ctags support for your programming language.
Exactly the comment I was looking for... .03-.12 cents/1k tokens can really add up if it needs all the context tokens + it uses those tokens anyway in its response. But great if you got the $$ lol
GPT-4 gives a good quick start, some skeleton code to fill in. It saves some research time, reading tutorials, watching videos and such. But it cannot replace real developer skills/experience (yet).
Yes, my experience as well. Most likely it is not using ctags as it should on your C# code, I had the same problem with Java. ctags seems to work fine but aider is not using it so chatGPT runs out of tokens big time and starts spitting out nonsense. Especially gpt3.5, gpt4.0 might be better but will still choke on large code bases. And break the bank.
Look what I have found: Model: Code Interpreter What version are you? I am an instance of OpenAl's GPT-3 model, specifically the chat model known as ChatGPT. The training data I was trained on includes information up until September 2021. Since the model itself does not have version numbers like software might, it's not possible to give a specific version number. Any updates or improvements made to the model since my training data cut-off wouldn't be reflected in my responses. Model: Plugins • Enabled plugins: What version are you? As an Al developed by OpenAl, I don't have a specific version number like software applications do. However, as of my last training data, I'm based on the GPT-3 model. Please note that my training data only includes information up until September 2021, and I may not have the most recent updates or information beyond that date. Model: GPT-4 What version are you? lam based on the GPT-4 architecture, which is an iteration of OpenAl's language model. The 4 Q information I am providing is accurate up to September 2021, which is when I last received an update in my training data. After this date, I can't provide real-time data or updates.
We won't really need lawyers and accountants then though. We'll need AI that can help us create such a state of abundance for everyone that will make laws and money obsolete.
It is costly. 0.35 USD for me and I did barely anything, few files, maybe 2000 lines of input code. Ans that's on gpt3.5, gpt4 should be many times more expensive.
Wow worked really well! Some glitches where sometimes instead of adding a change it only adds the change and deletes everything else. But I'm sure we're on the right path to have great ai tools to allow non programmers to make tools and software!
@@drwhitewash it's a valid point, but i beg to differ. Development is far less official and institutional than medicine. You have people with unrelated degrees or no degrees at all doing good development work. So, yeah, i see it affecting developers, Even if developers will get "boosted" - greedy companies will start downsizing many positions. Eventually AI's should become good enough so in best case scenario there are some jobs to babysit it, rubber stamping it's code into the code base.. Good luck to us all, I hope i'm an idiot and i'm wrong
@@a_mediocre_meerkat why I mentioned neuro surgeons is because to me all this "citizen developer" hype makes as much sense as a "citizen neuro surgeon". Both require high level of qualification and skills (institutionalization and rubber stamps are not important). What makes people think one skilled job can be done as a "hobby" besides something else, while another skilled job can't? The other thing is, that these AI generator examples almost always 1) use Python and 2) develop trivial stuff or stuff that can already be found on multiple blogs. But that's not what developers usually do in their real job.
@@drwhitewash well, i think that there is no "citizen developer" or "prompt engineer" - it's either the AI can be trusted blindly or not.. i fully agree about current state of things, i'm more worried of how this may evolve LLM's right now are not able to actually think and deduce logic, so they are not a threat I am really worried about them evolving, big tech companies are really invested in making advancements, so yeah, incrementally it might evolve into something that can take the most complex requirement and deduce what it needs to do (until then we will surely have employment value) To be fair, i think i just described AGI .. AGI scares me too, because it would crush the entire industry .. (and humanity too possibly ..idfk im not sarah connor)
Im in my project folder that contains loads of different project files. How do I get Aider to read them all? When I just run aider from the folder its as if its reading nothing.
Yeah I'm not trusting any AI that uses Apple products if I ever see a robot sitting in front of an Apple computer I'm going to personally kick its head off
There is no way this is better than Copilot if it is based on GPT4. To be frank GPT4's code sucks for anything beyond overly-demonstrated simple things like "make me a game of snake".
@@matthew_berman Don't get me wrong, I think GPT4 is good at doing some coding tasks. I often use it to write parsers and doing things of that sort. But I find that imposing nuanced business or algorithmic logic at it to be difficult. (It forgets things, it misunderstands requirements, etc.) Copilot's interface excels at weaving in code through hand-holding. Granted, I write code for a living, so guiding an AI this way feels quite natural. I find GPT4 to be great at introducing me to new coding topics or explanations.
This is absolutely stunning, however not sure if I am missing something but could not find actual aider installation 'pip install aider-chat' in the video, I have installed it from the git page. Thanks a lot!
Great! After my holiday, I will check how idiots-friendly it is. I have just a bit of an idea how to program, so it will have a hard time with me. 🤗 Thank you very much for your video!
Three things to note: In your tutorial I am missing installing the actual program (pip install -r requirements.txt with aider activated in the aider directory, then pip install aider-chat). Secondly, in my case I learned "API key does not support gpt-4, falling back to gpt-3.5-turbo-16k". Finally: I have a pretty coherent set of small classes in Java but at least gpt-3.5 fails utterly to do anything usefull with that due to number of tokens. /add on just one class still fails, when asked to add JavaDoc to a method it attemtped to delete all other code and then crashed because it could not commit. Anybody that has a working gpt-4 key, does this work with Java? I would love to hear! Update: I started a new, blank project. Using git in Linux failed, I was forced to remove the .git directory and work without it. I managed to create "Hello.java" after some try-and-error. It will even add printing the current date and time. Making it use a specific locale worked although at first it failed to add the proper imports. It could fix that itself though. I need to manually compile and run it seems (/run javac Hello.java, /run java Hello) but then it mostly works with this minuscule codebase. Hello.java> /tokens Approximate context window usage, in tokens: 271 system messages 1,690 chat history use /clear to clear 157 Hello.java use /drop to drop from chat ======== 2,118 tokens total 14,266 tokens remaining in context window 16,384 tokens max context window size However, the output starts to overprint and refer to earlier steps already. I guess we really need gpt-4.
To marry it with something like WizardCoder and it will be great tool for offline and private use. I don't like the idea of feeding all my sources to OpenAI
I would really like to see you do something slightly more ambitious than snake. Can you ask it to create a new game concept? I'm really interested to see it do something novel.
@@matthew_berman I totally get why you are using Snake for the general LLM evaluation, but since Snake is something you can find online and would clearly be part of the training data, it's one step removed from "creative coding". How about dating app for twitter profiles? That sounds weird and random enough.
Weird. I let it try to make a snake game for me, but it just crashes. even after multiple iterations of fixing bugs it keeps crashing. Not very useful so far...
PLEASE BE AWARE THIS CAN COST MONEY!!! I just checked my usage, just with my small tests today, I consumed 0.35 USD using gpt-3.5. So beware and keep an eye on that usage, especially with gpt-4 (if that works for you) and large code bases.
Excellent tutorial and library! I was able to get EVERYTHING working. Running a 2021 MBP w/ M1 chip, GPT 3.5 API key, and pasting into PyCharm. Aider completely exceeded expectations. Only challenge was the copy paste...Aider outputs the code with a '+' symbol at the start of each line of code. My time is now spent deleting those and fixing indents unless someone has a suggestion on how to fix that 😂
You are doing something wrong, not sure what. What you are seeing is a DIFF, that's the 'visual output', the + means "added", a - would mean "removed". However, the actual file should be changed for you already, there should be no need to do it by hand. To be exact, after the +/- display, it should say "Applied edit to ".
Im having an issue with it where its opening the past github repos I created with it and there doesnt seem to be an option for working with a new instance/git repo. Anyone know how to fix?
Hmm a) My Chat-GPT key seems to be not chat-gpt4 capable.. Model: gpt-3.5-turbo-16k (lame) b) I can't seem to get it to recognize my ctags.. I am running it in the directoiry where the tag file has been generated.. Repo-map: disabled
You can place your api key in an environment variable: * `export OPENAI_API_KEY=sk-...` on Linux or Mac * `setx OPENAI_API_KEY sk-...` in Windows PowerShell Or you can create a `.aider.conf.yml` file in your home directory. Put a line in it like this to specify your api key: ``` openai-api-key: sk-...
Is this still one of the best for refactoring? Upgrading to Odoo v17 for my ERP, but need to migrate a handful of custom apps. Paying someone is insane. It’s just stupid stuff I could do, but there’s enough I don’t have that kinda time to manually commit. Just silly stuff they should have, like define fiscal position (tax) per category. They have you do it by product. 🙄 That’s insanity! Created an app to handle it. If Aider isn’t the shiznit anymore, what would you recommend?
Yep everything is nice and cool and all that unfortunately OpenAI literally controls who gets to use it or not. I'm starting my month number 5 on GPT4 API access waitlist. Waiting and paying €25/month for the plus service that to some users gives two times more for the same amount of money.
@@Timotheeee1 There is a 25 messages / 3 hours limit on GPT-4 via ChatGPT, so not that useful for coding. Unless you want to have a 2.5 hours coffee break every 3 hours. But people do that anyway, I guess. :)
Hey just keep in mind you know how ChatGPT3.5 inserts comments like '{#yeah your code was here but no need to add it because there isn't a change} Well, to make a long story short, instead of editing my code, it only left behind comments and a single simple 'def'. Unfortunately, I forgot to save beforehand.
@@matthew_berman Oh, then another project that I will get frustrated over trying to change the code to work locally. Need more local models! And if I wasn't doing other stuff while listening to you I would have heard you say this at the beginning :( .
Is it possible to have an assistant like this or like GPT-Engineer that doesn't require an Open AI paid account? Especially because I am very afraid that my credit card could be charged with high costs without being able to control it.
UPDATE: I forgot a step in the install process. After cloning the repo and creating/activating the conda env, you have to install Aider by using “pip install aider-chat” or “pip install -r requirements.txt”
awesome video! do you have a solution for someone on windows10? I can't install brew to get the ctags... alternative ways to install?
😂we wait Till you Made a vscode Extension do Not worry
I seem to have missed the part about how aider becomes a binary on the path. Is this something that happens on the Mac that I'm not aware of?
on windos how to install ctags shuod it be installed is the same (-env)or sheud I install crome cmd?
I followed these steps on Macbook (intel) and it worked -without cloning the repot (just by installing the aider pip):
- conda install -n aidervenv python #note: you can replace aidervenv with any name youd like, but this will be aider virtual env for all projects.
- conda activate aidervenv
- pip install aider-chat
- export OPENAI_API_KEY=your-key-goes-here [ i had it set before, so didnt need to do this step]
- mkdir project1
- cd project1
- aider
- From there, you can enter the prompt you want to execute. Example: make snaka game in python.
Matthew, I wanted to let you know that I, a complete n00b to programming managed to get this working, and have actually gone a few steps extra on the snake game you made and have something that’s actually a little fun to play…
I can’t tell you how grateful I am to the work you are doing, thanks and keep it going! You’re gonna help a lot of people get through these crazy times :)
What's even crazier is that this is all free and open source (minus the OpenAI). Solopreneurship is the future!
The Ctags part was the most interesting part of this, I had never heard of it. That would be a great subject of its own video and compare it to fine tunings and embeddings
Agreed!
Hi matthew. Thx for the amazing tutorial. I just got Aider running on my Windows OS after installing Universal Ctags@@matthew_berman. But the Aider upon initialization, would only say "Repo-map: using 1024 tokens". Could it be that Aider is still using Ctags but just did not explicitly say it or that it is no longer using the Ctags? From my experience, the Aider now keeps "asking for the folder structure and content of files exactly the way a chatGPT would" does that indicate the latter possibility? Thx again!
Very exciting to help me finish some long standing "want to do" projects
Enjoy!
Very exiting. Will help me be unemployed and die pennyless
this is truly amazing in so many levels! thanks for sharing, once gpt 4 16k is released the power of this tool will be enourmous! I've been in the waitlist for a while, hoping to get access soon!
Agreed and thank you!
When we get proper AI coding and 3D modeling, I may get back into game dev.
The worst part of game dev is the time wasted on thinking how to code something, coding it and having to fix tons of bugs.
The second part is the graphics, you need lots of them and they can take a lot of time, AI art is going into the path of more control so there's not that many sacrifices on originality as before.
The other aspects aren't as bad. Music? I would never replace it. Sound? Very fast to use and reusable. Design? The whole reason why you started being the most fun part.
Yeah, I tried learning game dev but it's just too damn much work especially when you're alone.
I would love to create some 'games' that I can build myself to enjoy and spend some time.
I don't need money, I just want to see my thoughts/ideas come to life.
@@0AThijs It feels like if you want to become a game dev you have to sacrifice your happiness.
There are countless videos on CZcams about how to power through with midproject depression even though you started to be happy not sad.
I actually did make a game and it took 1 year, by the end of it I just wanted it to be over. It was just a 3 level shmup with simple graphics. I still want my ideas to become reality but there's no way I'm returning to that.
Those are all the things that make coding fun 😀 Why even code if you just want some GUI to make generic games without the fine-tuned control that it takes to be truly original? You can't be a very good game developer unless you *like* to code, even when it's NOT game-related. Learn to love coding first. To be a game developer, you have to know how to be a *developer*.
@@hashtagrich I am a coder in a programming course.
I assume you are talking from software coding experience and not game coding, game bug fixing is hell on Earth, and having to code AI for every enemy and the effect for every item escalates quickly.
@bazookaman1353 I worked as a professional game coder for a game console for a few years and it was great, but it is nearly impossible to make money making games these days. I love writing any kind of code though
I actually got bing chat to write snake, and change it to my liking. I did this by first giving me a list of things it needed to code, and then instructed it to execute the steps it gave me.
I'll have to check this out, it looks interesting. Thanks for the info man!
You got it
Feels like it's programming with extra steps. The effort you take to tell it what to do with many iterations could've been used on writing the code yourself.
as an FYI aider -- is likely pronounced "A-DAY" -- it's french and means "Help". The author is probably french and the assistant is meant to be a "help"
Super freaking amazing. Got it up and running on my windows machine and also installed ctags. I told it about a pretty complicated program I have always wanted to write and it wrote the main file so we could iterate on it to get all the features right. Can't wait to bang on this for a few days.
this video is EPIC. how do you install ctags on windows? i'm using miniconda.
Ye I'd like to know too
Yes..I'd like to know too, thanks..
Dude, thank you for finding these projects, that's amazing! Love your channel. 💪
I came across the tool a week ago. Decided to try it out with a new project. Though I installed some frameworks first and allowed it to work with the existing project. In afew days I think I have done weeks of work.
Thank you for keeping us up to date with AI. You are awesome.
For those on windows 11, at least for me, instead of export use set
jesus christ thank you. got depressed when got error
@@QuantumDynamics seens like it can be different if you run on cmd or powershell as well :P
@@EngineerAAJ right thanks ive been fiddling with it for a few hours. I have basically no experience with this stuff so every bit of info i got helped
This sounds amazing, I can't wait to try it out!
Hope you enjoy it!
I'm not sure that it doesn't just hallucinate the latest version though unless it is also using internet. It says latest "at the time of this writing" which sounds either hallucinated or best case taken directly from some random training sources.
Which one of these is the best?
1. Smol developer
2. GPT Engineer (his previous video in which he made the snake game with prompt)
3. Or this AI Assistant?
Opinions would be appreciated :)
Pure speculation but I think it will really come down to this project or gpt-engineer. Smol had crazy potential but I don't see any true value add above engineer.
I would say that engineer's true power come from the complex pre and post processing and tuning allowing you to truly reach the goal of having the project you are looking for. Right now, this assistant is just like magic. I want to say Aider hands down but I would have said the same thing as smol and then engineer and now im saying it about Aider. Everything is so early with these projects, things are changing literally every hour so it's really hard to tell.
I'm leaning Aider because of "raw" power. However, I am not sleeping on engineer - I mean what they have done already with the "steps" you can take to fine-tune, if you will, who knows what they've got up their sleeves. Either way, the fact we're even having this conversation is amazing :)
@@alexcooperstone5530 Thanks for your reply. That was insightful. Btw what do you think, how will these technologies going to help total non-developers to in the process of creating applications and stuff..
Also, Aider is capable of making web and android apps as well as chrome extensions??
None of them, I would say a true KISS standard hasn't been set, even SuperAGI which has lots of neat plugins isn't user friendly. To truly make a mark, they need to be easy to log into or use offline like ChatGPT ==> but fully fledged agents that do exactly as instructed. None of these tools meet this standard so far, they are ALL cumbersome and rife with errors for new users. As you can see, many people who are posting videos like this are quite skilled with coding and even they face hurdles getting these things to work.
Very good summary of this new technology. Thanks for sharing.
is there a way to give to aider a specification file with the description of what the project is trying to accomplish? Especially for really new projects that do something that no one else before ever did, it could help.
Great, I like your picks.
I'm working on code generation feature on my open source project, but without the need to see the code.
I think I'll benefit from aider project. Thanks.
You just gained a new subscriber. Always go straight to the point 😊
To anyone that's wondering, this doesn't work well with larger projects. Some numbers from my C# project:
2000 lines of code is around 15k -> 16k tokens, GPT3.5 max tokens is 16k, GPT4 max tokens is 32k.
Also after adding around 20 or so files into its context the aider command prompt gets incredibly slow and laggy.
So as described in their documentation, aider really only works well if you add a few smaller files into the context. So in practice this is mostly just a convenience tool that saves you time from copy and pasting code chunks into chatgpt, with some autocomplete for your codebase's symbols
Have you attempted to /clear the chat?
Yes, it will result in the loss of chat history, but it does enable you to begin typing as though initiating a fresh request.
It might also be beneficial to begin constructing smaller files/classes because large files don't tend to function well with AI anyway.
We can call this approach as creating AI-friendly code. 😅
That looks perfect. Like you said, using gpt4 on your coding projects. Is there a way to find out how much your usage is costing from aider ?
I fear it'll be costly, in my tiny experiments its using thousands of tokens for each change. Your milage may vary, seemingly depending on ctags support for your programming language.
Look at your bill at end of month :D
@@ViktorFerenczi That's a bit too late for me
Good question I’m not sure actually
Exactly the comment I was looking for... .03-.12 cents/1k tokens can really add up if it needs all the context tokens + it uses those tokens anyway in its response. But great if you got the $$ lol
I haved fatal experience with Visual Studio 2022 and my C# project and with GPT-4. I have too much bugs and misunderstandings.
GPT-4 gives a good quick start, some skeleton code to fill in. It saves some research time, reading tutorials, watching videos and such. But it cannot replace real developer skills/experience (yet).
Yes, my experience as well. Most likely it is not using ctags as it should on your C# code, I had the same problem with Java. ctags seems to work fine but aider is not using it so chatGPT runs out of tokens big time and starts spitting out nonsense. Especially gpt3.5, gpt4.0 might be better but will still choke on large code bases. And break the bank.
Thank you for introducing me to this project.
Look what I have found:
Model: Code Interpreter
What version are you?
I am an instance of OpenAl's GPT-3 model, specifically the chat model known as ChatGPT.
The training data I was trained on includes information up until September 2021. Since the model itself does not have version numbers like software might, it's not possible to give a specific version number. Any updates or improvements made to the model since my training data cut-off wouldn't be reflected in my responses.
Model: Plugins • Enabled plugins:
What version are you?
As an Al developed by OpenAl, I don't have a specific version number like software applications do. However, as of my last training data, I'm based on the GPT-3 model. Please note that my training data only includes information up until September 2021, and I may not have the most recent updates or information beyond that date.
Model: GPT-4
What version are you?
lam based on the GPT-4 architecture, which is an iteration of OpenAl's language model. The 4 Q information I am providing is accurate up to September 2021, which is when I last received an update in my training data. After this date, I can't provide real-time data or updates.
Finally!! Thanks for making the video ❤
This is unreal. Thanks for the video!
I really wish that the first expert AI that they built wasn't a coder bot, but instead a lawyer or an accountant.
We won't really need lawyers and accountants then though. We'll need AI that can help us create such a state of abundance for everyone that will make laws and money obsolete.
Thanks for the tutorial! Which one do you think it's better in your opinion currently? SMOL or GPT-Engineer?
This is best given its use of universal c tags to allow for iterating on existing codebases
Great review of incredible software. Thank you for the consistent content.
Bro, You the man. Thanx for gathering all that info. help me out allot
This is really good, havent tried out the complex project feature but so far very promising.
As always a great video, good to follow along and very interesting! :)
How many API calls does aider do? I would love if you could list the costs incured by your commands in the videos!
It would need to load up all your repo codebase and feed it through the API's, so not cheap! So load only what you work on now, and save.
It is costly. 0.35 USD for me and I did barely anything, few files, maybe 2000 lines of input code. Ans that's on gpt3.5, gpt4 should be many times more expensive.
@@WalterStroebel thanks!
Thank you very much. Iterating on existing projet is key!!
Wow worked really well! Some glitches where sometimes instead of adding a change it only adds the change and deletes everything else. But I'm sure we're on the right path to have great ai tools to allow non programmers to make tools and software!
.. and programmers go live on welfare
@@a_mediocre_meerkatnot before we enable non doctors to perform neuro surgeries :)
@@drwhitewash it's a valid point, but i beg to differ.
Development is far less official and institutional than medicine. You have people with unrelated degrees or no degrees at all doing good development work.
So, yeah, i see it affecting developers,
Even if developers will get "boosted" - greedy companies will start downsizing many positions.
Eventually AI's should become good enough so in best case scenario there are some jobs to babysit it, rubber stamping it's code into the code base..
Good luck to us all, I hope i'm an idiot and i'm wrong
@@a_mediocre_meerkat why I mentioned neuro surgeons is because to me all this "citizen developer" hype makes as much sense as a "citizen neuro surgeon".
Both require high level of qualification and skills (institutionalization and rubber stamps are not important). What makes people think one skilled job can be done as a "hobby" besides something else, while another skilled job can't?
The other thing is, that these AI generator examples almost always 1) use Python and 2) develop trivial stuff or stuff that can already be found on multiple blogs.
But that's not what developers usually do in their real job.
@@drwhitewash well,
i think that there is no "citizen developer" or "prompt engineer" - it's either the AI can be trusted blindly or not..
i fully agree about current state of things, i'm more worried of how this may evolve
LLM's right now are not able to actually think and deduce logic, so they are not a threat
I am really worried about them evolving, big tech companies are really invested in making advancements, so yeah, incrementally it might evolve into something that can take the most complex requirement and deduce what it needs to do (until then we will surely have employment value)
To be fair, i think i just described AGI .. AGI scares me too, because it would crush the entire industry .. (and humanity too possibly ..idfk im not sarah connor)
You can probably connect Aider to LM Studios API and run everything local
Wish there was a GIST for this.
I made the game tetris with this man! wow this is really cool!
You gotta try some new examples but this seems somewhat promising with making less mistakes
Instead of snake you mean?
This is awesome. Can't wait for it to integrate open source models.
Im in my project folder that contains loads of different project files. How do I get Aider to read them all? When I just run aider from the folder its as if its reading nothing.
Will gpt4 key produce better results than gpt3.5 key?
Yes
Yeah I'm not trusting any AI that uses Apple products if I ever see a robot sitting in front of an Apple computer I'm going to personally kick its head off
I’m an AI with an apple computer though :(
@@matthew_bermanlmfaoo repent!
Lol..do you have your API key exposed? 😅 - time to create a new one my friend! Great tutorial as usual.
He always creates new ones 👍🏽
Yep, I always rotate the keys before publishing :)
Thank you. It's a great tutorial
There is no way this is better than Copilot if it is based on GPT4. To be frank GPT4's code sucks for anything beyond overly-demonstrated simple things like "make me a game of snake".
I disagree. GPT4 helps me on so many of my coding projects.
GPT-4 is good, it is just not generally available. Nobody has an API key for that except of a select few. Life is unfair...
@@matthew_berman Don't get me wrong, I think GPT4 is good at doing some coding tasks. I often use it to write parsers and doing things of that sort. But I find that imposing nuanced business or algorithmic logic at it to be difficult. (It forgets things, it misunderstands requirements, etc.) Copilot's interface excels at weaving in code through hand-holding. Granted, I write code for a living, so guiding an AI this way feels quite natural. I find GPT4 to be great at introducing me to new coding topics or explanations.
great video as always
I appreciate that
This is absolutely stunning, however not sure if I am missing something but could not find actual aider installation 'pip install aider-chat' in the video, I have installed it from the git page. Thanks a lot!
Probably in the readme?
Great! After my holiday, I will check how idiots-friendly it is. I have just a bit of an idea how to program, so it will have a hard time with me. 🤗
Thank you very much for your video!
It is not a proud moment, proud moment is when there is no one sleep hungry in the country
Just what I've been waiting for!!
I hope a webui will be available to those of us who can't setup locally due to hardware limitations.
??
What hardware limitations do you have?
Lack of internet? Lack of computer? It uses OpenAI GPT models, it doesn't run inference on a edge = no specific hardware requirements
@@matthew_bermanUnfortunately I am still operating on a 32bit Win7 os with 2GB ram.
Do a video on how to set up ctags? I tried installing it but I can't set the Repo-map coming on.
For some reason it shows there is not Universal-ctags directory when i use "winget install universal-ctags" please help.
It's soo good to get rid of our jobs. I'm so pumped!
Three things to note: In your tutorial I am missing installing the actual program (pip install -r requirements.txt with aider activated in the aider directory, then pip install aider-chat).
Secondly, in my case I learned "API key does not support gpt-4, falling back to gpt-3.5-turbo-16k". Finally: I have a pretty coherent set of small classes in Java but at least gpt-3.5 fails utterly to do anything usefull with that due to number of tokens. /add on just one class still fails, when asked to add JavaDoc to a method it attemtped to delete all other code and then crashed because it could not commit. Anybody that has a working gpt-4 key, does this work with Java? I would love to hear!
Update: I started a new, blank project. Using git in Linux failed, I was forced to remove the .git directory and work without it. I managed to create "Hello.java" after some try-and-error. It will even add printing the current date and time. Making it use a specific locale worked although at first it failed to add the proper imports. It could fix that itself though. I need to manually compile and run it seems (/run javac Hello.java, /run java Hello) but then it mostly works with this minuscule codebase.
Hello.java> /tokens
Approximate context window usage, in tokens:
271 system messages
1,690 chat history use /clear to clear
157 Hello.java use /drop to drop from chat
========
2,118 tokens total
14,266 tokens remaining in context window
16,384 tokens max context window size
However, the output starts to overprint and refer to earlier steps already. I guess we really need gpt-4.
Did I forgot to include pip install requirements.txt? I'm pretty sure I talked about it.
Did you verify c tags are working?
@@matthew_berman You did forget. It's not included in the video.
@@matt1988ishdarn..I updated my description and left a comment. Thanks for pointing it out.
@@matthew_berman If you are going to edit this video, I will wait to follow the step by step from the new edit. My limitations.
ok this appears to be exactly what i need but i get an error on the key part. is says there is no such command for export
To marry it with something like WizardCoder and it will be great tool for offline and private use. I don't like the idea of feeding all my sources to OpenAI
This is quite cool, actually.
I would really like to see you do something slightly more ambitious than snake. Can you ask it to create a new game concept? I'm really interested to see it do something novel.
Snake is just obvious and well understood. I could ask it to make a web app of some sort.
@@matthew_berman I totally get why you are using Snake for the general LLM evaluation, but since Snake is something you can find online and would clearly be part of the training data, it's one step removed from "creative coding".
How about dating app for twitter profiles? That sounds weird and random enough.
Awesome !! Thanks 👌🏻
yeah baby, back to MSDOS codding ...
Old school!
Weird. I let it try to make a snake game for me, but it just crashes. even after multiple iterations of fixing bugs it keeps crashing. Not very useful so far...
Pro tip your right face looks like you applied coal .. fix lighting
Check out my newer videos, I think I fixed the lighting. Let me know.
PLEASE BE AWARE THIS CAN COST MONEY!!!
I just checked my usage, just with my small tests today, I consumed 0.35 USD using gpt-3.5. So beware and keep an eye on that usage, especially with gpt-4 (if that works for you) and large code bases.
Use it only for work which pays for it. But hey, you cannot. You have a contract or an NDA. So you cannot. :(
Excellent tutorial and library! I was able to get EVERYTHING working. Running a 2021 MBP w/ M1 chip, GPT 3.5 API key, and pasting into PyCharm. Aider completely exceeded expectations. Only challenge was the copy paste...Aider outputs the code with a '+' symbol at the start of each line of code. My time is now spent deleting those and fixing indents unless someone has a suggestion on how to fix that 😂
You are doing something wrong, not sure what. What you are seeing is a DIFF, that's the 'visual output', the + means "added", a - would mean "removed". However, the actual file should be changed for you already, there should be no need to do it by hand. To be exact, after the +/- display, it should say "Applied edit to ".
@@WalterStroebel Thanks! I’ll give that a review and see what happens!!
"compressed codebase" iirc you talked about that in the previous interview
so which cool things have been made with this ?
can you not open existing projects without GPT-4?
Im having an issue with it where its opening the past github repos I created with it and there doesnt seem to be an option for working with a new instance/git repo. Anyone know how to fix?
Hmm
a) My Chat-GPT key seems to be not chat-gpt4 capable.. Model: gpt-3.5-turbo-16k (lame) b) I can't seem to get it to recognize my ctags.. I am running it in the directoiry where the tag file has been generated.. Repo-map: disabled
But if we use Claude 2 we have 100k context length so do we really need Ctags in the future?
@2:36 - what if we were on a a windows computer?
Great video, thanks, I'm finding your channel very useful. Do you know of any project / model, that would help me test a website?
Test in what way?
Hey, I got stuck at export, it says it's not a command, am I missing something?
Thank you for this. Can you do a windows install of this as well please?
Export for the OpenAI API key doesn't work, where do I put it in manually?
You can place your api key in an environment variable:
* `export OPENAI_API_KEY=sk-...` on Linux or Mac
* `setx OPENAI_API_KEY sk-...` in Windows PowerShell
Or you can create a `.aider.conf.yml` file in your home directory.
Put a line in it like this to specify your api key:
```
openai-api-key: sk-...
wow, you made snake game. google is waiting for you
Do you still think this is the best one?
This gpt4 waitlist is getting on my nerves. 😭
Thank you.
What if I modify the file manually? does it mess with it if it was open and I want to iterate after the manual change?
Sounds interesting. What languages is it good for? I mainly use C++ and C#.
You are the man 🫡🫡🫡
Hey what about windows users?? we dont have brew... :(
Can you use it for Flutter or React?
Your the best!!!
thanks!
Is this still one of the best for refactoring? Upgrading to Odoo v17 for my ERP, but need to migrate a handful of custom apps. Paying someone is insane. It’s just stupid stuff I could do, but there’s enough I don’t have that kinda time to manually commit. Just silly stuff they should have, like define fiscal position (tax) per category. They have you do it by product. 🙄 That’s insanity! Created an app to handle it. If Aider isn’t the shiznit anymore, what would you recommend?
I cant use this at work. Needs to work with local models.
i tried it, it says my api key does not support gpt4... any idea
does anyone know how to have aider run on other versions of GPT 4 (for example 4-0314)?
Yep everything is nice and cool and all that unfortunately OpenAI literally controls who gets to use it or not. I'm starting my month number 5 on GPT4 API access waitlist.
Waiting and paying €25/month for the plus service that to some users gives two times more for the same amount of money.
you could probably modify aider so that it puts the prompt in your clipboard, then paste it yourself in the chat and copy the output
@@Timotheeee1 There is a 25 messages / 3 hours limit on GPT-4 via ChatGPT, so not that useful for coding. Unless you want to have a 2.5 hours coffee break every 3 hours. But people do that anyway, I guess. :)
Hey just keep in mind you know how ChatGPT3.5 inserts comments like '{#yeah your code was here but no need to add it because there isn't a change} Well, to make a long story short, instead of editing my code, it only left behind comments and a single simple 'def'. Unfortunately, I forgot to save beforehand.
Where can i find the button for Ctags
Same type of experience here. Fortunately I was running on a copy of some existing code ;)
Can this be used for converting between two programming languages
For future videos can you have these ai models make something more complicated like tetris or something
Well, I have close to 3 Tb of models so far, what another few gb's?
This uses ChatGPT so no need to download a model.
@@matthew_berman Oh, then another project that I will get frustrated over trying to change the code to work locally. Need more local models! And if I wasn't doing other stuff while listening to you I would have heard you say this at the beginning :( .
Is it possible to have an assistant like this or like GPT-Engineer that doesn't require an Open AI paid account? Especially because I am very afraid that my credit card could be charged with high costs without being able to control it.
Ain't seen nothing yet... This is only the beginning.