When it comes to coding in the AI era, as long as we continue to rely on architectures based on the current Transformer model, it is impossible for AI to understand everything and implement it perfectly. It can also behave in probabilistically insufficient ways. Of course, the same is true for humans. That is why we need to keep these limitations in mind when assigning work to AI.
The core skill here is interface design. It is a classic software engineering skill, but as long as the issue mentioned above remains, development must be based on the assumption that AI only has partial understanding and that its output quality is imperfect.
This design work is where humans should take control. If this part is poorly designed, it is very easy for the code of inappropriate modules to become bloated. As a result, you end up with software that works but has low maintainability, takes too long to get working in the first place, or even suffers in terms of performance.
Then there is the quality aspect. In the end, if you are not going to read the code, you have no choice but to test it thoroughly. t-wada’s TDD is one approach that can be adopted. I have more than 17 years of experience as an engineer, but since 2023, I have barely written any code myself. I mean production code.
I feel that some engineers developing frontier models are not fully versed in classic software engineering. For example, separating thinking from implementation is a fundamental approach. They are now walking the same path we struggled through. That is reflected in the models as well. The parts that are still missing have to be compensated for by the users.