You need to specify that the polynomial is in x and y, not also in a and b, so
```
In [5]: Poly(eq, x, y).as_dict()                                                                                              
Out[5]: {(0, 1): -1, (2, 0): a + b}
```