Hm.<p>It’s easy to look at <a href="https://github.com/Pythagora-io/gpt-pilot-db-analysis-tool/blob/main/routes/developmentSteps.js">https://github.com/Pythagora-io/gpt-pilot-db-analysis-tool/b...</a> and go… so, this new tool means you took two days to write this?<p><i>long stare</i><p>Why did you bother?<p>…but, this both hits the nail on the head and misses the point at the same time.<p>On the one hand, this is foundational tech, prototyping on a new way of doing things. It’s not going to be faster than doing it yourself at first. It won’t run locally at first.<p>On the other hand, we already know that GPT4 level models can do trivial tasks.<p>Over and over and over, people claim coding tools can massively improve productivity, and then try to demo that by building a trivial system.<p>…but building a trivial systems is <i>not the problem</i> that needs solving.<p>The problem that needs solving is building <i>large complex systems</i> with dynamically adjusting requirements.<p>The examples and blog post seem to miss this even as an <i>idea</i>.<p>While I applaud, in general, efforts to explore this space, tackling the easy problems seems like it doesn’t significantly advance the state of play.<p>Here are some concrete things that would be more valuable, but are significantly technically harder:<p>- Use tests. Make it write tests. Make humans write tests. Do not accept generated code that fails the tests.<p>- Focus on refactoring; it’s a known issue that models struggle to refactor code. Breaking your existing code base into tiny files isn’t the answer.<p>- Focus on documenting the behaviour of existing code and incrementally migrating to new behaviour.<p>- Bad developers write new code instead of reading the existing code and using existing functionality and utilities. AI generators are notoriously rubbish at this, and will almost always generate a function rather than use an existing one.<p>Refining and understanding existing code is <i>significantly more valuable</i> than generating code “from
scratch”; so much so that I would argue that without the ability to refine existing code, such tools will forever remain in the “scaffold generator” category of “useful but ultimately no better than the current status quo”.<p>The tool as shown, is I believe broadly speaking interesting, but the approach described in the blog (upfront decisions about everything) is a dead end.