How can I understand if reduction is Karp reduction?
Your reduction repeatedly calls a SAT oracle. Karp reductions only make one oracle call, and furthermore they must immediately return whatever the oracle returns (so it's like a "tail call"). So your reduction isn't a Karp reduction.

How to know if a reduction is a Karp reduction? Use the definition. A Karp reduction from a language $A$ to a language $B$ is a polytime function $f$ such that for all $x$ we have $x \in A$ iff $f(x) \in B$. If your reduction cannot be put in this form, it is not a Karp reduction.