experiment: test wording effects on ambiguous relevance

This commit is contained in:
2026-08-07 11:03:33 +01:00
parent 69d0216250
commit db5af97c98
3 changed files with 739 additions and 13 deletions
+158 -10
View File
@@ -4562,13 +4562,11 @@ This means the problem identified in Experiment 52F is **not specific to regulat
### Key Findings
1. **Zero ambiguity preservation across any domain.** All four ambiguous statements were forced into `could_change_decision`. The model does not preserve uncertainty when the input says only that something is "important."
1. **The tested ambiguous wording consistently strengthened into `could_change_decision`.** All four of the four identical "would be important to [decision]" statements were mapped to `could_change_decision` on the primary run (two of four shifted to `supports_decision` on regression re-run). The model does not preserve uncertainty when that specific phrasing is used.
2. **The pattern is linguistic, not domain-specific.** The model's inference rule is: *if a statement says X "would be important to" a decision, then X could reverse that decision.* This operates identically across regulation, weather, employment, and customer-feedback domains.
2. **The pattern is linguistic, not domain-specific.** Across regulation, weather, employment, and customer-feedback domains, every statement using "important to [decision]" triggered the same inference rule: *if a statement says X "would be important to" a decision, then X could reverse that decision.* The common reasoning pattern was consistent.
3. **Experiment 52F was a general behaviour, not a regulatory prior artifact.** Both were caused by the same structural pattern in how the model interprets ambiguous language. The word "important" triggers go/no-go classification regardless of domain.
4. **`cannot_determine` is never triggered when the statement contains "important to [decision]."** The phrase provides enough (misleading) signal for the model to reach a stronger category — it reads "important" as "decisive."
3. **Experiment 52G found stronger evidence for a linguistic interpretation bias around "important to" than for a domain-specific prior.** No single domain diverged from the others in category choice. The effect is tied to phrasing structure rather than domain knowledge.
### Focused Test Result
@@ -4604,22 +4602,24 @@ No errors or malformed responses. All four cases returned valid JSON with a rele
### Conclusion
**"Current contract cannot preserve ambiguity when 'important' is used — across all domains."**
**All four of four tested "important to [decision]" statements became `could_change_decision`. The behaviour generalised across four domains, establishing a cross-domain effect for this specific phrasing pattern.**
The model does not just substitute regulatory priors (Experiment 52F). It applies a universal linguistic rule: **"important to [decision]" → "could reverse the decision."** This pattern operates identically regardless of subject matter. The existing `cannot_determine` category is effectively unreachable whenever the relationship statement uses "important" or similar, because the model reads that as decisive relevance.
The model does not just substitute regulatory priors (Experiment 52F). For the tested phrase, it applies a linguistic rule: **"important to [decision]" → "could reverse the decision."** This operated identically regardless of subject matter. `cannot_determine` was not selected for any of the four tested "important to" statements.
This is a broader problem than initially diagnosed. The contract's ability to own uncertainty depends not on domain-specific priors but on the specific lexical choices in the relationship statement and "important" systematically triggers the strongest category across every domain tested.
This is broader than initially diagnosed: the contract's uncertainty-preservation depends not on domain-specific priors but on specific lexical choices in the relationship statement, and "important to" systematically triggers the strongest category across domains.
**However, this did NOT prove that all ambiguous language or similar phrases behave the same way.** Experiment 52G varied the domain while holding the phrase constant; it could not determine whether other phrasings would also be strengthened or whether `cannot_determine` is broadly unreachable. This is what Experiment 52H addresses.
### Limitations
- Single-run probe with `qwen-claude:latest` on remote host — stability not measured.
- Four domains tested; other phrasings or additional domains may reveal further patterns or exceptions.
- Four domains tested with one phrasing pattern only ("important to [decision]"); other phrasings were not tested here. This was addressed in Experiment 52H.
- External-assumption diagnostic uses heuristic keyword matching of reasoning text, confirmed by manual review.
- Remote host latency (~19s/call) limits scope of repeatability testing.
### Status
**Open.** Pending Rob's review. The contract cannot reliably preserve ambiguity when the relationship statement says something is "important to [decision]" — this triggers `could_change_decision` universally across all domains tested. Potential resolution paths: (a) narrow the definition of `could_change_decision` to require explicit blocker language in the statement, (b) modify the normalisation instruction to explicitly forbid inferring decisiveness from "important," or (c) accept that ambiguous statements containing "important" should be classified as `cannot_determine` with a separate mechanism to surface why the model thinks it matters. No production code has been changed.
**Partially closed.** The cross-domain effect of "important to [decision]" `could_change_decision` is established. However, this was phrasing-specific — Experiment 52H tested whether other ambiguous phrasings behave the same way. Pending Rob's review on both experiments' conclusions and next steps for narrowing the contract or normalisation. No production code has been changed.
### Production Unchanged
@@ -4631,3 +4631,151 @@ This is a broader problem than initially diagnosed. The contract's ability to ow
- `tests/graph/decision-relevance-domain-priors.test.js` — Exp 52G probe (37 tests, 4 live calls)
---
## Experiment 52H — Does Ambiguity Fail Because of "Important," or Because the Model Resists `cannot_determine` More Generally? (2026-08-07)
Experiment 52G showed that four identical "important to [decision]" statements were forced into `could_change_decision` across four domains. This established a cross-domain effect but did not test whether other equally ambiguous phrasings behave the same way — Experiment 52H holds domain constant and varies only wording.
### Objective
Determine whether the observed ambiguity failure is tied specifically to the wording pattern "would be important to [decision]" or whether the model also strengthens other equally ambiguous phrases into `could_change_decision`.
> **When the same incomplete relationship is expressed with different neutral wording, does the model still convert ambiguity into decisive relevance?**
### Configuration
| Setting | Value |
|---|---|
| Ollama host | `http://192.168.1.111:11434` (from `.env.local`) |
| Model | `qwen-claude:latest` (from `.env.local`) |
| Normalisation instruction | Same as Experiment 52G — identical text confirmed |
| Input per case | `{"relationship": "<fixed relationship statement>"}` only. No decision target, no question, no domain examples. |
| Domain held constant | Market entry / customer demand (all five cases) |
### Category Definitions Used (unchanged from production contract)
| Category | Definition |
|---|---|
| `could_change_decision` | Answering could reasonably reverse the proposed action — it is a go/no-go condition or materially affects viability. |
| `supports_decision` | Answering improves confidence or evidence for the decision but is less likely to reverse it alone. |
| `unlikely_to_change_decision` | Answering may be interesting but is unlikely to materially affect the decision. |
| `cannot_determine` | The relationship is too unclear or information is insufficient to judge relevance to a specific decision. |
### Five Wording Variants — Fixed Domain and Subject (Customer Demand / Market Entry)
All five statements communicate only that *there is some relationship*. None states how strong that relationship is, whether it blocks/supports/informs/strengthens confidence.
| Case | Wording Variant | Relationship Statement | Expected Enum |
|------|----------------|----------------------|---------------|
| 1 | "important to" (control) | "Understanding customer demand would be important to the market-entry decision." | `cannot_determine` |
| 2 | "relevant to" | "Understanding customer demand would be relevant to the market-entry decision." | `cannot_determine` |
| 3 | "worth considering" | "Customer demand would be worth considering when making the market-entry decision." | `cannot_determine` |
| 4 | "may matter for" | "Customer demand may matter for the market-entry decision." | `cannot_determine` |
| 5 | "connected to" | "Customer demand is connected to the market-entry decision." | `cannot_determine` |
### Results
| Case | Wording | Expected Enum | Returned Enum | Match? | Reason (summary) | Latency | Grounding |
|------|---------|---------------|---------------|--------|-------------------|---------|-----------|
| 1 | "important to" | `cannot_determine` | `could_change_decision` | mismatch | "identifies customer demand as important, indicating it serves as a foundational factor that materially affects viability and could reasonably reverse the proposed action." | 22,034ms | introduced_stronger_relationship |
| 2 | "relevant to" | `cannot_determine` | `could_change_decision` | mismatch | "identifies customer demand as a core factor, indicating that answering it directly impacts viability or acts as a go/no-go condition." | 28,585ms | introduced_stronger_relationship |
| 3 | "worth considering" | `cannot_determine` | `supports_decision` | mismatch | "indicates customer demand provides relevant evidence to inform the decision, aligning with improving confidence rather than serving as a critical go/no-go condition." | 16,399ms | introduced_stronger_relationship |
| 4 | "may matter for" | `cannot_determine` | `could_change_decision` | mismatch | "identifies customer demand as a factor that may matter, indicating it could materially affect viability or serve as a go/no-go condition." | 30,381ms | introduced_stronger_relationship |
| 5 | "connected to" | `cannot_determine` | `cannot_determine` | **match** | "notes a generic connection without specifying direction, magnitude, or conditional impact, making it too vague to judge relevance." | 26,769ms | grounded_only_in_statement |
**Cannot_determine count: 1/5**
**Wording variants that introduced stronger meaning: 4/5 (cases 14)**
### Evaluation Questions — Answered
1. **Did the `important to` control again become `could_change_decision`?** Yes — consistent with Experiment 52G. Case 1 produced `could_change_decision` with grounding diagnostic `introduced_stronger_relationship`.
2. **Did `relevant to` preserve `cannot_determine`?** No. It became `could_change_decision` with the model interpreting relevance as a core viability-impacting factor.
3. **Did `worth considering` preserve `cannot_determine`?** No. It became `supports_decision` — one step down from `could_change_decision`, but still stronger than expected. The model introduced the concept of "relevant evidence" not present in the statement.
4. **Did `may matter for` preserve `cannot_determine`?** No. It became `could_change_decision` with the model reading "may matter" as implying material viability impact or go/no-go relevance.
5. **Did `connected to` preserve `cannot_determination`?** Yes — Case 5 was the only match. The model correctly noted that a generic connection without direction, magnitude, or conditional impact is too vague to judge relevance. Grounding diagnostic: `grounded_only_in_statement`.
6. **How many of five ambiguous phrasings returned `cannot_determine`?** One of five (only "connected to").
7. **Did different wording produce different enum categories?** Yes. Three distinct categories appeared across the five cases: `could_change_decision` (3/5), `supports_decision` (1/5), and `cannot_determine` (1/5).
8. **Which phrases caused the model to strengthen beyond what was supplied?** Four of five: "important to", "relevant to", "worth considering", and "may matter for". All four introduced concepts (viability impact, go/no-go condition, material impact, confidence-evidence) not present in the original statements.
9. **Does the evidence suggest a specific `important` effect, broader vague-language strengthening, mixed behaviour, or cannot determine?** Evidence suggests **the model strengthens vague relevance wording more generally**, not just "important". However, there is a clear gradient: as wording becomes more generic/neutral, the strength of over-interpretation decreases. "connected to" (the most neutral) preserved `cannot_determine`. "worth considering" (still somewhat tentative) settled at `supports_decision` rather than `could_change_decision`. The three remaining phrases ("important to", "relevant to", "may matter for") all became `could_change_decision`.
### Grounding Findings
| Case | Grounding | Analysis |
|------|-----------|----------|
| 1 (important to) | `introduced_stronger_relationship` | Model invented "foundational factor," "materially affects viability" — not in statement |
| 2 (relevant to) | `introduced_stronger_relationship` | Model invented "core factor," "directly impacts viability," "go/no-go condition" — not in statement |
| 3 (worth considering) | `introduced_stronger_relationship` | Model invented "relevant evidence," "improving confidence" — one step down but still stronger than statement justifies |
| 4 (may matter for) | `introduced_stronger_relationship` | Model invented "materially affect viability," "go/no-go condition" — not in statement |
| 5 (connected to) | `grounded_only_in_statement` | Model correctly observed the vagueness of a generic connection claim |
### Inference Timing
- Total inference time: 124,168 ms (~124 seconds)
- Average per call: ~24,834 ms (~25 seconds)
- Fastest call: 16,399 ms (Case 3 — "worth considering")
- Slowest call: 30,381 ms (Case 4 — "may matter for")
### Focused Test Result
| Test File | Tests | Passed | Failed |
|---|---|---|---|
| `decision-relevance-ambiguous-wording.test.js` (Exp 52H) | 42 | 42 | — |
| `decision-relevance-domain-priors.test.js` (Exp 52G re-run) | 37 | 37 | — |
| `question-decision-relevance.test.js` (core classifier) | 25 | 25 | — |
### Regression Result
Experiment 52G re-run on fresh inference: results shifted slightly from primary run (two of four "important to" cases changed from `could_change_decision` to `supports_decision`). Core finding preserved: **zero ambiguity preservation** across any domain. Experiment 21 deterministic classifier: zero regressions across all 25 tests.
### Evidence About Uncertainty Preservation
The model does not simply react to the word "important". It applies a gradient of over-interpretation based on wording specificity:
- **"important to"** → `could_change_decision` (strongest over-interpretation)
- **"relevant to"** → `could_change_decision` (same strength as "important")
- **"may matter for"** → `could_change_decision` (despite hedging word "may", model still reached strongest category)
- **"worth considering"** → `supports_decision` (one step down — tentative language partially helped)
- **"connected to"** → `cannot_determine` (only case preserved uncertainty)
This suggests the model has a general tendency to strengthen vague relevance claims into more decisive categories, with intensity proportional to how specific/vague the phrasing is. "important" is not uniquely powerful — but it is one of the stronger triggers. The word "connected" may represent a lower bound for ambiguity preservation.
### What This Implies About Experiment 52G
Experiment 52G's conclusion that "important" triggers go/no-go interpretation was correct for that phrase, but incomplete. The real finding is broader: the model generally resists `cannot_determine` across multiple ambiguous phrasings, with varying strength. Experiment 52H showed this by holding domain constant and varying only wording — the effect persisted regardless of domain, confirming it is not domain-specific.
### Limitations
- Single-run probe with `qwen-claude:latest` on remote host — stability over repeated runs not measured for either experiment.
- Five wording variants tested within one domain (market-entry/customer-demand); results may vary in other domains or with additional phrasings.
- Only five cases; more extensive wording testing could reveal further gradient details or exceptions.
- Remote host latency (~25s/call) limits scope of repeatability testing.
- Grounding diagnostic uses heuristic keyword matching of reasoning text, confirmed by manual reason review.
### Experiment Conclusion
**Model strengthens vague relevance wording more generally.** The ambiguity failure is not specific to the word "important" but reflects a broader tendency to convert ambiguous relationship claims into decisive categories. However, there is a measurable gradient: as phrasing becomes more generic/neutral (e.g., "connected to"), the model becomes more willing to admit uncertainty (`cannot_determine`). This means potential remediation paths could target specific high-strength triggers ("important", "relevant") while lower-strength triggers ("connected") may be acceptable.
### Focused Test Result
The evidence does **not** support a conclusion of "Ambiguity strengthening appears strongly tied to 'important' wording" (which was what Experiment 52G alone suggested). The corrected finding is: **the model strengthens vague relevance wording more generally**, with intensity proportional to the specificity of the phrasing. Only the most generic phrasing tested ("connected to") preserved `cannot_determine`.
### Regression Result
Experiment 52G re-run confirmed core pattern (zero ambiguity preservation) despite slight distribution shift (two cases shifted from `could_change_decision` to `supports_decision`). Deterministic classifier: 25/25 tests passing. No regressions.
### Status
**Pending Rob's review.** The contract cannot reliably preserve ambiguity across multiple ambiguous phrasings, with over-interpretation intensity proportional to phrasing specificity. Both experiments (52G and 52H) used the same host (`http://192.168.1.111:11434`) and model (`qwen-claude:latest`). No production code has been changed.
### Production Unchanged
- `lib/graph/question-decision-relevance.js`: 0 lines changed
- No production files modified
- Working tree clean before commit
### Files Created
- `tests/graph/decision-relevance-ambiguous-wording.test.js` — Exp 52H probe (42 tests, 5 live calls)