I wanted to bring this thread back because I saw an article today by Dan Shapiro on "the five levels from spicy autocomplete to the software factory
- Spicy autocomplete, aka original GitHub Copilot or copying and pasting snippets from ChatGPT.
- The coding intern, writing unimportant snippets and boilerplate with full human review.
- The junior developer, pair programming with the model but still reviewing every line.
- The developer. Most code is generated by AI, and you take on the role of full-time code reviewer.
- The engineering team. You’re more of an engineering manager or product/program/project manager. You collaborate on specs and plans, the agents do the work.
- The dark software factory, like a factory run by robots where the lights are out because robots don’t need to see.
I think the biggest take-home is that for Avogadro, code needs to be correct particularly for science-related topics. The force fields, the molecular dynamics, molecular surfaces, orbitals, etc. needs substantial human intervention and review.
I’ve been playing with Claude Opus 4.5 because Pitt has a license and I can say it’s pretty good at levels 0 and 1, particularly boilerplate. But it absolutely fails more advanced math (because it’s a text engine) and plenty of chemistry.
So I’ll go with a policy of “levels 0 and 1 are probably fine.” For example “help me generate some Qt C++ code for a dialog that shows …”
I might also add:
- discussing a high-level plan that’s implemented by humans / level 0 seems okay, e.g., “can you help me plan mechanisms to provide a simple security sandbox for scripts. What are some pros and cons of the different approaches?”
- using various AI tools to help code review (e.g., CodeRabbit seems useful but does not replace human review)
- using an AI tool to guide debugging / bug fixing – that’s implemented by humans (e.g. “there seems to be a race condition in the properties dialog during vibration, can you suggest some possible solutions?”)
I think these fall into the green / yellow criteria.
I reserve the right to reject contributions that seem like they were generated mostly by an ML tool, and code review will continue, particularly for any chemistry-specific or mathematical components.
Should I write this up into some sort of AGENTS.md file or onto the website?