AI controlled player character

First, you need to make sure that all your “input actions” are handled by a PlayerController, not by a Character.
The PlayerController then needs to control the Character using some interface you define. (Or maybe just the CharacterMovementComponent interface if you’re going that route.)
Finally, you can then develop an AIController.
To make the character be controlled by the AIController, you then need to unpossess the character from the playercontroller, and instead make it be possessed by the AIController.

If you want camera to still follow the character around, you can make the playercontroller use SetViewTarget to use whatever camera is attached to the character, or you can implement/subclass the PlayerCameraManager.