1965년 '하이퍼텍스트'라는 용어를 만든 테드 넬슨의 프로젝트 자나두(Xanadu)는 모든 문서 버전을 보존하고, 링크가 출처와 대상을 모두 알며, 복사 대신 참조(transclusion)로 인용을 유지하는 시스템을 구상했지만 필요한 기술 인프라가 없어 컴퓨터 역사상 가장 유명한 베이퍼웨어가 되었습니다. 저자는 AI 에이전트의 등장으로 상황이 바뀌었다고 주장합니다. 에이전트는 인간보다 훨씬 깊은 참조 계층을 추적하고 감사할 수 있어, 자나두식 '자날로지컬' 시스템이 드디어 실용적이 되었다는 것입니다.
번역된 본문
올해 테드 넬슨(Ted Nelson)에 대해 많이 생각하게 되었다. 넬슨은 컴퓨팅의 선구자로, 1965년 그의 커리어를 정의하게 될 프로젝트인 자나두 프로젝트의 일환으로 '하이퍼텍스트(hypertext)'라는 단어를 만들었다. 자나두에서 그는 컴퓨팅이 무엇이 될 수 있는지에 대한 구체적인 비전을 가지고 있었는데, 이를 그는 '도큐버스(docuverse)'라고 불렀다. 그는 모든 버전의 문서를 보존할 수 있는 시스템을 상상했다. 하이퍼텍스트 링크는 자신의 출처와 대상을 모두 알고, 인용은 (복사가 아닌) 참조로 유지되어 포함된 모든 텍스트가 자신의 정체성과 출처를 잃지 않는 것이다. 이 버전의 컴퓨팅에서 모든 것은 '인터트윙글드(intertwingled)'되고 '자날로지컬(xanalogical)'할 것이다. 우리는 구간(span) 단위까지 내려가는 출처 표기를 말하고 있다. 자날로지컬하다는 것은 두 가지 규칙을 따르는 것이다: 절대 복사하지 말고 항상 참조하라(넬슨식 용어로 '트랜스클루전(transclusion)'). 절대 덮어쓰지 말고 항상 버전을 만들라. 넬슨이 설계한 대로라면 자나두는 시스템의 복잡성과 막대한 기록 관리 부담을 스스로 처리해서, 사용자는 절대 잊지 않는 시스템의 이점만 경험하게 된다. 무한한 기록 관리라는 비전은 무한한 저장 공간과 미래에도 유효한 이름 체계라는 현실을 필요로 했지만, 넬슨이 자나두를 작업하던 수십 년 동안 그 어느 것도 존재하지 않았다. 그래서 90년대 웹 기술이 폭발했을 때, 개발자들은 편의성을 위해 자날로지컬 컴퓨팅을 건너뛰었다. 링크는 대상이 이동하면 끊어지는 단순한 문자열이 되었다. 유지보수는 사용자의 문제가 되었다 — 시스템의 책임 대신 — 하지만 누구나 빠르게 출시하기는 쉬웠고, 실제로 그렇게 했다. 자나두는 새로운 시대의 약속에서 컴퓨팅 역사상 가장 유명한 베이퍼웨어로 전락했다. 넬슨은 커리어 내내 웹이 하이퍼텍스트가 되어야 했던 것의 평면화된 패러디라고 설명해왔다. 그는 옳지만, 그것은 중요하지 않았다. 사람들은 실제로 모든 링크를 따라가거나 모든 버전을 비교할 필요가 없었기 때문이다. 우리는 안절부절 못하는 종족이고, 다른 사람들이 따라가는 링크나 읽는 버전을 따라가는 쪽을 더 좋아한다. 평면적인 것으로 충분했다. 그러다 에이전트가 등장했다. 에이전트를 어색한 협업자로 만드는 특성이 넬슨의 시스템에는 완벽한 시민으로 만든다. 에이전트는 인간이 머릿속에 한 번에 담을 수 있는 것보다 더 많은 층위의 함의를 따라갈 수 있다. 예를 들어 인용 뒤의 출처, 그것을 둘러싼 논의, 실행된 정확한 코드에 붙은 스택 트레이스 등이다. 조각(fragment) 기반 표현은 이러한 참조를 무손실로 만들어서, 텍스트가 변해도 각 층위가 같은 구간에 붙어 있게 한다. 에이전트는 이러한 차원들을 함께 읽고, 인간이 자신의 작업을 감사(audit)할 수 있도록 인용하고, 매번 모든 링크를 참을성 있게 따라갈 수 있다. 하지만 그 링크들은 에이전트가 찾을 수 있으려면 실제로 어딘가에 존재해야 한다. 이제 넬슨의 비전을 다시 보면, 나는 DeltaDB의 설계 목표와 Delta의 약속을 알아본다. 수십 년 동안 인간의 주의 집중 시간 한계에 맞춰 역사를 눌러 담아온 후, 우리는 더 자날로지컬한 무언가가 더 잘 서비스할 수 있는 새로운 현실에 들어섰다. 부품이 존재하기 전에 시스템을 구축하는 법 몇 년 전, 나는 엥겔바트(Engelbart)의 1968년 데모를 보며 협업 편집기를 만들려면 그의 팀이 의존하게 될 모든 것을 직접 발명해야 했다는 것을 깨달았다는 글을 썼다. 새로운 프로그래밍 언어, 운영체제, 디스플레이 등을 말이다. 넬슨도 같은 문제를 겪었다(하지만 엥겔바트가 누렸던 것보다 훨씬 적은 자금으로). 그는 자나두의 대부분의 부품이 존재하지 않아서 만들 수 없었다. 예를 들어 어떤 기관도 발급하지 않는 방식으로 콘텐츠에 이름을 붙이는 방법이나, 절대 삭제하지 않을 만큼 저렴한 저장 공간 같은 것. 그의 팀들은 수년간 자체 데이터 구조를 손수 만들었지만, 프로젝트는 덩굴에서 시들어 죽었다. 와이어드(Wired)는 넬슨의 이야기를 관리 실패의 서사로 그렸지만, 나는 그가 자나두의 의존성 트리가 존재하기 수십 년 전에 명세를 만들었을 뿐이라고 생각한다. 의존성 트리는 오늘 존재한다 우리가 오늘날 Delta를 만들 수 있는 이유는 다른 사람들의 60년간의 로드맵이 도큐버스의 빠진 조각들을交付해줬기 때문이다: 커널 개발, 사진 저장, 서버리스 콜드 스타트, 협업 커서 등. 돌파구들이...
Ted Nelson has been on my mind a lot this year. Nelson was a pioneer in computing, and in 1965 he coined the word hypertext as part of the project that would define his career: Project Xanadu . With Xanadu, he had a specific vision of what computing could be, which he called the docuverse . He imagined a system that could keep every version of a document; hypertext links would know both their source and destination, and quotations would be kept by reference (rather than copy) so any included text maintained its identity and source. Everything, in this version of computing, would be intertwingled and xanalogical . We're talking about attribution down to the span. To be xanalogical is to follow two rules: Never copy, always reference (also known by a Nelsonism, transclusion ). Never overwrite, always version. As Nelson designed it, Xanadu would manage the system's complexity and massive bookkeeping burden itself, so users only experienced the benefits of a system that could never forget. The vision of unlimited bookkeeping requires the reality of unlimited storage and a future-proof naming scheme, neither of which existed for the decades that Nelson worked on Xanadu. So when web technology exploded in the '90s, developers bypassed xanalogical computing in favor of ease: links are simple strings which break if their target moves. Maintenance became users' problems — instead of the system's responsibility — but it was easy for anyone to ship fast, and they did. Xanadu faded from the promise of a new era into computing's most famous vaporware . Nelson has spent his career explaining that the web is a flattened parody of what hypertext was meant to be. He's right, but it didn't matter because people didn't actually need to be able to follow every link or compare every version. We're a restless species, and more inclined to follow the links or read the versions we see others pursuing. Flat was good enough. Then agents arrived. What makes an agent an awkward collaborator also makes it a perfect citizen for Nelson's system. Agents can follow more layers of subtext than people can hold in their heads at once, such as the sources behind a quotation, any discussion around it, and stack traces attached to the exact code that ran. A fragment-based representation makes those references lossless, so each layer stays attached to the same span as the text changes. Agents can read these dimensions together, cite them so humans can audit their work, and patiently follow every link, every time. But those links need to actually exist somewhere in order for an agent to find them. When I revisit Nelson's vision now, I recognize DeltaDB's design goals and the promise of Delta . After decades of squashing history to meet the limits of the human attention span, we're in a new reality that would be better served by something more... xanalogical. How to build a system before the parts exist A few years ago I wrote about watching Engelbart's 1968 demo and my realization that to build a collaborative editor, his team had to invent everything it would rely on: a new programming language, operating system, and displays. Nelson had the same problem (but with way less funding than Engelbart enjoyed). He couldn't build Xanadu because most of its parts didn't exist, such as a way to name content that no authority issues, or storage cheap enough to never delete. His teams hand-built their own data structures for years, but the project died on the vine. Wired depicted Nelson's story as one of mismanagement, but I think he'd just specified Xanadu decades before its dependency tree existed. The dependency tree exists today We can build Delta today because sixty years of other people's roadmaps delivered the docuverse's missing pieces: kernel development, photo storage, serverless cold starts, collaborative cursors. I think it's fascinating that breakthroughs have ordinary day jobs, yet will enable the next era of computing. A clock for a world with no center. Lamport timestamps, 1978. Every operation by every human and agent is named by an actor plus a Lamport timestamp, forever. Names that can't lie. Merkle trees, 1979, made ordinary by Git in 2005. A Git commit hash names an exact immutable project state; DeltaDB names every state between commits by the Git commit it descends from and the set of actor-and-timestamp delta IDs applied above it. Convergence without coordination. CRDTs, formalized in 2011, and the center of Zed's own work for the past decade. A Delta worktree can be edited by several people and agents on different continents at once. Storage too cheap to delete. A gigabyte cost tens of thousands of dollars in 1981; it costs a penny now. We keep every version of everything by default. Networks that replicate everything. Always-on and fast broadband overtook dial-up in the mid-2000s. Every thread is live, replicated data on every participant's machine and in the browser. Machines summoned in milliseconds. Firecracker-class microVMs, 2018. Agents in Delta can provision a new isolated cloud machine mid-conversation. Documents as views over permanent content. Max Brunsfeld's Tree-sitter , 2018, fast enough to reparse as you type. GPUI, pioneered with Zed, fast enough to derive a fresh interface from application state whenever a frame is drawn. A Delta thread is a live projection of its permanent structured history, recomputed rather than stored as a flattened document. On one detail — across a career of being told his dreams were too big — Nelson dreamt too small. The final dependency he was missing was a new kind of user. He didn't imagine artificial readers, though they existed in science fiction (like Asimov's Multivac, or Stephenson's Librarian). Though Xanadu was blocked for decades by missing components, what it needed most was the perfect user. Why the docuverse is materializing in version control Most actual code creation has always happened between commits , but it used to hurt less to flatten the context because we got by on human memory (and nobody was going to read full records of keystroke changes anyway). But agents keep nothing in their heads, and they'll read everything , so we need a way to capture the new source of truth using exactly what Nelson specified: permanence and connection. Every Delta thread delivers on that promise. The conversation and the code are captured together in a shared history. On screen, a file still looks like a one-dimensional string of characters but underneath, DeltaDB represents it as fragments with stable identities. Those identities let us create anchors: references to spans that can still be resolved after surrounding code changes. A line number can express where text appears in one snapshot, while an anchor preserves which span we mean across snapshots. We have been exploring how agents can build on that coordinate system. The files and symbols earlier agents repeatedly read, edited, cited, or returned to can become landmarks for the next agent, resolved against the code as it exists now and linked back to the conversations where that understanding was formed. By preserving the causal metadata beneath that surface representation, like which operation produced each fragment and what prior state it built on, DeltaDB gives the model a way to traverse not just the current code, but its provenance, accumulated attention, and prior reasoning. Avoiding Xanadu's curse Xanadu had a final failure mode, this one self-inflicted: it refused to interoperate with lesser formats. As we introduce DeltaDB to the world, we're learning from that mistake. We'll work with the git repository you already have. Every thread is also a git branch, so teammates who never open Delta see a normal repo, and because the files are real, it integrates seamlessly with any tool an agent can use. You can