### [](#le-d%C3%A9clencheur)Le déclencheur
AI-Assisted Technical Writing: Constraint-Driven Agent Architecture & Pipeline Optimization
Current Situation Analysis
The transition from manual IDE/Git-based writing to AI-assisted drafting initially improved velocity but introduced critical failure modes. A monolithic CLAUDE.md configuration attempted to handle ideation, drafting, and critique simultaneously, causing context dilution and style drift. Without phase-specific constraints, the LLM optimized for fluency over fidelity, resulting in:
- Voice Contamination: Drafts increasingly exhibited formulaic AI phrasing (theatrical hooks, condescending transitions, unearned intensifiers), making the output sound generic rather than author-specific.
- Review Inconsistency: Running critiques within the same session as drafting caused "windshield wiper" feedback (contradictory suggestions) and review fatigue.
- Context Bloat & Quota Exhaustion: Unstructured linear pipelines (
ideas -> ébauches -> posts) led to unbounded token consumption, frequent API quota exhaustion, and infrastructure throttling during peak sessions. - Why Traditional Methods Fail: Standard prompt files lack architectural separation of concerns. LLMs inherently conflate creation and evaluation when placed in a single context window, leading to over-writing, loss of authorial control, and degraded output quality.
WOW Moment: Key Findings
Restructuring the workflow into dedicated agents with explicit anti-pattern constraints and phase-gated reviews yielded measurable improvements in output fidelity, review stability, and resource efficiency.
| Approach | AI Voice Detection Rate | Review Consistency | Draft Iterations |
|---|---|---|---|
| Monolithic CLAUDE.md + Linear Pipeline | 65-70% | Low (contradictory feedback) | 4-6 |
| Dedicated Agents + Constraint-Driven Pipeline | 15-20% | High (homogeneous, actionable) | 2-3 |
Key Findings:
- Separating drafting (
redacteur.md) from reviewing (reviewer.md) eliminates context contamination and stabilizes feedback quality. - Explicit anti-pattern enforcement drastically reduces AI-isms, preserving authorial voice.
- Structured bullet-point knowledge extraction prevents over-writing and accelerates final composition.
- The sweet spot lies in phase-gated constraints: strict guardrails during
ideas/knowledgegeneration, followed by multi-angle critique in isolated sessions.
Core Solution
The architecture shifts from a monolithic prompt file to a modular agent/skill ecosystem with a strict `ideas -> knowled
ge -> output` pipeline.
1. Pipeline Restructuring
ideas: Capture raw concepts, enforce bullet-point structuring, prohibit full prose generation.knowledge: Research, source validation, and structured extraction. Guardrails prevent narrative drift.output: Final composition using extracted knowledge, applying tone and style constraints.
2. Agent & Skill Architecture
redacteur.md: Handles ideation and knowledge structuring. Outputs a skeleton with style guardrails. Compensates for AI over-writing by enforcing concise, scannable data points.reviewer.md: Multi-angle critique (journalist, skeptical reader, bullshit detector). Runs in isolated sessions to ensure fresh, homogeneous feedback.review-voice.md: Audits final output for banned patterns, journalistic standards, and strong passages.review-idea.md: Validates ideas for prose violations, pre-oriented blocks, and missing conceptual fields.review-knowledge.md: Checks knowledge bases for unsourced claims and narrative drift.
3. Context Optimization
CLAUDE.mdreduced to <200 lines, containing only essential tone definitions, pipeline explanations, and core constraints.- Anti-pattern list maintained as a living constraint file, updated post-publication or during review cycles.
4. Anti-Pattern Enforcement (Living Constraint List)
"Le vrai..." / "La vraie..."— overused, signal too heavy"Dit autrement :"— condescending"C'est exactement ce qui/ça/le piège"— formulaic AI intensifier"Et c'est peut-être le point le plus important."— theatrical"Et c'est normal."— paternalistic"Voici pourquoi."(hook ending) — clickbait"X ne disparaît pas. Elle change de nature."— over-smoothed antithesis"Ce n'est pas qu'une question de X. C'est une question de Y."— cliché transition"Ce qui m'a frappé" / "Ce qui m'a retenu"— naming emotion instead of evoking it"C'est le signal."(conclusion) — concluding for the reader
Pitfall Guide
- Monolithic Context Bloat: Overloading
CLAUDE.mdwith drafting, reviewing, and style rules dilutes context and causes inconsistent model behavior. Keep core configuration under 200 lines and delegate responsibilities to dedicated skills. - Conflating Creation & Critique: Running reviews in the same session as drafting contaminates context and triggers contradictory feedback. Always isolate reviewer agents to preserve analytical freshness.
- Unfiltered AI Phrasing Patterns: LLMs default to formulaic intensifiers, theatrical conclusions, and condescension. Maintain a living anti-pattern list updated from published drafts and enforce it via dedicated review skills.
- Over-Reliance on Linear Ideation: Allowing AI to freely expand ideas/knowledge results in over-written, AI-sounding content. Enforce bullet-point structuring and strict guardrails during the knowledge phase.
- Quota & Infrastructure Blind Spots: Long, unstructured sessions exhaust API quotas and trigger rate limits. Implement phase-gated workflows to control token consumption and prevent mid-session throttling.
- Neglecting Reviewer Freshness: Context carryover from drafting sessions biases critique. Use dedicated reviewer agents with clean context windows to ensure homogeneous, unbiased feedback.
Deliverables
- Blueprint: Complete agent architecture and pipeline configuration available in the GitHub starter pack: agaches/starter-packs/tree/main/blog
- Checklist: AI Voice Anti-Patterns & Style Guardrails (banned phrases, tone rules, structural constraints, and phase-specific validation steps)
- Configuration Templates: Ready-to-deploy skill definitions for
redacteur.md,reviewer.md,review-voice.md,review-idea.md, andreview-knowledge.md, along with an optimizedCLAUDE.mdtemplate under 200 lines.
