5 ms·
Devon: An open-source pair programmer
- mholubowski 2y agoHi! Why does it work best with Python? Should I even bother if it’s for a non python project? (In this case, a WordPress plugin). Thank you!
- can16358p 2y agoYup. I was going to ask the same. If there was wide language support I'd love to try that, but as a non-Python programmer the use case is limited for me. However I might use it as in places where Python might actually be the best way to go for a script, yet I'd have picked another language as I don't know Python. Then I could simply ask it to create whatever I need, and read over the code to actually learn some Python perhaps.
- smokeydoe 2y agoIt looks like the reason is because it’s trying to run the code it generates
- fragmede 2y agoThere's just so much python code up on the web to train from, that LLMs are really good at it, relative to something with fewer examples. However, WordPress uses PHP, and there's also plenty of PHP available online, so it's pretty decent at that too. I just used Devon to create a trivial Wordpress plugin, so you can give it a shot, however because it won't be able to run that code, you can't tell it to test the code. This is a huge shortcoming. When asking ChatGPT to generate python code, it won't always get it right, but you can ask it to keep trying until the code works. since it can't do that in PHP, it'll be a bit more work. Though, depending on how well you're able to take the output and fix it yourself, it could be enough to get the plugin written. The value isn't in having everything done for you - the technology isn't there yet, imo. it's in making you more effective. If it generates a page of code and you have to tweak a bunch of it to get it to work right, you still come out ahead. For other work, it'll write a bunch of useless code and you're better off without it, so you have to know when to use it and when not to.
- serjester 2y agoWhy choose this name - seems like a cease and desist waiting to happen.
- 22c 2y agoAgreed. In fact, I thought this was an iteration on the previously announced "Devin" project until I realised that they have different spelling. https://www.cognition.ai/introducing-devin https://www.cognition.ai/introducing-devin
- asp_hornet 2y agoEspecially given all the negative sentiment in the developer community towards Devin. You would think they would want to distance themselves as much as possible
- CasperH2O 2y agoPerhaps because of the "dev in chat" meme reference? When (game) developers would show up in the public chat channel.
- ithkuil 2y agoI thought it was a county in England.
- xprn 2y agoMight “Theone” perhaps be a better one to use? Still stays somewhat true to the pronunciation of Devin, but with an emphasis on being The One that might actually work /s
- deleted 2y ago[deleted]
- realharo 2y agoThe demo video shows it making a game of life. People really should start using examples that don't have literally thousands of step by step tutorials all over the web. That includes clones of Wordle, Flappy Bird, generic todo lists, etc. With those, I can't tell how well the abilities would generalize to real world projects.
- dartos 2y ago> I can't tell how well the abilities would generalize to real world projects. The secret is that it doesn’t ;) I doubt our current statistics based AI methods ever will. Programming requires precision. Code is an exact specification for how a machine should operate. I don’t see how we can get perfectly precise responses from a nondeterministic process.
- VMG 2y agoLLMs are much more deterministic than humans
- realharo 2y agoWell, it's not like I'm just going to trust a comment like this either :) I would like to see it in action, and then I'll form an opinion.
- fragmede 2y agoMaybe if you're inventing a new compiler that hasn't existed before, but if all you're doing is yet another a CRUD app for a newly undiscovered niche, then it doesn't have to generalize beyond what already exists. The fact that it's nondeterministic is irrelevant, I can write the same function a bunch of different ways just by choosing different names for variables, does that stop the code from working?
- bakuninsbart 2y agoThe code assistance tools right now are still a bit crude compared to what they will be in a year or two even if capabilities do not increase. I think it will be very useful to have "someone" read along as I code and answer questions I ask, or pose questions on why I do things a certain way. Honestly, even if it is just stuff like "What would be a good variable name for this?" or "What was the map()-syntax like again?", this would already facilitate flow quite a bit. Not having to context switch as much is a real blessing, and I've only reached it in one language in specific contexts. If I can transfer this to many languages and many contexts, my productivity will rise a lot.
- lakomen 2y agoI can't imagine coding with someone else smartassing over what I do. Never tried it. Does anyone actually like pair programming?
- fragmede 2y agoSome love it, some hate it. If you work with a bunch of smart asses in a toxic culture and you can't actually stand your coworkers, I can see why you'd have such an instinctively negative reaction. But if there's a safe culture of mutual respect and you don't work with asshats it can result in greater productivity and fewer bugs and you'll learn things to help you be a better programmer. But also human psychology - if it's forced on you from above then you'll hate it, if it's your idea then you'll love it.
- lakomen 2y agoHmm. Thanks for feedback. Yeah I guess it all depends on the attitude and if you click. It could be fun if you get along well with your partner. But I have a thought and want to make it reality, so I focus on that idea, that thought in order to finish it. Then another voice enters that thought process. Back in the day I would write code and when I had a problem, I would chat up my online contacts on ICQ, and just by explaining the problem I would find a solution, the rubber duck method. However constantly having someone giving their opinion on things... I imagine that being super annoying, when you're in the process of shaping that feature you have laid out in your head.
- smarm52 2y agoUnclear about the details of this project. Is there an overview or paper related? Superficially it seems to be an interface for ChatGPT or other similar generative LLM service.
- bangaladore 2y agoWhy are they manually implementing API interfaces for various companies when something like OpenRouter exists? OpenRouter provides a unified API for Commercial and opensource models. Seems like the obvious answer for something like this.
- elicksaur 2y agoLots of reasons! - They may not know this library exists. - They may not think the library is actually suitable for their use case. - They may not want the dependency included.
- roh26it 2y agoOpenrouter packages APIs and most companies prefer having individual relationships with AI vendors. Choosing an AI gateway might be another way to go