code interpreter ai explained