13 ms·
Show HN: We are building an open-source IDE powered by AI
- Etheryte 4y agoWhile you mention that you can bring your own model, prompt, etc, the current main use case seems to be integrating with OpenAI. How, if at all, do you plan to address the current shortcoming that the code generated by it often doesn't work at all without numerous revisions?
- anonzzzies 4y ago> it often doesn't work at all without numerous revisions? It doesn’t so for many/most humans either. I hope they have a revisions prompting, but I did not try it yet. I noticed adding in a feedback/review loop often fixes it, but the you still need someone saying ‘this is it’ as it doesn’t know the cut off point.
- deleted 4y ago[deleted]
- ValentaTomas 4y agoRevisions prompting is not there yet but it is one of things that we are experimenting with. The feedback/review loop is spot on - a lot of the problems can be fixed automatically in a few steps but you actually need the outputs/errors.
- anonzzzies 4y agoI made one that tries to get to the end code by having 3.5 and 4 play different roles and correcting eachother. Sometimes it works, mostly it loops being unable to get to the end.
- Etheryte 4y agoI think there's a big gap here you might be missing. Most developers beyond juniors can generally write code that at least compiles on the first pass, even if it isn't functionally correct. Current AI models often generate code that doesn't even compile.
- nico 4y ago> Most developers beyond juniors can generally write code that at least compiles on the first pass, even if it isn't functionally correct. Hahaha. I’ve been coding for over 20 years and this is definitely not the case. > Current AI models often generate code that doesn't even compile. Most of the code ChatGPT has given me, has run/compiled on the first try. And it’s been a lot longer and complex than what I would have written on a first pass. Let’s just learn to use these tools instead of trying to justify human superiority.
- all2 4y agoI've found with my own projects that the AI allows me to focus on the interesting stuff. I was porting some quant work from a Jupyter notebook into a flask app, and the AI is quite handy at providing boilerplate for stuff that isn't relevant to what I want to work on. I need a site that can display charts for a given analysis of an indicator, and ChatGPT handled that for me quite handily.
- anonzzzies 4y ago> Most developers beyond juniors can generally write code that at least compiles on the first pass, Aha. Maybe you know super clever people or people who learned in the 60-80s when cycles (and reboots etc) mattered or were costly; this is incredibly far from the norm now.
- sebzim4500 4y agoIs that a problem though? In this IDE the LLM sees the error message and tries to fix it, possibly while the developer who wrote the prompt is off doing something else.
- mlejva 4y agoGood point and feedback, thank you. We'll update readme. A lot of UX, UI, DX work related to LLMs is completely new. We ourselves have a lot of new realizations. > While you mention that you can bring your own model, prompt, etc, the current main use case seems to be integrating with OpenAI You're right. This is because we started with OpenAI and to be fair it's easiest to use from the DX point of view. We want to make it more open very soon. We probably need more user feedback to learn what would be the best way how this integration should look like. > How, if at all, do you plan to address the current shortcoming that the code generated by it often doesn't work at all without numerous revisions? The AI agents work in a self-repairing loop. For example they write code, get back type errors or a stack trace and then try to fix the code. This works pretty well and often a bigger problem is short context window. We don't think this will replace developers, rather we need to figure out the right feedback loop between the developer and these AI agents. So we expect that developers most likely will edit some code.
- mlejva 4y agoHey everyone, I quite frankly really didn't expect our project getting on HN front page in 2 minutes after posting. I'm one of the creators of this project. It's pretty nascent and a lot of work needs to be done so bear with us please. I'm traveling in 30 minutes but I'm happy to answer your questions. A little about my co-founder and myself: We've been building devtools for years now. We're really passionate about the field. The most recent thing we built is https://usedevbook.com https://usedevbook.com. The goal was to build a simple framework/UI for companies to demo their APIs. Something like https://gradio.app https://gradio.app but for API companies. It's been used for example by Prisma - we helped them build their playground with it - https://playground.prisma.io/ https://playground.prisma.io/ Our new project - e2b - is using some of the technology we built for Devbook in the past. Specifically the secure sandbox environments where the AI agents run are our custom Firecracker VMs that we run on Nomad. If you want to follow the progress you can do follow the repo on GH or you can follow my co-founder, me, and the project on Twitter: - https://twitter.com/e2b_dev https://twitter.com/e2b_dev - https://twitter.com/t_valenta https://twitter.com/t_valenta - https://twitter.com/mlejva https://twitter.com/mlejva And we have a community Discord server - https://discord.gg/U7KEcGErtQ https://discord.gg/U7KEcGErtQ
- peteradio 4y agoMaybe this is a bit naive but is this AI batteries included? Or what level of work needs to be done to integrate with an AI?
- ValentaTomas 4y agoRight now you just need the GPT-4 API key to run it but we plan to support custom models in the future.
- philote 4y agoWhat type of information is sent to GPT-4? This could be a security concern for some.
- 4y ago
- Thiebaut 4y agoIt’s a very interesting idea, i haven’t tested the app, maybe integration with vscode ?
- nico 4y agoDefinitely would be great to use it directly in vscode
- mlejva 4y agoI don't think the integration with vscode would work well here. We're ditching a lot of existing workflows for a completely new interaction between the developer and the agent. It's not like copilot at all. E2b is more like having a virtual developer at your disposal 24/7. You write a technical spec and e2b codes builds the app for you
- celeritascelery 4y agoThis looks quite interesting. So I have question for these AI powered editors: what advantage would a dedicated editor like this have over just using an AI plugin for VsCode? How do you fundamentally build the editor differently if you are thinking about AI from the ground up?
- rco8786 4y ago> How do you fundamentally build the editor differently if you are thinking about AI from the ground up? Great question. I would love to hear the devs thoughts here. This is one of those questions where my intuition tells me there may be a really great "first principles" type of answer, but I don't know it myself.
- prepend 4y agoI suspect that if the goal is to make money, you want your own ide and don’t want to rely on vscode.
- swyx 4y agoi mean the obvious answer is just being able to do things that the VS Code extension api does not let you do. per the end of the readme: - one step to go from a spec to writing code, run code, debugging itself, install packages, and deploying the code - creates "ephemeral UI" on demand
- Haga 4y ago[dead]
- ValentaTomas 4y agoIn essence when working with code stops being the major thing you do (you abstract that away) and start managing the agents working on code and writing the spec, you need new tools and working environment to support that.
- Swizec 4y ago> and start managing the agents working on code ... you need new tools Jira? Only slightly joking. It really sounds like we're moving in the direction of engineers being a more precise technical version of a PM, but then engineers could just learn to speak business and we don't need PMs.
- la64710 4y agoAll these tools starts with grand proclamation of “open” and then the first thing you notice is the field to add your OPENAI_KEY. My humble suggestion is that if you are building something truly open please use some other models like LLAMA or BERT as default example and keep options for adding other models as needed.
- mlejva 4y agoHey, thank you for the feedback. I understand that having a requirement for OpenAI key isn’t good for folks. The project is 4 weeks old and OpenAI is what we started with as a LLM. We want to create interface for people to bring and connect their own models though. We will do a better work of explaining this in our readme
- anonzzzies 4y agoI wouldn’t worry too much about it; there will be more and more models and fine-tuning services and fine-tuned downloads. Different models to mix and match.
- la64710 4y agoThanks as you might imagine in many scenarios, lock in to any particular hosted model is not desirable.
- bgirard 4y agoIs there examples / case studies of more complex apps being built by LLMs? I've seen some interesting examples but they were all small and simple examples. I'd love to see more case studies of how well these tools perform in more complex scenarios. My gut feeling is we're still a few LLMs generations away from this being really usable but I'd love to hear how the authors are thinking about this.
- ryanSrich 4y agoCan you give an example of complex? I’ve used ChatGPT to help me build an app that authenticates a user using Oauth. That information creates a user in the backend (Rails). That user can then import issues tagged with specific information from a 3rd party task management tool (Linear). The title for these issues are then listed in the UI. From there, the user can create automatic release notes from those issues. They can provide a release version, description, tone, audience, etc. All of that (issues list, version, tone, etc) is then formulated into a GPT prompt. The prompt is structured such that it returns written release notes. That note is then stored and the user can edit it using a rich text editor. Once the first note is created the system can help the user write future notes by predicting release version, etc. This isn’t that complex imo, but I’m curious to see if this is what people consider complex. ChatGPT wrote 90% of the code for this.
- mritchie712 4y agoI'd consider that non-trivial (e.g. not a todo example). How long did it take?
- ryanSrich 4y agoAround 3 hours (not straight - I would hack on it for 30 minutes to an hour at a time). I spent another 1.5 hours or so styling it, but I did that outside of ChatGPT.
- gumballindie 4y agoSorry how is that not trivial?
- ivan888 4y agoMy biggest concern with tools like this is reproducibility and maintainability. How deterministically can we go from the 'source' (natural language prompts) to the 'target' (source code)? Assuming we can't reasonably rebuild from source alone, how can we maintain a link between the source and target so that refactoring can occur without breaking our public interface?
- ValentaTomas 4y agoThis is a valid concern and we are still experimenting with how to do this right. A combination of preserving the reasoning history, having the generated code, and using tests to enforce the public interface (and fix it if anything breaks) looks promising. I think the crucial part is indeed not being able to deterministically go from NL to code but to take an existing state of the codebase and spec and "continue the work".
- larsonnn 4y agoPretty simple it’s just like any abstraction. This AI will not work when nobody would deliver the answer beforehand. LLMs are given inputs of existing code. When you abstract that you better hope you have good code in it. So my question would be, what is the use case? I guess it’s more like planing software and not implementing it. You can pretty well plan your software with ChatGPT. But it will just help you not really doing the job.
- Mali- 4y agoWe're building ourselves out of a job in real time.
- jkettle 4y agoWe are all Biz Devs now. :(
- Manjuuu 4y agoOr freeing up time for more complex parts of the job.
- stinkbutt 4y agodamn you got some top shelf, high grade copium. let me get a hit
- jfengel 4y agoI've been expecting to be replaced by a much, much cheaper developer in another country since I graduated college ... three decades ago. I'm still not 100% certain why that hasn't happened. I suspect it has to do with the equivalent of prompt engineering: it's too difficult to cross the cultural and linguistic barriers, as well as the barrier of space that could have mitigated the other two. By the time you've directed somebody to do the work with sufficient precision, you could have just done it yourself. And it's part of the reason we keep looking for that 10x superdeveloper. Not just that they produce more code per dollar spent, but that there is less communication overhead. The number of meetings scale with the square of the number of people involved, so getting 5 people for the same price as me doesn't actually save you time or money. I have no idea what that means for AI coding. Thus far it looks a lot like that overseas developer who really knows their stuff and speaks perfect English, but doesn't actually know the domain and can't learn it quickly. (Not because they aren't smart, but because of the various human factors I mentioned.) I'd be thrilled to be completely wrong about that -- in part because I've been mentally prepared for it for so long. I hope that younger developers get a chance to spin that into a whole new career, hopefully of a kind I can't even imagine.
- halfjoking 4y agoMark my words... custom AI IDEs are the new javascript frameworks. I think everyone had this idea and is building something similar. I know I am.
- mlejva 4y agoWould love to learn more about what you're building! Do you have anything to share?
- halfjoking 4y agoNothing yet - so far it’s just a basic electron app that you select what files to send as reference for the feature you want to add, then streamlines the process of applying edits ChatGPT sends back. I’m not really planning on turning it into a product. It sounds like this guy is a lot farther along than me if you’re looking for a competitor - I think you’re going to have plenty. https://mobile.twitter.com/codewandai https://mobile.twitter.com/codewandai
- gumballindie 4y agoGood observation. I did notice that a lot of the types that jumped from framework to framework are now jumping onto ai. Please keep them there, at least that way js will stand a chance at becoming sane.
- namaria 4y agoWhat do you think these fuzzy interpreters are gonna be used for? Machine code running on metal? It's gonna be all scripted servers and web apps for saas startups slurping that VC or UE money
- Jupe 4y agoThis is awesome, scary and very interesting. But, for me, it comes with a personal concern: For some time I've been giving serious thought about an automated web service generator. Given a data model and information about the data (relationships, intents, groupings, etc.) output a fully deployable service. From unit tests through container definitions, and everything I can think of in-between (docs, OpenAPI spec, log forwarder, etc.) So far, while my investment hasn't been very large, I have to ask myself: "Is it worth it?" Watching this AI code generation stuff closely, I've been telling myself the story that the AI-generated code is not "provable". A deterministic system (like I've been imagining) would be "provable". Bugs or other unintended consequences would be directly traceable to the code generator itself. With AI code generation, there's no real way to know for sure (currently). Some leading questions (for me) come down to: 1. Are the sources used by the AI's learning phase trustworthy? (e.g. When will models be sophisticated enough to be trained to avoid some potentially problematic solutions?) 2. How would an AI-generated solution be maintained over time? (e.g. When can AI prompt + context be saved and re-used later?) 3. How is my (potentially proprietary) solution protected? (e.g. When can my company host a viable trained model in a proprietary environment?)" I want to say that my idea is worth it because the answers to these questions are (currently) not great (IMO) for the AI-generated world. But, the world is not static. At some point, AI code generators will be 10x or 100x more powerful. I'm confident that, at some point, these code generators will easily surpass my 20+ years of experience. And, company-hosted, trained AI models will most likely happen. And context storage and re-use will (by demand) find a solution. And trust will eventually be accomplished by "proof is in the pudding" logic. Basically, barring laws governing AI, my project doesn't stand a cold chance in hell. I knew this would happen at some point, but I was thinking more like a 5-10 year timeframe. Now, I realize, it could be 5-10 months.
- sebzim4500 4y agoNot OP but I've been playing with similar technology as a hobby. >1. Are the sources used by the AI's learning phase trustworthy? (e.g. When will models be sophisticated enough to be trained to avoid some potentially problematic solutions?) Probably not, but for most domains reviewing the code should be faster than writing it. >2. How would an AI-generated solution be maintained over time? I would imagine you don't save the original prompts. Rather, when you want to make changes you just give the AI the current project and a list of changes to make. Copilot can do this to some extent already. You'd have to do some creative prompting to get around context size limitations, maybe giving it a skeleton of the entire project and then giving actual code only on demand. > When can my company host a viable trained model in a proprietary environment? Hopefully soon. Finetuned LLaMA would not be far off GPT-3.5, but nowhere close to GPT-4. And even then there are licencing concerns.
- nbzso 4y agoMaybe until we all have a local LLM's and custom models with full control, this level of abstraction(prompting) is not useful. I refuse to contribute to the"Open"AI scheme. Let marketing and teens to give them data.:)
- exhaze 4y agoI agree with your point about self hosting as long term strategy. However at current stage, it’s still a balance between capability and control. Greater control means you lag behind on bleeding edge features (gap seems to be constantly narrowing here though for LLMs thanks to tons of OSS efforts). Disagree with your fears about “give them data”. Here’s their data policy: https://openai.com/policies/api-data-usage-policies https://openai.com/policies/api-data-usage-policies Literally states it won’t use your data. Ofc there’s non trivial risk that this policy will change over time. Still, I don’t feel like there’s any huge lock-in risk with OpenAI right now, so advantage of using it outweighs the risk for most.
- nbzso 4y agoI simply have no trust in Microsoft. Data is the new petrol.:)
- deleted 4y ago[deleted]
- anninaC 4y ago[flagged]
- RoyGBivCap 4y ago[flagged]
- mov_eax_ecx 4y agoThis is like the third post today on code generator using a react application, in twitter there are dozens of them. Copilot already exists and copilot X already packs the features this package promises AND much more, why use this application over Copilot?.
- jumpCastle 4y agoOne reason might be that some people value open source.
- fabrice_d 4y agoLooking at the license of this project (Business Source License 1.1), this is not an open source project: https://github.com/e2b-dev/e2b/blob/master/LICENSE#L16 https://github.com/e2b-dev/e2b/blob/master/LICENSE#L16
- mlejva 4y agoe2b isn't like copilot. You don't really write code in our "IDE". Currently, it works in a way that you write a technical spec and then collaborate with an AI agent that builds the software for you. It's more like having a virtual developer available for you.
- truthaboveall 4y ago[dead]
- maxilevi 4y agoDo you use it for developing?
- teddyh 4y ago> The current idea is to offer the base cloud version for free while having some features for individuals behind a subscription. We'll share more on pricing for companies and enterprises in the future. What happens if you use the README.md and associated documentation as a prompt to re-implement this whole thing?
- mfts0 4y agoHuge fan since Devbook and really happy you found a killer feature of Devbook‘s tooling combined with AI
- mlejva 4y agoThank you for the kind words:)
- sebzim4500 4y agoCan it produce projects which are longer than the context length of the LLM? (8k for us plebs)
- M4v3R 4y agoIt's perfectly possible to assemble a project by writing individual files one at a time, so you would basically get 8k tokens per file. Or you could even write out the files in parts.
- sebzim4500 4y agoSure but in that case how do it keep track of what it has already output? What stops it 'hallucinating' functions in files that it has already produced.
- exhaze 4y agoAren’t most devs working on existing apps? Don’t most devs tend to be extremely sticky to their preferred dev env (last big migration was ST -> VS Code back in 2015-2017) Read all the comments in here. Still not getting why this isn’t a VS Code plugin. Distribution almost always beats product.
- px43 4y agoMaybe to spite Mircosoft? I would love to completely remove Microsoft from my workflow. The way telemetry creeps into everything bugs the hell out of me. I also really don't like the security model of vscode where it's assumed that any code you look at comes from a trusted source, and might execute code on your local system. That's a ridiculous security assumption for a text editor, but not surprising considering that these people also made MS Office.
- exhaze 4y agoWhen I run VS Code on Mac and open some new non trusted directory it literally forces me to click “yes” in dialog that says something like “do you trust stuff in this directory to be able to run code?” Is this a Mac only thing and maybe you use windows or linux? Cuz I found your security concern addressed to an almost obnoxious extent…
- Kwpolska 4y agoThis "trust" thing is on all platforms. I turn it off as soon as it shows up, since it's pointless IMO.
- nullandvoid 4y agoI dislike telemetry as much as the next guy, but it is a little funny to complain about it on the post for this editor, which instead sends your entire codebase to OpenAI. Also it's a somewhat recent update, but VSCode asks you if you trust the code author now when you open a project https://code.visualstudio.com/docs/editor/workspace-trust https://code.visualstudio.com/docs/editor/workspace-trust
- graypegg 4y agoIf this truly works as the pitch describes: > mlejva: Our editor isn't a regular coding editor. You don't actually write code with e2b. then what licensing problems arise from its use? In theory, if you only prompt the AI to write the software, is the software even your intellectual property? It seems like this is a public domain software printing machine if you really aren’t meant to edit the output.
- euroderf 4y agoCould I feed this a decent set of software requirements and get back something that reflects them ?
- sjm 4y agoIMO Emacs is a perfect candidate for this kind of thing, or maybe something akin to LSP so you can bring your own editor. New GPT extensions are coming out daily for Emacs, e.g. https://github.com/xenodium/chatgpt-shell https://github.com/xenodium/chatgpt-shell
- cube2222 4y agoBased on my experiences having spent a bunch of time experimenting with LLMs for writing code, I think the hardest part that I haven't yet seen a solution to is modifying existing code bases. Sure, if you're doing greenfield, just ask it to write a new file. If you only have a simple script, you can ask it to rewrite the whole file. The tricky bit however, is figuring out how to edit relevant parts of the codebase, keeping in mind that the context window of LLMs is very limited. You basically want it to navigate to the right part of the codebase, then scope it to just part of a file that is relevant, and then let it rewrite just that small bit. I'm not saying it's impossible (maybe with proper indexing with embeddings, and splitting files up by i.e. functions you can make it work), but I think it's very non-trivial. Anyway, good luck! I hope you'll share your learnings once you figure this out. I think the idea of putting LLMs into Firecracker VMs to contain them is a very cool approach.
- chatmasta 4y agoI think this will get easier as the supported context sizes get larger. Of course the tooling needs to take care of most of the drudgery, but I'm not sure there's any underlying limitation of an LLM that makes refactoring existing code any different from creating new code. It's just a matter of feeding it the layout of the repo and the code itself in a way that the LLM can retrieve and focus on the relevant files when you ask it for help with a task.
- cube2222 4y agoOh yeah, I agree with the refactoring bit. As I said, rewriting a file (section) works great if your file fits into the context window. But context windows are far from being large enough to fit entire repos, nor even entire files (if they're big). I'm not sure how hard just scaling up the context window is, from the current early access of OpenAI GPT-4. > in a way that the LLM can retrieve and focus on the relevant files This I think is something we haven't really figured out yet, esp. if a feature requires working on multiple files. I wouldn't be surprised if approaches based on the semantic level (actually understanding the code and the relationships between it's parts; not the textual representation of it) won't be needed in the end here.
- dakiol 4y agoShouldn't it be a plugin for a more used open-source IDE?
- MacsHeadroom 4y agoMicrosoft who owns CoPilot and OpenAI makes the most used Open Source IDE. You think improving their produce for them while submitting yourself to the authority of their plugin market is a good idea?
- mnd999 4y agoBecause developers love writing documentation.
- wruza 4y agoI find it surprising that many developers find using ai prompts easier than an actual programming language (not the first time I hear about it, but now it seems to be serious). When I tried to “talk” to gpts, it was always hard to formulate my requests. Basically, I want to code. To tell something structured, rigorous, not vague and blah-blah-ey. To check and understand every step*. Idk why I feel like this, maybe for me the next ten years will be rougher than planned. Maybe because I’m not a manager type at all? Trust issues? I wonder if someone else feels the same. Otoh I understand the appeal partially. It roots in the fact that our editors and “IDEs” suck at helping you to navigate the knowledge quickly. Some do it to a great extent, but it’s not universal. Maybe a new editor (plugin) will appear that will look at what you’re doing in code and show the contextual knowledge, relevant locations, article summaries, etc in another pane. Like a buddy who sits nearby with a beer, sees what you do and is seasoned enough to drop a comment or a story about what’s on your screen any time. Programming in a natural language and trusting the results I just can’t stand. Hell, in practice we often can’t negotiate or align ourselves in basic things even. * and I’m not from a slow category of developers
- ramraj07 4y agoI used to think like you until I actually tried copilot. I don’t even write much boilerplate code (it’s python, and the framework is already setup). It is still an effective and useful tool. It saves mental bandwidth, and the code it writes is exactly what I was intending to write, so it turns me into a reviewer than a coder and thus makes it easier to get the job done (I’m still confirming the code does what I want). This is just gpt-3. With chatGPT i finally managed to get unit test backbones for the most annoying methods in our code base that stuck our coverage at 92%. Once we get full copilot gpt-4 integration we will likely get to 98% coverage in a days time. That’s not nothing.
- wruza 4y agoI tried copilot in some toy projects back then but wasn’t left impressed. Maybe should try gpt-4 later. Thanks for sharing your experience!
- neets 4y agoYou know you live in the future when
- addmin123 4y agoIs it using the copilot of microsoft?
- mlejva 4y agoNo it's not. Even the UX is different from copilot.
- armchairhacker 4y agoI would expect the opposite: you write the code and have the AI write documentation, tests, and examples. Especially documentation.
- WalterSear 4y agoIt's good for both.
- khana 4y ago[dead]
- throwaway426079 4y agoAs an analyst, could I write an analysis plan and have this tool implement the plan in, say python pandas?
- qaq 4y agoSo what prof is everyone is planning to switch to once this takes off?
- skor 4y agoive tried gpt4 for simple things and ended up doing it myself. Simple regex for matching whether an url is a link to the root of the domain or is some page. Told it several times to try again and it failed. How are you folks looking beyond something that is so simple and should be correct always to be useful? How does it save you time if any small detail may be a potential problem?
- all2 4y agoI suspect that regex is very much like mathematics for these models: they're just bad at it. If you provided the model failure cases for each failed attempt, you might get better output. I've also seen folks say that requiring reasoning makes answers more robust as well.
- zaphar 4y agoI am imagining the kind of documentation most developers write and I just can't see this actually working. Maybe it's just because I'm old.
- Myrmornis 4y agoThe name implies it will always be restricted to English. Is that something you have an opinion about at this stage?
- victorsup 4y agowhat's the difference between your product and MS VScode AI copilot?
- meatjuice 4y agoIsn’t it better to make lsp or something to provide ai code support for existing editors than building their own ide from scratch?