I don’t know how a 4-bit instruction could be enough to do something so I read about the Intel 4004 and it says that it used 8-bit instructions and then I can understand how opcode and numbers has enough digits.
Is it true that there never were any 4-bit instructions and that 4-bit systems use 8-bit instructions?
And that opcode and two numbers in an instruction can be done in 8 bits but not in 4 bits?
0
Your question has some invalid premises in it.
The first one is that, if you are using 8 bit instructions, then it must not be a 4 bit architecture. That’s not true. You can say categorically that instructions are 2 nibbles wide, but that doesn’t make the architecture any less 4 bit. That an architecture is 4 bit just means that the information travels around the system in 4 bit chunks.
The second one is that instruction opcodes always have to be one “system-width word” long. That’s clearly not true either, as the 4004 example indicates. Computers historically have always been able to choose the number of “words” they need for any given situation, including the ability to represent more opcodes than can be represented by the system word length.