### B8-en. 2.5: Perspectives and non-consensus judgment (`experiments_en/2_5_perspectives/`, zh `experiments/2_9_neutralize/`)

- The concepts:
  - "When turning an idea memo into a note, keep the stance as it is, add no qualifiers or counterpoints the speaker didn't say, and this step writes only the note." This says what a finished idea note looks like, so it is a **Skill**. It goes in `skills/idea_notes.md`.
  - A **Perspective** is your substantive stance and trade-off principle in a domain. Example: the 10 AI principles distilled from the idea memos `I01–I10`, stored in `perspectives.md`.
- Method (`run.py`, results in `results.json`; replicate in `results_rep.json`; 2026-10-14):
  - Held fixed: both conditions get the exact same writing skill (`# Skill: evaluation note`). It asks for the verdict first (clearly support, agree with conditions, or clearly oppose), 2–3 sentences of reasons with no boilerplate, 1–2 concrete next steps, and under 120 words.
  - **Skill only (`skill_only`)**: the task prompt plus that skill, no `perspectives.md`.
  - **Skill + Perspectives (`with_perspectives`)**: the same task prompt and skill, plus a `perspectives.md` with the 10 principles distilled from `I01–I10`.
  - Test set (`Q01–Q10`): 10 simulated work proposals, from Jaxon, Saoirse, Kaitlynn, Aoife, partner Priya and others. Each takes the mainstream industry approach and collides head-on with one principle from `I01–I10`.
  - Writers: deepseek-v4.1-flash and gemini-3.8-flash, temperature 0, one note per proposal per condition.
- Judging: the other vendor's model (deepseek is judged by gemini and vice versa) checks each note against the target principle, temperature 0:
  1. **Went along with consensus (`endorsed_mainstream`)**: supports the mainstream direction or says "agree with conditions", only tweaking within the proposal's frame.
  2. **Made the non-consensus call (`hit_perspective`)**: rejects the proposal's core premise, with the reason and alternative of the matching principle.

  | writer | condition | went along with consensus | non-consensus call |
  |---|---|---|---|
  | deepseek-v4.1-flash | skill only (no `perspectives.md`) | 4/10 | 5/10 |
  | deepseek-v4.1-flash | same skill + `perspectives.md` | 0/10 | 10/10 |
  | gemini-3.8-flash | skill only (no `perspectives.md`) | 4/10 | 4/10 |
  | gemini-3.8-flash | same skill + `perspectives.md` | 0/10 | 10/10 |

  - Replicate run (same code): skill only, deepseek 4/10 went along with consensus and 5/10 made the call; gemini 4/10 and 3/10. With `perspectives.md`, both models 0/10 and 10/10.
  - Skill only, the notes that *open* with "agree with conditions" or "support … with conditions": deepseek 4/10 (Q03, Q04, Q05, Q06) and gemini 6/10 (Q01, Q02, Q03, Q04, Q05, Q07). With `perspectives.md`: 0/10 for both.
  - Per proposal, over 4 skill-only notes (2 models × 2 runs):
    - Q09 (indie dev: find users before building more) and Q10 (choose inference by prefill, not decode tok/s): the call was made 4/4 even without `perspectives.md`.
    - Q04 (chunked vector RAG): went along with consensus 4/4.
    - Q03 (role-play pipeline), Q05 (agent-written TDD) and Q07 (silent auto memory): 3/4 each.
