15. Given the sequence $\left\{a_{n}\right\}$ satisfies:
$$
a_{1}=1, a_{n+1}=\frac{1}{8} a_{n}^{2}+m\left(n \in \mathbf{Z}_{+}\right) \text {. }
$$

If for any positive integer $n$, we have $a_{n}<4$, find the maximum value of the real number $m$.
15. It is easy to know,
$$
\begin{array}{l}
a_{n+1}-a_{n}=\frac{1}{8} a_{n}^{2}-a_{n}+m \\
=\frac{1}{8}\left(a_{n}-4\right)^{2}+m-2 \geqslant m-2 .
\end{array}
$$

Then $a_{n}=a_{1}+\sum_{k=1}^{n-1}\left(a_{k+1}-a_{k}\right)$
$$
\geqslant 1+(m-2)(n-1) \text {. }
$$

If $m>2$, note that, as $n \rightarrow+\infty$,
$$
(m-2)(n-1) \rightarrow+\infty \text {. }
$$

Therefore, there exists a sufficiently large $n$ such that
$$
1+(m-2)(n-1)>4 \text {, }
$$

i.e., $a_{n}>4$, which is a contradiction.
Thus, $m \leqslant 2$.
Furthermore, when $m=2$, it can be proven that for any positive integer $n$,
$$
0<a_{n}<4 .
$$

When $n=1$, $a_{1}=1<4$, the conclusion holds.
Assume that for $n=k(k \geqslant 1)$, the conclusion holds, i.e.,
$$
0<a_{k}<4 \text {. }
$$

Then $0<a_{k+1}=2+\frac{1}{8} a_{k}^{2}<2+\frac{1}{8} \times 4^{2}=4$, i.e., the conclusion holds for $n=k+1$.
By the principle of mathematical induction, it is known that for any positive integer $n$, $0<a_{n}<4$.
In summary, the maximum value of the real number $m$ is 2.