The Role I Forgot to Assign
The Broken Output
The output was almost right. The code compiled. The logic worked. The structure made sense. But the error handling was wrong. Not a little wrong. Completely wrong. It was catching errors and hiding them. This was a financial calculation module. Hidden failures could send wrong prices to customers.
I stared at the code. I could not figure out how the model got everything right except this one thing. Then I went back and read my prompt.
I had assigned the role of a Python engineer. I had set the architecture. I had described the inputs and outputs. I had listed the math rules. But I had not assigned the role of a reliability engineer. No one in my prompt was in charge of error handling, failure modes, or safety.
The model did not forget error handling. I never asked for it.
Tracing Every Failure
I went back through my last twenty prompts that gave bad results. Every single one had a missing role. Not a small gap. A role that, on a real team, would belong to a real person. You would notice right away if that person was not there.
A web app with no security review. A data pipeline with no data quality check. A user interface with no UX perspective. A deployment script with no ops engineer's rules. Every broken output pointed to a missing expert.
The Debugging Method
Now when output is wrong, my first question is not "what did the model do wrong" but "which role did I forget to assign." This question always has an answer. That answer tells me exactly how to fix the prompt.
If the error handling is wrong, I forgot the reliability engineer. If the UX is poor, I forgot the designer. If the security is weak, I forgot the security reviewer. If the performance is bad, I forgot the systems engineer. The missing role tells me what is wrong and how to fix it.
My Role Checklist
Before I send any prompt for a real task, I run a quick checklist in my head. What roles would a real team need? Have I assigned each one? Have I given each one clear rules? Have I put them in the right order? If any answer is no, the prompt is not ready. It will give me output that is missing what that role would have added.
The model cannot assign its own roles. That is my job. Every time I forget, the output reminds me.
Transform any prompt into 6 Nyquist-compliant bands
Try sinc-LLM FreeOr install: pip install sinc-llm