Background (skip this if you know it all)!
I too worried about this when I first learned it. Basically I think it's easiest to think of the Eightfold Way quantum mechanically first and worry about QFT later. So that's what I'll do in this answer.
In quantum mechanics (at least according to Wigner) a particle is a basis vector in some representation of the full symmetry group of the theory (Poincare $\times$ internal). Fundamental particles are defined to be in the (anti) fundamental representation of the internal symmetry group.
In the eightfold way we hypothesize that the relevant Hamiltonian for our QM theory has an $SU(3)$ symmetry and look at the consequences. We also restrict our attention to just spin 1/2 fermions. This means that by definition there are three fundamental particles (the up, down and strange quarks) together with three fundamental antiparticles.
Now we know from basic QM that multiparticle states are constructed from tensor products of single particle states. A useful mathematical way of enumerating the possible particles is to find all tensor products of the fundamental and antifundamental representations. These decompose into irreducible representations allowing you to easily count the number of degrees of freedom and their properties.
How Do I Decompose a Tensor Product into a Sum of Irreps
The general procedure is known as Clebsch-Gordan decomposition. It's completely analogous to the process you go through when adding angular momenta in QM. You can even compute coefficients which tell you exactly how any given tensor product state decomposes for a general symmetry group $SU(N)$, see here.
Of course, in reality this complexity is often not necessary to determine the particle content of the theory. Instead you can do the following.
To determine the irrep decomposition of $m\otimes n$
- plot the weight diagrams of $m$ and $n$
- plot the weight diagram of $m\otimes n$ which is obtained by (vector) adding the weights in the first two diagrams in all possible ways. Check: you should get $mn$ weights
- Find the "highest" weight (usually the one with largest distance from the origin) and identify which irrep it belongs to. This involves calculating the higher irreps, or looking up their weight diagrams. Note down this irrep.
- Remove all other weights on the diagram which correspond to the irrep for the highest weight you've found.
- Repeat steps 3 and 4 until there are no weights left.
The reason this works is fairly transparent - on each iteration of the algorithm you are just identifying an invariant subspace. Remembering that irreps are labelled by their highest weights completes the argument.
If you want any more detail I recommend you read Jan Gutowski's notes particularly section 4.3.
P.S. just read your profile - hope you're having a good start at Imperial! I'll be a PhD student at Queen Mary from January, so maybe I'll see you around at a London Triangle meeting.