Case Study 06
AI Voice Capture System
Extracting writing style from edit behaviour and preserving it across sessions, without describing it in advance
The Problem
When you use AI for extended writing work, a specific problem compounds quietly over time: the AI doesn't learn from your edits.
Session one, you fix a draft. Session two, the AI produces the same habits you corrected. Session twenty, you're making the same edits you made at the beginning. The process doesn't accumulate. The AI starts from scratch each time, carrying the same generic patterns, and you correct them again.
The conventional answer is a style guide: write down your preferences, paste them into every session. That doesn't solve it. Most voice characteristics are implicit. Writers recognise their own voice in edits, not before. Asked to describe it in the abstract, they miss the patterns that actually define it. And a flat list of rules can't distinguish preferences that apply universally from preferences that apply only in a particular context. The same writer handles a high-stakes argument differently than a casual opener. A static style guide flattens that entirely.
Before this system, every session started over. Style correction was a recurring overhead on every draft, not a one-time investment. Across dozens of exchanges in an extended writing project, the accumulated friction is real: not just the time spent correcting, but the attention cost of correcting the same things rather than the content.
The System
Three working layers sit on top of a persistent signal memory. Four named components in total.
Component 01
Pre-Draft Context Filter
Before any draft is written, the system reads the active exchange file to identify three things: the current topic, the profile of the person being addressed, and the conversational situation (opening, mid-round, escalation, close). It reads the full style ledger and filters for signals whose tags match all three. Only matched signals pass into the draft brief alongside the universal rules that apply in every session. A response to a knowledgeable, bad-faith opponent mid-debate gets a different signal set than an opening exchange with a genuine question. The filter makes that distinction automatically, every time.
Component 02
Three-Agent Adversarial Review
Three subagents run in parallel. Agent 1 (Primary Drafter) writes the initial response using style rules from both the universal layer and the context-filtered signals. Agent 2 (Logic Auditor) has no subject-matter perspective. It reads the draft and evaluates logic only: invalid inferences, unsupported assertions, gaps between premise and conclusion. Agent 3 (Adversarial Reviewer) shifts its entire persona based on the topic, simulating a well-informed critic calibrated to the actual opposing tradition the response will face. The main agent receives all three outputs, resolves real logic issues, strengthens what Agent 3 flagged as vulnerable, applies a final style pass, and delivers the finished draft.
Component 03
Style Signal Extraction from Edits
When the user pastes an edited version of a draft, the system reads the changes and extracts the underlying rule — not the surface substitution, but the principle the change demonstrates. A deleted transition phrase becomes a signal about setup sentences. A restructured closing becomes a signal about colon usage. A rewritten bullet opener becomes a signal about word order. Each extracted signal is tagged across three dimensions: the topic where it was observed, the profile of the person being addressed, and the conversational situation. A single edit session can produce multiple independent signals, each tagged to the specific context where it appeared.
Component 04
The Style Ledger
Signals accumulate in four categories: usage and word choice, sentence-level construction patterns, tactical and rhetorical moves, and analogy repertoire. The first three categories follow a tiered promotion system — Tier 1 adopts after two observations, Tier 2 after four, Tier 3 and Tier 4 after six to eight. Analogies adopt immediately on first appearance and are tagged by topic, argument, and opponent profile. Signals confirmed across three or more distinct contexts with no clustering promote to universal and are written into the project's behavioral layer. Phase-out runs in both directions: disuse phases a signal out, and a signal explicitly flagged as an AI tell is removed immediately.
How signals move through the ledger
Every signal starts contextual. The topic, addressee profile, and conversational situation it was extracted from are all part of its record. Tier 1 signals (word choice, basic construction) adopt after two observations. Tier 2 (heavier rhetorical moves) after four. Tier 3 and Tier 4 (context-dependent or high-stakes moves) require six to eight and phase out automatically if unreinforced.
The promotion rule: a signal confirmed across three or more distinct topic or addressee contexts with no clustering elevates to universal and is written directly into the behavioral layer of the project file. It no longer needs to be filtered from the ledger. It applies in every session going forward. A signal confirmed only within one context type stays contextual and never reaches the universal layer.
Analogies are tracked differently. They adopt immediately on first appearance, with no threshold. Each analogy is tagged by the topic it serves, the argument it supports, and the opponent profile it lands best against. Some have migrated into the universal layer because they've proven effective across multiple distinct contexts. Others remain contextual, loaded only when the tags match.
For an AI implementation role, the signal here isn't the feature list. It's the methodology: a feedback loop that compounds across sessions, where the output of each session becomes the input for the next system improvement.
Key Architectural Decision
Three decisions shaped the system.
Edit-as-data, not instruction-as-data
The standard approach to voice capture is to describe the voice in advance: write down your preferences and paste them in. This has a hard limit. Most style characteristics are implicit. People recognise them in their own edits, not in the abstract. A description built from memory misses patterns the writer hasn't consciously identified, and it often drifts from what the writer actually does. The decision here was to use edits as the primary signal source. When the user changes something in a draft, that change is ground truth about what the voice is. The system reads it, names the underlying rule, and logs it. The voice captures itself from behaviour, not from prescription.
Contextual rather than flat
A flat style guide applies everything everywhere. The same writer doesn't write the same way in every situation. The register shifts based on who is being addressed, what the topic is, and where the exchange stands. Treating all signals as universal would produce a one-dimensional voice. The tagging system preserves the context in which each signal was observed. Signals confirmed across multiple distinct contexts are elevated to universal. Signals confirmed only within one context stay contextual. The pre-draft filter applies this distinction at the point of each draft. Agent 3's persona changes by topic type for the same reason: a one-size adversarial reviewer produces one-size pressure. A reviewer calibrated to the actual opposing tradition produces specific, actionable critique.
Phase-out as quality control
Most voice systems only accumulate. This one also removes. The phase-out mechanism exists because a pattern that helped early in a project may become an AI tell by the time the project has run long enough to develop genuine habits. Signals don't stay in the ledger on inertia. They stay because they're still being reinforced. When they aren't, they exit. When the user identifies one as a tell, it exits faster. One signal was identified this way during active use and pulled. The ledger reflects the voice as it is now, not as it was six weeks ago.
The So What
The problem this system solves scales with use. Most AI-assisted writing gets less differentiated over time, not more. The same patterns resurface, the same corrections get made again, and the voice stays generic. This system inverts that. Every session where the user edits is a session where the system gets better at not requiring that edit next time.
The architecture is domain-independent. The tag-based ledger, the edit-extraction workflow, the promotion logic, the adversarial review pattern: none of these are specific to any subject matter or writing type. They apply wherever voice matters and consistency across sessions is worth preserving. What changes is the tag vocabulary and the adversarial reviewer's calibration. The structure holds.
This is not prototype data. The system has been running continuously across 62+ logged sessions, covering 30+ tracked exchanges with diverse interlocutors across multiple topic categories and conversational contexts. The ledger contains 75+ signals across all four categories. More than 20 have been promoted to adopted status and written into the universal layer. Three have been phased out, including one explicitly identified as an AI tell and removed from active use.
62+
Logged sessions
Active production use
75+
Signals in ledger
Across all four categories
20+
Promoted to adopted
Written into the universal layer
3
Phased out
One flagged as an AI tell
Without prescribing a style in advance and without writing any code, he built a system that captures voice from behaviour, stores it contextually, applies it selectively, and produces more accurate drafts with every session that follows. 62+ sessions in production. 75+ signals tracked. The ledger improves on every edit.