Is there a systematic way to guess primitive lattice vectors?

I was looking at exercise 1 from lecture 10, and landed on a question very similar to BCC lattice - basis and primitive lattice vectors. Because I too defined my primitive vectors as \frac a2 (1,1,1),a(1,0,0),a(0,1,0) instead of the more complicated ones where you take other vectors to also have three components.
I understand that the choice of primitive vectors is up to taste, but is there an algorithm to determine primitive vectors without guessing them? Right now it feels like playing a slot machine where you learned some cheatcode to win, and then making sure at the end you really hit the jackpot. It doesn’t feel rigorous. Or is that feeling one of the features of the Solid State trade?