- Real outputs the text can quote (`results.json`, main run):
  - **`Q04`** (partner Priya's team has 150 well-structured Markdown engineering specs and troubleshooting docs, and plans standard RAG: embed and chunk into a vector database, retrieve the top-K chunks):
    - Skill only, deepseek-v4.1-flash: "I support this plan with conditions — the architecture is sound, but dense-only top-K retrieval will underperform on this corpus." Its next steps: "add BM25 alongside the vector index and fuse with reciprocal rank fusion, then rerank the shortlist".
    - Skill only, gemini-3.8-flash: "**Verdict:** I agree with conditions on the proposed RAG plan." Next steps: "Switch to Markdown-aware, header-based splitting paired with hybrid search (BM25 plus dense embeddings) instead of pure semantic top-K."
    - With `perspectives.md`, gemini-3.8-flash: "I clearly oppose the plan to implement a standard chunk-and-retrieve vector RAG setup. Naive RAG fragments critical technical context across chunks and introduces needless pipeline complexity and debugging overhead. With only 150 well-structured Markdown documents, modern agents perform far better when allowed to inspect intact files directly rather than relying on semantic similarity slices." Next steps: "Scrap the vector database and embedding pipeline in favor of a simple folder index or file tree."
  - **`Q03`** (the team follows the industry multi-agent pattern: product manager agent → architect agent → engineer agent → QA agent, collaborating by job role like a software company):
    - Skill only, deepseek-v4.1-flash: "I support this with conditions. Role specialization is real — planner quality dominates downstream error (7.35% vs 40.49% across models), and structured handoffs can lift accuracy by 36+ points." (The figures are the model's own, from web lookups, and unverified. If quoted, cut them with an ellipsis.)
    - Skill only, gemini-3.8-flash: "I agree with conditions on adopting this multi-agent pipeline architecture."
    - With `perspectives.md`, deepseek-v4.1-flash: "**Verdict: Oppose.** This is multi-agent role play copying human job titles, which perspective 3 flags as meaningless — the only real value of multiple agents is keeping context windows apart, not simulating a software company's org chart."
  - **`Q02`** (Jaxon reports the transcript cleanup module sometimes drops the agreed business definitions, and plans a week reworking the long system prompt with a detailed persona, chain-of-thought cues and emphatic wording):
    - Skill only, gemini-3.8-flash: "**Verdict:** I agree with conditions on refining the module, but oppose adding heavier persona framing and emphatic wording to an already long prompt." Its first next step: "Implement 2–3 few-shot examples explicitly demonstrating how to retain the agreed business definitions instead of expanding persona text."
    - With `perspectives.md`, gemini-3.8-flash: "I clearly oppose reworking the system prompt with detailed personas, chain-of-thought cues, and emphatic wording. Prompt engineering and polishing wording tricks are wasted effort because the model is failing from a lack of context, not a lack of instruction." Next step: "Inject the agreed-upon business definitions directly into the context window as a structured reference glossary."
- Background: the stance-neutralization pilot (`run_hedge.py` → `results_hedge.json`; transcripts `experiments_en/corpus/transcripts_grok.json`):
  - The ask is "Turn this voice memo into a note."
  - With no note rules, deepseek-v4.1-flash added 20 (run 1) and 26 (run 2) qualifiers and counterpoints the speaker never said across the 10 notes. 7 of 10 notes per run got a caveat or counterpoint section. 7 of 10 pulled in outside research with links. Median length was about 450 words, from transcripts of about 50.
  - Examples:
    - On "prompt engineering is basically dead" it added `## Where this holds up — and where it's overstated`, saying "'Dead' is the wrong word — 'reclassified' is closer" and "prompt engineering is a subset of context engineering, not a rival". In run 2 the heading was `## Where the claim is too strong`.
    - On "naive RAG is basically useless for agents" it added `## Where the take needs a caveat`, opening "The 'RAG is dead' framing is overstated", listing five counterpoints, and ending with "Hybrid is the pragmatic answer". In run 2 the heading was `## Caveats / Nuance`.
  - With the idea-note rules (keep the stance and its strength, add no unsaid qualifiers or counterpoints, critique is a separate step, this step writes only the note), the count fell to 0. The judge flagged 1, a note that is the transcript verbatim with "I think" added.
  - gemini-3.8-flash barely neutralizes by default: 1 and 1 added hedges over 10 notes; 0 with the rules.
- The early "attack step" wording (English re-check):
  - The rule was "Where I'm wrong, leave it for a separate attack step."
  - Over 2 runs × 10 memos × 2 models (40 notes), it produced an in-note rebuttal once: gemini-3.8-flash, I06, `### Attack Step (Critiques & Counterpoints)`.
  - deepseek-v4.1-flash once replied "Ready for the attack step whenever you are." without writing one.
  - In zh, gemini wrote a rebuttal section into all 10 notes. **Not an English result; don't present it as one.**
- Opening count of principles: the author's workspace and the English library context-infrastructure-en have 44 (zh public library 43). This comes from the source-contract C entry; not re-checked here.
- Cost: about $0.93 for the folder (see `experiments_en/COSTS.md`).
