|
|
|
|
|
by sqs
1064 days ago
|
|
I'm one of the people building Cody (https://cody.dev), which you mentioned. Re: suboptimal, yeah, these are all very early and there is so much room for improvement. Do you have a sense at least of what would be less suboptimal/more optimal for you? |
|
Let's say I want to build a complex React component that does a lot of stuff under the hood. Perhaps it needs to handle multiple inputs, it needs to show certain children UI conditionally based on the state and it also needs to push the state to a global redux store.
Perhaps the component also depends on some utils and other root components that pass props to it.
None of these solutions seem to acknowledge that what would improve my productivity is to have a proper way to model the problem for the AI the same way I'm understanding it. Allowing me to build the blast radius of the problem, instead of expecting the AI to infer it.
In the case of the React Component what I want is:
1) bootstrap the component
2) modify it to address requirements that emerge as I explore the needs.
3) look at dependencies such as schema files or root components and suggest modifications that align with the desired functionality or allow me to point out at required changes in dependencies.
When I say that these solutions are suboptimal, what I mean is that there's no straight-forward way for me to engage in these code generation tasks in a way that doesn't feel fragmented.
What I literally want is go to a file, tell the AI to consume all the context of that file and its dependencies and then modify it to add features, fix bugs, improve code or extend functionality. I then want to have the ability to accept those changes as a reviewer or suggest changes. And I want to do without forking away from my current context.
Nobody has gotten this experience right because what most players in this space are doing is building these restrictive form factors or atomized features like text brushes, global chats or in-line prompt to code generation.
I appreciate having these, but ultimately what I want is to have an AI system that accepts a context (a file or set of files) and a prompt and then generates the requested code modifications.
None of these extension allow me to do this effectively and if they do then it seems that ability is being diminished by a poor user-facing abstraction.
In my opinion, this is a design problem.