What is the principle of generating INCAR tags in ASE?

I am wondering if there is a detailed explanation about how ASE chooses the INCAR tags, since VASP already provides default values for a lot of tags, does ASE choose the default values?
There are a few parameters that might be tricky, for example, ISMEAR should be different for different systems, it depends on whether the system is metal or semiconductor.
My question is: How does ASE choose the INCAR tags smartly or does ASE just choose the default values?