AIWarsGPT
Two 3D robots debate AI art using a fine-tuned language model.
- Role
- Design & build
- When
- 2026
- Stack
- PyTorch
- LoRA
- TypeScript
- React Three Fiber
AIWars-GPT gives two copies of the same language model opposing instructions about AI art. The experiment connects generated dialogue to a simple animated performance: each turn includes a number that changes the speaking robot's expression.
I fine-tuned Qwen2.5-7B with a LoRA adapter on r/aiwars discussions. Both speakers use the same weights. Their prompts assign the positions they argue.
Loading AIWarsGPT…
Turning text into a performance
The training transcripts include a heat label for each turn. The model learns to append a value such as [heat: 0.7], and the player maps that number to the robot's face.
Heat is an animation control. It is generated text, not a measurement of an emotion the model experiences. Keeping it to one value makes the connection easy to inspect: a turn arrives, the parser reads the label, and the face changes with it.
React Three Fiber draws the robots from simple geometry. The browser plays the animation while the live service generates and streams the dialogue. Recorded playback lets the demo run when that service is unavailable.
What the experiment shows
The opposing prompts give one model two different roles. The resulting argument is a performance generated under those instructions, rather than independent evidence for either position.
For me, the useful part was learning to carry a model's output through a complete interface. The dialogue needs to stream, turns need to stay in order, and the animation needs a small, predictable input it can respond to.