4 ms·
Ok, but what is a good pattern to leverage AI tools for coding (assuming that they have some value there, which I think most people would agree with now)? I cou
by t_mann 2y ago
Ok, but what is a good pattern to leverage AI tools for coding (assuming that they have some value there, which I think most people would agree with now)? I could see two distinct approaches:
- "App builders" that use some combination of drag&drop UI builders, and design docs for architecture, workflows,... and let the UI guess what needs to be built "under the hood" (a little bit in the spirit of where UML class diagrams were meant to take us). This would still require actual programming knowledge to evaluate and fix what the bot has built
- Formal requirement specification that is sufficiently rigorous to be tested against automatically. This might go some way towards removing the requirement to know how to code, but the technical challenge would simply shift to knowing the specification language
- staplers 2y agoOk, but what is a good pattern to leverage AI tools for coding? Actual product stakeholders are not likely to spill their magic sauce and give free consultancy.
- swiftcoder 2y ago"Actual product stakeholders" in this space clearly don't actually have any magic sauce to spill. Everyone is building more or less the same chat-based workflows on the same set of 3rd-party LLMs. The space is ripe for folks with actual domain expertise to design an appropriate AI workflow for their domain.
- FloorEgg 2y agoI have magic sauce that I haven't spilled yet.
- t_mann 2y agoThat's no reason to not discuss potentially cool ideas, unless you think their input is so indispensable that any debate is futile without them.
- lucasyvas 2y agoDisclaimer: Haven't used the tools a lot yet, just a bit. So if I say something that already exists, forgive me. TLDR: Targeted edits and prompts / Heads Up Display It should probably be more like an overlay (and hooked into context menus with suggestions, inline context bubbles when you want more context for a code block) and make use of an IDE problems view. The problems view would have to be enhanced to allow it to add problems that spanned multiple files, however. Probably like the Rust compiler output style, but on steroids. There would likely be some chatting required, but it should all be at a particular site in the code and then go into some history bank where you can view every topic you've discussed. For authoring, I think an interactive drawing might be better, allowing you to click on specific areas and then use shorter phrasing to make an adjustment instead of having an argument in some chat to the left of your screen about specificity of your request. Multi-point / click with minimal prompt. It should understand based on what I clicked what the context is without me having to explain it.
- taeric 2y agoI'd challenge if this is specific to coding? If you want to get a result that is largely like a repertoire of examples used in a training set, chat is probably workable? This is true for music. Visual art. Buildings. Anything, really? But, if you want to start doing "domain specific" edits to the artifacts that are made, you are almost certainly going to want something like the app builders idea. Down thread, I mention how this is a lot like procedural generative techniques for game levels and such. Such that I think I am in agreement with your first bullet? Similarly, if you want to make music with an instrument, it will be hard to ignore playing with said instrument more directly. I suspect some people can create things using chat as an interface. I just also suspect directly touching the artifacts at play is going to be more powerful. I think I agree with the point on formal requirements. Not sure how that really applies to chat as an interface? I think it is hoping for a "laws of robotics" style that can have a test to confirm them? Reality could surprise me, but I always viewed that as largely a fiction item.
- kiitos 2y agoI've yet to see any AI/LLM produce code that withstands even basic scrutiny.