I've been using a couple of different AIs integrated with various IDEs for about the past year.
They all, to a T, suck for actual solutions. Yes, they scarily generate code that has my style and naming conventions but for anything more than the most basic/common requests you get AI Hallucinations (a major failing in AI generation that they have to actually NAME IT and hold seminars on how to "fix" it... har har, It's not a bug, it's a feature!).
On the flip side, there's 2 areas where it's actually helped me.
1. Rote/grunt code handling. We had a minor API change in one library but it involved me going through about a dozen files and having to change about a 100 lines to pass parameters by a different naming convention that wasn't easily doable by grep/replace. To its credit, the AI in the IDE figured out the pattern after the third change and started offering it as a solution for code completion for the next 20 changes, even appropriately using different naming schemes when the context changed. I was impressed... But then it "forgot" and wouldn't offer the change... then after I hand fixed another dozen lines it suddenly remembered and started offering up the solution again. Regardless, it's gotten better at this grunt stuff over the last few months and it really helps with the coders block when you don't want to write yet another routine for massaging the data objects from one thing in a set to another format to patch up an API call! and the AI will just do it for you.
2. Error analysis of existing code. This seems to be a new feature as I hadn't observed this yet, but the AI found a configuration error in my code's makefile (not really an error per se but something that could've come back to bite me in the butt someday). The IDE I use is supposed to catch this too but didn't.
TL;DR - I was getting worried for my job as a programmer but then found the emperor had no clothes but that the AI can be helpful in some areas.