Look up some tutorial on youtube.
There are a ton of them.
Like this one (it is a bit long):
I wish you success.
To the extent of my knowledge I do not know of a AI pathfinding method that is intelligent and dynamic, like you described without Raycasting or PathFindingService.
Just use pathfinding.
It will only drop frames if you calculate a path 60 or 240 times a second, just run path:ComputeAsync() every .5 sec or .1 if you want it to be a little bit quicker.
I’m working on making a pathfinding service which will both perform better and have the option to be offloaded onto my servers (for the price of resource usage). You can follow it’s development here: Polaris-Nav