For coding tasks I treat A.I. as a fresh intern that doesn’t really know what they’re doing but you can just ask them to do that horribly tedious task and just do a code review later. As you said, something like “rewrite this in Rust”, or “create unit tests for this function”. Then you fix all it’s mistakes. I’d never let it touch an actual algorithm or anything important though.
To be fair, it is fairly good at selecting and optimizing algorithms; as long as you set up a set of correctness tests and performance benchmarks it can use to evaluate if it’s doing well.
The other day in about half an hour I got a 26,000% improvement in performance on a specific algorithm which I had implemented as it was published in the original paper. Same results under all conditions, but it decided to rearrange the formula to use a few matrix tricks and optimized for SIMD instructions. That is the kind of things I’d never do myself: I don’t care if such calculation takes 3 weeks using 256 cores and 200 GB of memory, if I have to optimize for SIMD instructions that will likely take me one or two weeks and I don’t have time for that. I’d rather burn compute. If it takes me a couple hours I’m very happy to bring down a computation which would take weeks to an hour or so.
For coding tasks I treat A.I. as a fresh intern that doesn’t really know what they’re doing but you can just ask them to do that horribly tedious task and just do a code review later. As you said, something like “rewrite this in Rust”, or “create unit tests for this function”. Then you fix all it’s mistakes. I’d never let it touch an actual algorithm or anything important though.
To be fair, it is fairly good at selecting and optimizing algorithms; as long as you set up a set of correctness tests and performance benchmarks it can use to evaluate if it’s doing well. The other day in about half an hour I got a 26,000% improvement in performance on a specific algorithm which I had implemented as it was published in the original paper. Same results under all conditions, but it decided to rearrange the formula to use a few matrix tricks and optimized for SIMD instructions. That is the kind of things I’d never do myself: I don’t care if such calculation takes 3 weeks using 256 cores and 200 GB of memory, if I have to optimize for SIMD instructions that will likely take me one or two weeks and I don’t have time for that. I’d rather burn compute. If it takes me a couple hours I’m very happy to bring down a computation which would take weeks to an hour or so.