I have some trouble understanding how one can, in the context of QFT, diagonalize a Hamiltonian $H$ by the introduction of ladder operators $a$ and $a^\dagger$ (I have trouble understanding how one is supposed to obtain these operators exactly).
As far as I understand, "diagonalizing" a Hamiltonian means finding ladder operators $a_p$ and $a_p^\dagger$ that obey the canonical commutation relation $$[a_p,a_k^\dagger]\propto \delta(k-p)\quad\text{and}\quad [a_k,a_p]=[a^\dagger_k, a^\dagger_p]=0$$ and rewrite $H$ in terms of these ladder operators such that $$H(a,a^\dagger)a^\dagger\vert0\rangle\propto a^\dagger\vert0\rangle\quad \text{and}\quad H(a,a^\dagger)a\vert n\rangle\propto a\vert n\rangle. $$
Lets assume that we want to diagonalize the Hamiltonian of the complex scalar field $\phi$ (which we obtained from the Lagragian $\mathcal{L}$), that is $$H=\int d^3x\left(\pi^\dagger \pi +\nabla\phi^\dagger\nabla\phi+m^2\phi^\dagger\phi\right).$$ This Hamiltonian is a function of $\phi$ and $\phi^\dagger$ (since one can express $\pi^\dagger=\dot\phi^\dagger$ and $\pi=\dot\phi$ in terms of those two). So what I'm now looking for are $a(\phi,\pi^\dagger)$, $a^\dagger(\phi,\pi^\dagger)$, $b(\phi,\pi^\dagger)$ and $b^\dagger(\phi,\pi^\dagger)$ (two sets of operators since $\phi$ and $\phi^\dagger$ are independent of each other).
Now most (all that I've seen so far) books/lecture notes just skip to assuming that we have $$\begin{align*} a_p&=\int d^3 x e^{ipx} (\omega_p \phi(x)+ i\pi^\dagger(x))\quad a_p^\dagger=\int d^3 x e^{ipx} (\omega_p \phi^\dagger(x)- i\pi(x))\\ b_p&=\int d^3 x e^{ipx} (\omega_p \phi^\dagger(x)+ i\pi(x))\quad b_p^\dagger=\int d^3 x e^{ipx} (\omega_p \phi(x)- i\pi^\dagger(x)) \end{align*}$$ and then show that they satisfy what we want. But how do we get to these opperators? I've found this SE post, where a method is proposed, but kind of fail to apply it to this example. If I have understood it correctly I should just assume that we have
$$a = \alpha \phi + \beta \pi^\dagger,\quad a^\dagger = \alpha^* \phi^\dagger + \beta^*\pi,$$ but what about the second pair of ladder operators and how to distinguish them form the first one? I'm really not sure if this works here...
TL;DR: I'd like to know how one can find ladder operators that diagonalize a given Hamiltonian $H(\phi,\pi)$ concretely.