AI models are editors, not writers

Writing is thinking, and outsourcing writing is outsourcing thinking. Humans should retain the agency to think for themselves, or we'll miss the insight and learning that makes writing valuable.
Editors are a good way to think about the value of AI in writing. Editors are incredibly valuable as a way to challenge your thinking, across scales from high-level concepts to line-level edits. They hold the full context of what you're trying to do while offering an outside perspective you can't get alone. However, it's not always practical to work with a professional editor.
The progress we're seeing with agentic coding tools — Cursor, Claude Code, Codex — shows that models can effectively understand and operate across complex multi-file projects. The same architecture should work for complex writing projects with lots of background material.
So I built Marginalia: a writing environment where AI models act as editors across a full workspace.
How it works
All screenshots are from a working prototype.
The core principle is that the user should always understand exactly what the model is doing, and easily track any changes made to their work.
Agentic editing with inline diffs
In my previous project (Z3), I built an in-context diff view for visualising, accepting and rejecting edits proposed by an AI model. Marginalia reuses those ideas but rebuilds the implementation around Anthropic's text editor tool, giving the model agentic freedom to navigate and edit across an entire workspace.
When the model proposes changes, they appear as inline diffs directly in prose. The user sees both old and new text, and can accept or reject each change individually.
Workspace-aware context
The model needs to understand the shape of the project. I use an editable readme file where the user describes the structure of their workspace, including chapters, research notes, references and more.
Tracking changes across files
I borrowed directly from IDE conventions here. A scroll component shows coloured bars representing edit locations within the current document. In the file tree, edited files are highlighted with a count of pending changes.
Architecture
The prototype is a set of documents hosted on Liveblocks and visualised in a Tiptap editor. This gives real-time collaborative editing with straightforward scaling. Text edits arrive via Anthropic's tool use API and are converted from plain text operations into Tiptap-executable commands through a custom pipeline.
What I learned
This is the right shape for AI writing tools. The in-context diff view makes AI changes trivial to understand, and giving the agent freedom across the entire workspace provides the intelligence needed for sophisticated suggestions.
Opus makes genuinely useful suggestions. I find myself preferring this workflow over chat-and-paste. The quality gap between models matters here — I've had notably worse results with Sonnet, to the point of not using it. I expect the value of this interface to grow as models improve.
Cost is the primary constraint. Operating over a large workspace burns tokens. A single complex query can cost $3–5. That can be optimised, but it will remain expensive. This either needs to be an enterprise product for high-value users, or it needs a subscription model bundled with model access. This is a shared problem across all agent products in 2025.
Integration vs standalone? There are existing workspaces like Notion for whom this would be a natural feature addition. It isn't obvious why someone would switch to a new standalone tool unless it served a specific niche that general-purpose tools can't adequately address.