fix: prevent fabricated claims in opening debate turns - #1200
fix: prevent fabricated claims in opening debate turns#1200daleselaji-dev wants to merge 2 commits into
Conversation
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
| bear_history = investment_debate_state.get("bear_history", "") | ||
|
|
||
| current_response = investment_debate_state.get("current_response", "") | ||
| last_bull_argument = current_response or "No bull argument has been presented yet. Build the opening bear case from the available evidence without attributing claims to the bull side." |
There was a problem hiding this comment.
I would say
initial_bull_arg="No bull argument has been presented yet. Build the opening bear case from the available evidence without attributing claims to the bull side."
current_response = investment_debate_state.get("current_response", initial_bull_arg)|
Two things from the #1176 side that might be worth folding in. The bear researcher reaches the same empty-state path. Not under the current wiring, where the bull opens, but under a reversed debate order or a state constructed without a prior bull turn. Guarding only the opener ties the fix to the graph wiring. It may also be worth being explicit in the description that the prompt-level cue is not sufficient on its own. The risk debators already carry an equivalent instruction ("If there are no responses from the other viewpoints yet, present your own argument based on the available data") and still fabricated both other analysts' positions in my run, details in #1176. This removes the empty-labelled-field trigger rather than fabrication in general, and saying so would keep it from being read as closing the broader problem. I have the bear-side change and a rendered-prompt test in #1210 if either is useful here. |
Summary
Problem
The first researcher receives an empty
current_response, but the prompt labels it as the other side's last argument. Models can therefore rebut claims that were never made, which makes the debate history less trustworthy.Solution
Use a role-specific opening-context sentence when
current_responseis empty. Later turns continue to receive the actual previous argument unchanged.Tests
python -m pytest tests/test_debate_opening_prompt.py -q(not run: pytest is not installed in the local runtime)python -m compileall(source syntax checked)Scope and risk
Prompt construction and two focused tests only. No graph ordering, state schema, or trading logic changes.
Closes #1176