グラフファーストのプログラムモデル
エージェントは生のテキストではなくセマンティックグラフを扱うため、編集対象はノード、フィールド、呼び出し、宣言、その他のプログラム事実そのものになります。
Zeroは、エージェント支援開発向けの実験的なグラフファースト型プログラミング言語です。検証済みのセマンティック編集、レビューしやすいプロジェクション、変更適用前に検証するコンパイラで、安心して開発できます。
Zeroは、エージェント支援開発向けに構築された実験的なグラフファースト型プログラミング言語です。グラフをプログラムデータベースとして扱うため、エージェントはセマンティック構造を照会し、検証済みの編集を送信し、変更がパッケージの一部になる前にコンパイラによる検証に依存できます。
このサイトでは、Zero は人間が成果を依頼し、エージェントが編集ループを実行する場面に向いたツールとして位置付けられています。人間はプロジェクションとコマンド出力を確認し、コンパイラは形状チェック、古い状態の保護、リポジトリメタデータの検証を通じてグラフの整合性を保ちます。
エージェントは生のテキストではなくセマンティックグラフを扱うため、編集対象はノード、フィールド、呼び出し、宣言、その他のプログラム事実そのものになります。
パッチは、受け入れられる前にグラフハッシュ、期待値、形状ルール、リポジトリメタデータに対して検証されます。
コンパイラは、古い編集や無効な編集がストアに触れる前に拒否するため、エージェントにとって編集ループがより決定的になります。
読みやすい `.0` プロジェクションは、テキストを主たるプログラムデータベースにせずに、レビューやまれな手動編集のためのソース風ビューを提供します。
日常的なワークフローには、エージェント支援開発向けの query、patch、check、test、run、build コマンドが含まれます。
ランタイムの目標は、小さく、高速で、明示的、依存関係なしのシステムであり、低メモリ使用量と高速な起動・ビルドを重視しています。
エージェントが関数の追加、呼び出しの更新、型付きのプログラム事実の調整など、テキスト範囲を手作業で書き直さずにセマンティックなコード変更を行う必要がある場合に Zero を使います。
人間が変更を受け入れたり手動で調整したりする前に、プログラムの読みやすい表現を確認したい場合は、プロジェクションとレビューのフローを使います。
古い状態の保護と検証によって、無効な編集がストアを変更する前に失敗するようにしたい場合は、検証済みパッチのワークフローを使います。
ローカルパッケージを準備するためのインストールとブートストラップのフローを使い、その後、query、patch、check、test、run、build コマンドの日常ループを実行します。
グラフで管理されたプログラムから実行可能成果物、オブジェクト成果物、または LLVM IR 成果物が必要なとき、特に初期の探索段階では build と run コマンドを使います。
Zeroは、人間とエージェントが協力して使うように設計されています。エージェントはグラフを通じてプログラムを作成し、人間は必要に応じてグラフの要約、コマンド出力、`.0` プロジェクションを確認します。
はじめにガイドでは、`curl -fsSL https://zerolang.ai/install.sh | bash` を実行し、次に `$HOME/.zero/bin` を `PATH` に追加して `zero --version` を実行する手順が示されています。また、`npx skills add vercel-labs/zerolang` でエージェントのブートストラップスキルをインストールすることも案内されています。
ソースでは、日々の作業ループとして `zero query`、`zero patch`、`zero check`、`zero test`、`zero run`、`zero build` を使うよう説明されています。また、`zero export` と `zero verify-projection` は人間によるレビューのワークフロー向けだと記されています。
サイトでは、Zero は 1.0 未満の実験段階であり、破壊的変更が予想されると説明されています。また、本番システムではなく、安全な環境で実行するよう案内しています。
この製品は、人間が読みやすく確認できる `.0` プロジェクションを中心に設計されていますが、グラフデータベースそのものはコンパイラが管理し、そこへエージェントが編集を加えます。人間がときどきプロジェクションを編集することはできますが、基本的にはエージェントが `zero query` と `zero patch` を通じて作業する想定です。