Really? The only reason that ChatGPT is more adept at coding problems is because there is vastly more training data. There's nothing fundamentally different between problem solving a coding problem and physics problem. Like all the others before it, I don't think this comment will age too well.
You need to explicitly inherit from an ABC to be considered an instance of it. With Protocols you just need to match the interface, duck-typing style.
(You can also do this with ABCs by writing custom __subclasscheck__ and __instancecheck__ functions, but those can't be statically checked, they only work at runtime)
AFAIK protocols actually use ABCs internally(?) Just in a more constrained form that static type checkers can understand.