DeltaDB
DeltaDBは、オープンソースの高速なコードエディタZedの新機能として開発意向が表明されたデータベース機能です。
その基本的な役割は、AIへの指示やAIによるコード編集の内容を詳細に保存することです。
共同コーディングのための新種のデータベース(a new kind of database for collaborative coding)と位置づけられています。
目的:AIとの対話コンテキストの保存
Zed Industries社は、多くのコードエディタで一般的に用いられるGitによるコミットベースのワークフローでは、この重要なコンテキストが失われてしまうと指摘しています。
DeltaDBの目的は、AIを活用したコーディングにおいて、人間の指示とその結果AIが行ったコードの生成や変更というコンテキストがすべて失われてしまうという、従来のワークフローの課題を解決することです。
技術:CRDTの採用と記録内容
DeltaDBの技術的な中心は、CRDT(Conflict-free Replicated Data Type)というデータ型を用いたデータベースです。
CRDTはリアルタイムで複数のユーザーが同時に共同編集を行ったとしても、コンフリクトを起こさないという特性があります。
DeltaDBは、これを活用してZedエディタに対する操作のレベルで詳細な記録を行います。記録内容には、主に人間のコードの編集、AIに対するプロンプト(指示)、そしてAIによるコードの編集が含まれます。
CRDTを採用している理由
記録単位がZedでの操作のレベル(人間のコード編集、AIへのプロンプト、AIによるコード編集など)になることで、人間とAIエージェントとの議論が、それぞれに関連するコードの場所に永続的にリンクされ、常に最新の状態に保たれる動的で追跡可能な履歴が実現されます。
これにより、コードベースは、コードそれ自体だけでなく、コードがどのように、そしてなぜその状態になったのかという背景情報(コンテキスト)を組み込むことができるようになります。このコンテキストにより、AIエージェントは、既存のコードを形作った仮定、制約、決定を理解し、より多くの情報に基づいた編集を行うことができるようになります。
DeltaDBがCRDTを採用しているのは、こうした細かな対話の単位を失わずに蓄積し、リアルタイムでの整合性を保ちながら、コードと常に同期したかたちで履歴を更新し続けるためです。
まとめ
DeltaDBにより、AIと人間との対話の記録がコードがなぜそうなっているのかというコンテキストを記録できるようになることで、AIエージェントがコードをより深く理解できるようになることが期待されています。
ZedがDeltaDBを通じて目指すビジョンは、コードベースを、ソフトウェアがどのように進化したかを示すような動的で追跡可能な履歴にすることです。これは、人間とAIエージェントとの議論の記録が、それぞれに関連するコードの場所に永続的にリンクされ、常に最新の状態に保たれることで実現されます。
このデータベースは、バージョン管理の行うコードの保持を超えて、コードがどのような理由で、また、どのような過程を経てその段階の状態になったのかの情報を持っています。Zed Industries社はAIエージェントがこれら背景情報を用いて既存のコードを形作った仮定、制約、決定を理解することで、より人間の意図に沿ったコーディングが可能になると期待しています。
参考
そのコードはなぜそうなっているのか、AIとの対話記録によりコードのコンテキストを保存する。オープンソースのコードエディタ「Zed」が新記録機能「DeltaDB」の開発表明 - Publickey
DeltaDB|Notebook共有リンク LM
追記・考察
DeltaDB が扱う操作レベルの非常に細かな履歴は、コードがどのような過程を経て現在の姿になったのかを理解するために大きな価値を持つ。ただし、このような細分化されたログが長期間にわたって蓄積されると、そのまま読むには膨大すぎる情報になり、従来の変更履歴と同様に全体像を把握することが難しくなるということが懸念される。
これに対する考え方の一つは、履歴を作業者である人間やLLMが直接すべて確認することは前提でないという見方かもしれない。記録された膨大な更新情報や操作履歴を、仲介役の圧縮担当のモデルが編集することで、変更の意図や背景を含んだ要約を生成すれば、LLMや人間にも扱える可能性がある。こうした要約を参照することで、膨大な履歴が実質的に活用しやすい情報資源となる。