Many AI's on different patrol routes

I made some patrolling guards (just to test some basic stealth gameplay), which walk from point to point that they get from a large array of locations. Which does make them very unpredictable and while that presents a challenge for the players to overcome in some ways, it leaves less room for meticulous planning to bypass them and forces players to act more on instinct. But I do want them to have set paths to follow, so that the one guarding the big safe isn’t going to walk away from it to investigate what’s going on behind the building near the cargo loading bay for example.

They don’t have to be different from each other in any other way than the locations between which they patrol.

So the options I’ve considered so far (some better than others):

  1. Make new AI blueprints for each “type” of patrol path. Using some kind of code to make each actor calculate their own patrol paths based on something like line trace information about their environment. (Some would just go back and forth, while others would move in a circle.)

  2. Spawn the AI with the level blueprint, in which I also set the location and patrol locations per-actor, based on a pre-determined level specific layout.

  3. Put in waypoints that tell guards next to them what their next action should be. (Sort of like a blueprint for each patrol route.)

  4. Make a new AI blueprint for each different guard, wiring up specific patrol locations and actions for each of them.