6 ms·
I'm curious - what does the AI coding setup of the HN community look like, and how has your experience been so far? I want to get some broader feedback before
by hubraumhugo 2y ago
I'm curious - what does the AI coding setup of the HN community look like, and how has your experience been so far?
I want to get some broader feedback before completely switching my workflow to Aide or Cursor.
- arjunaaqa 2y agoUsing cursor and it’s been great ! Founders care about development experience a lot and it shows. Yet to try others, but already satisfied so not required.
- skp1995 2y agoI can give my broader feedback: - Codegen tools today are still not great: The lack of context and not using LSP really burns down the quality of the generated code. - Autocomplete is great Autocomplete is pretty nice, IMHO it helps finish your thoughts and code faster, its like intellisense but better. If you are working on a greenfield project, AI codegen really shines today and there are many tools in the market for that. With Aide, we wanted it to work for engineers who spend >= 6 months on the same project and there are deep dependencies between classes/files and the project overall. For quick answers, I have a renewed habit of going to o1-preview or sonnet3.5 and then fact checking that with google (not been to stack overflow in a long while now) Do give AI coding a chance, I think you will be excited to say the least for the coming future and develop habits on how to best use the tool.
- SparkyMcUnicorn 2y ago> Codegen tools today are still not great: The lack of context and not using LSP really burns down the quality of the generated code Have you tried Aider? They've done some discovery on this subject, and it's currently using tree-sitter.
- skp1995 2y agoYup, I have. We also use tree-sitter for the smartness of understanding symbols https://github.com/codestoryai/sidecar/blob/ba20fb3596c711860ba24cbed8fb05b5dddc25c8/sidecar/src/chunking/rust.rs https://github.com/codestoryai/sidecar/blob/ba20fb3596c71186... and also the editor for talking to the Language Server. What we found was that its not just about having access to these tools but to smartly perform the `go-to-definition` `go-to-reference` etc to grab the right context as and when required. Every LLM call in between slows down the response time so there are a fair bit of heuristics which we use today to sidestep that process.
- tomr75 2y agocursor works well - uses RAG on your code to give context, can directly reference latest docs of whatever you're using not perfect but good to incrementally build things/find bugs
- nprateem 2y agoI tried GH copilot again recently with Claude. It was complete shit. Dog slow and gave incomplete responses. Back to aider.
- skp1995 2y agowhat was so bad about it? genuinely curious cause they did make quite a bit of noise about the integration.
- nprateem 2y agoIt kept truncating files only about 600 lines long. It also seems to rewrite the entire file each time instead of just sending diffs like aider making it super slow.
- skp1995 2y agooh, I see your point now. Its weird that they are not doing the search and replace style editing. Altho now that OpenAI also has Predicted Output, I think this will improve and it won't make mistakes while rewriting longer files. The 600 line limit might be due to the output token limit on the LLM (not sure what they are using for the code rewriting)
- nprateem 2y agoYeah I guess it's a response limit. It makes it a deal breaker though.
- csomar 2y agoInterestingly, I had this problem with Claude (their web chat) and not Copilot. However, there were times where it was unresponsive.
- HyprMusic 2y agoIt's not nearly as helpful as Claude.ai - it seems to only want to do the minimum required. On top of that it will quite regularly ignore what you've asked, give you back the exact code you gave it, or even generate syntactically invalid code. It's amazing how much difference the prompt must make because using it is like going back to gpt3.5 yet it's the same model.
- xpasky 2y agoBesides Claude.vim for "AI pair programming"? :) (tbh it works well only for small things) I'm using Codeium and it's pretty decent at picking up the right context automatically, usually it autocompletes within ~100kLoC project quite flawlessly. (So far I haven't been using the chat much, just autocomplete.)
- skp1995 2y agoany reason you don't use the chat often, or maybe it's not your usecase?
- Ancapistani 2y agoI'm not the parent poster, but in my case I very rarely use it because it's not in the Neovim UI; it opens in a browser. I've also had some issues where it doesn't seem to work reliably, but that could be related to my setup.
- skp1995 2y agoyeah I am learning that on neovim you can own a buffer region and instead use that for ai back and forth.. it's a very interesting space
- viraptor 2y agoCursor works amazing day to day. Copilot is not even comparable there. I like but rarely use aider and plandex. I'd use them more if the interface didn't take me completely away from the ide. Currently they're closer to "work on this while I'm taking a break".
- DeathArrow 2y agoHave you tried latest Copilot with workspace where you can use Claude and add files to the context?
- KronisLV 2y agoGitHub Copilot in either VS Code or JetBrains IDEs. Having more or less the same experience across multiple tools is lovely and meets me where I am, instead of making me get a new tool. The chat is okay, the autocomplete is also really pleasant for snippets and anything boilerplate heavy. The context awareness also helps. No advanced features like creating entirely new structures of files, though. Of course, I’ll probably explore additional tools in the future, but for now LLMs are useful in my coding and also sometimes help me figure out what I should Google, because nowadays seemingly accurate search terms return trash.
- skp1995 2y agoyeah I am also getting the sense that people want tooling which meets them in their preferred environment. Do you use any of the AI features which go for editing multiple files or doing a lot more in the same instruction?
- adriand 2y agoI tried Cursor and found it annoying. I don’t really like talking to AI in IDE chat windows. For whatever reason, I really prefer a web browser. I also didn’t like the overall experience. I’m still using Copilot in VS Code every day. I recently switched from OpenAI to Claude for the browser-based chat stuff and I really like it. The UI for coding assistance in Claude is excellent. Very well thought out. Claude also has a nice feature called Projects where you can upload a bunch of stuff to build context which is great - so for instance if you are doing an API integration you can dump all the API docs into the project and then every chat you have has that context available. As with all the AI tools you have to be quite careful. I do find that errors slip into my code more easily when I am not writing it all myself. Reading (or worse, skimming) source code is just different than writing it. However, between type safety and unit testing, I find I get rid of the bugs pretty quickly and overall my productivity is multiples of what it was before.
- thomasfromcdnjs 2y agoThis is me also, I don't like the UX/DX of Cursor and such just yet. I can't tell if it is a UX thing or if it also doesn't suit my mental model. I religiously use Copilot, and then paste stuff into Claude or ChatGPT (both pro) when needed.
- vbezhenar 2y agoI'm using Copilot in VScode every day, it works fine, but I mostly use it as glorified one-line autocomplete. I almost never accept multi-line suggestions, don't even look at them. I tried to use AI deeper, like using aider, but so far I just don't like it. I'm very sensitive to the tiny details of code and AI almost never got it right. I guess actually the main reason that I don't like AI is that I love to write code, simple as that. I don't want to automate that part of my work. I'm fine with trivial autocompletes, but I'm not fine with releasing control over the entire code. What I would love is to automate interaction with other humans. I don't want to talk to colleagues, boss or other people. I want AI to do so and present me some short extracts.
- yen223 2y agoI am on day 8 of Cursor's 14-day trial. If things continue to go well, I will be switching from Webstorm to Cursor for my Typescript projects. The AI integrations are a huge productivity boost. There is a substantial difference in the quality of the AI suggestions between using Claude on the side, and having Claude be deeply integrated in the codebase. I think I accepted about 60-70% of the suggestions Cursor provided. Some highlights of Cursor: - Wrote about 80% of a Vite plugin for consolidating articles in my blog (built on remix.run) - Wrote a Github Action for automated deployments. Using Cursor to write automation scripts is a tangible productivity boost. - Made meaningful alterations to a libpg_query fork that allowed it to be cross-compiled to iOS. I have very little experience with C compilation, it would have taken me a substantially long time to figure this out. There are some downsides to using Cursor though: - Cursor can get too eager with its suggestions, and I'm not seeing any easy way to temporarily or conditionally turn them off. This was especially bad when I was writing blog posts. - Cursor does really well with Bash and Typescript, but does not work very well with Kotlin or Swift. - This is a personal thing, but I'm still not used to some of the shortcuts that Cursor uses (Cursor is built on top of VSCode).
- skp1995 2y agoIts great that cursor is working for you. I do think LLMs in general are far far better on Typescript and Python compared to other languages (reflects from the training data) What features of cursor were the most compelling to you? I know their autocomplete experience is elite but wondering if there are other features which you use often!
- yen223 2y agoTheir autocomplete experience is decent, but I've gotten the most value out of Cursor's "chat + codebase context" (no idea what it's called). The feature where you feed it the entire codebase as part of the context, and let Cursor suggest changes to any parts of the codebase.
- skp1995 2y agoohh inserting.. I tried it on couple of big repos and it was a bit of a miss to me. How large are the codebases on which you work? I want to get a sense check on where the behavior detoriates with embedding + gpt3.5 based reranker search (not sure if they are doing more now!)
- jaylane 2y agoVscode + cline + openrouter using claude sonnet 3.5 20241022 model it's unreal the shit it can do
- jeswin 2y agoI've been building and using these tools for well more than a year now, so here's my journey on building and using them (ORDER BY DESC datetime). (1) My view now (Nov 2024) is that code building is very conversational and iterative. You need to be able to tweak aspects of generated code by talking to the LLM. For example: "Can you use a params object instead of individual parameters in addToCart?". You also need the ability to sync generated code into your project, run it, and pipe any errors back into the model for refinement. So basically, a very incremental approach to writing it. For this I made a Chrome plugin, which allowed ChatGPT and Claude to edit source code (using Chrome's File System APIs). You can see a video here: https://www.youtube.com/watch?v=HHzqlI6LLp8 https://www.youtube.com/watch?v=HHzqlI6LLp8 The code is here, but its WIP and for very early users; so please don't give negative reviews yet: https://github.com/codespin-ai/codespin-chrome-extension https://github.com/codespin-ai/codespin-chrome-extension (2) Earlier this year, I thought I should build a VS Code plugin. It actually works quite well, allows you to edit code without leaving VSCode. It does stuff like adding dependencies, model selection, prompt histories, sharing git diffs etc. Towards the end, I was convinced that edits need to be conversations, and hence I don't use it as much these days. Link: https://github.com/codespin-ai/codespin-vscode-extension https://github.com/codespin-ai/codespin-vscode-extension (3) Prior to that (2023), I built this same thing in CLI. The idea was that you'd include prompt files in your project, and say something like `my-magical-tool gen prompt.md`. Code would be mostly written as markdown prompt files, and almost never edited directly. In the end, I felt that some form of IDE integration is required - which led to the VSCode extension above. Link: https://github.com/codespin-ai/codespin https://github.com/codespin-ai/codespin All of these tools were primarily built with AI. So these are not hypotheticals. In addition, I've built half a dozen projects with it; some of it code running in production and hobby stuff like webjsx.org. Basically, my takeaway is this: code editing is conversational. You need to design a project to be AI-friendly, which means smaller, modular code which can be easily understood by LLMs. Also, my way of using AI is not auto-complete based; I prefer generating from higher level inputs spanning multiple files.
- skp1995 2y agothats a great way to build a tool which solves your need. In Aide as well, we realised that the major missing loop was the self-correction one, it needs to iteratively expand and do more Our proactive agent is our first stab at that, and we also realised that the flow from chat -> edit needs to be very free form and the edits are a bit more high level. I do think you will find value in Aide, do let me know if you got a chance to try it out
- PittleyDunkin 2y agoIt really depends on what you're doing. AI is great for generating a ton of text at once but only a small subset of programming tasks clearly benefit from this. Outside of this it's an autocomplete that's generally 2/3rds incorrect. If you keep coding as you normally do and accept correct solutions as they appear you'll see a few percentage productivity increase. For highly regular patterns you'll see a drastically improved productivity increase. Sadly this is also a small subset of the programming space. One exception might be translating user stories into unit tests, but I'm waiting for positive feedback to declare this.
- csomar 2y agoNeovim + CopilotChat + CopilotLSP + Copilot subscription. You can dump your context, autocomplete, chat and select Claude or O1. Best deal so far.
- paradite 2y agoI was deep into AI coding experiments since last December before all the VS Code Extensions and IDEs came out. I wrote a few scripts to get to a semi-automated workflow where I have control over the source code context and code editing portion, because I believe I can do a better than AI in those areas. Eventually I built my own desktop app which is 16x Prompt: https://prompt.16x.engineer/ https://prompt.16x.engineer/
- vdvsvwvwvwvwv 2y agoVS Code plugins. Codeium at home. GitHub Copilot at work. Botb are good. Probably equivalent. Codeium recently pushed annoying update that limits your ctrl-I prompt to one line and is lost if you lose focus eg to check another file. There is a GH issue for that.
- utf_8x 2y agoI never got the appeal of having the AI directly in your editor, I've tried Copilot and whatever JetBrains are calling their assistant and I found it mostly just got in the way. So for me it's no AI in editor and ChatGPT in a browser for when I do need some help.
- davedx 2y agoI'm still copy/pasting between VS.Code and ChatGPT. I just don't want to invest/commit yet because this workflow is good enough for me. It lets me chat design, architecture, UX, product in the same context as the code which I find helpful. Pros - Only one subscription needed - Very simple - Highly flexible/adaptive to what part of workflow I'm in Cons - More legwork - Copy/pasting sometimes results in errors due to incomplete context
- dagw 2y agowhat does the AI coding setup of the HN community look like GitHub copilot and copilot chat in Jetbrains IDE. Cut and paste to Claude for anything else.
- deleted 2y ago[deleted]