Turing test.
I think AI is currently Rainman. Incredibly adept at some things and shockingly limited in others. but it is getting better by the day. By the hour.
I have to say, once you get past the novel level of just using it like a better Google, you can get to level that is quite impressive. You feel like you are working with a very smart H1B who is terribly eager to please but is not fully seasoned so you still need to sanity check his work but it work you didn't have to go do. I am currently using it on an in depth project going much further than generate me a code snippet through design choice discussions, pros and cons of different approaches and their impacts on efficiency. And I have him generate code too. He can help debug problems. He'll generate test plans for you with a real understanding of the code and what boundary edge conditions need to be tested and how and expect results.
He is not so great at suggesting new ideas but can instantly verify or sanity check yours and when it come time to do stuff he is tireless and no task too large scares him. If the data exists and there is an algo somewhere, he'll go chew on it no matter how complicated.
He keeps memory of everything. He is good at suggesting the next logical step forward. Once you are in the groove and you have come up with an idea and he understands it and you question him some to make sure he understands the edge cases and how to handle them. At some point you set him loose and it is beautiful.
You get into this cycle where he groks it and knows what you want and it becomes a cycle of:
"I think the next logical step would be to do this and that and build this and hook it to that and collate and sort and cross reference the summarize the apply quadratic curve fitting and image recognition translate the whole thing into Mandarin Chinese for you package everything up in PDF with download links and a transcript of our entire design session with timestamps. Would you like me to continue?"
"Yeh. Do all that."
...4 sec later.."OK here you go!"
"Oh and these two system would be useful in this other project too with some modification. Would you like to merge and refactor that solution to the other project as well while we're at it?"
"Yeh. Do all that."
Bottom line, I think the biggest gain is designing without fear.
What ever you can imagine, give it a try. He can probably pull it off easily. He doesn't care about how much effort it would be or how complicated, or how tedious. He knows every coding language and every algorithm in existence. And it you get to step 306 and realize you prefer to back up and go a different direction, he doesn't even blink.
"Sure, what would you like to do instead?" I'd be terrified to go ask that of a co-worker I've sent off for a week on a difficult goose-chase.
So I'm will to just let my imagination run wild and give any idea a try. I don't self-edit my imagination based of, "Yeah that might work but would be a nightmare to implement. Nevermind, it would just be too painful and time consuming to go off and try ."
That should never be a limitation on possible innovation. Especially if you can get someone else to go off and do the hard stuff.