Solution: $\square$
Consider the following addition:
$$
\begin{array}{rr} 
& 111 \cdots 100 \cdots 01 \\
+ & 11 \cdots 11 \\
\hline
\end{array}
$$

By making the blocks of 1's and 0's appropriately long, we can ensure that the addends respectively contain 2004 and 2005 1's. (To be precise, we get $a=2^{4008}-2^{2005}+1$ and $b=2^{2005}-1$.) Then the sum has only one 1 . And clearly it is not possible to get any less than one 1 .
6. $a$ and $b$ are positive integers. When written in binary, $a$ has 20041 's, and $b$ has 20051 's (not necessarily consecutive). What is the smallest number of 1's $a+b$ could possibly have?