AIニュース最前線
最新ニュースAI日報Hacker日報週報動画AIツールトレンド企業

AIニュース最前線

世界中のAI最新情報を日本語で毎時更新

最新ニュース日報トレンド企業プレミアムRSS
© 2026 ainew.jp特定商取引法に基づく表記
ニュース一覧元記事を開く
Cloudflare Blog·2026年4月16日 22:00·約7分で読める

アーティファクト:Gitと連携するバージョン管理ストレージ

#AIエージェント#分散ストレージ#Git互換#Cloudflare Workers#ソースコントロール
TL;DR

CloudflareはAIエージェントの大量コード生成と並行作業に対応するため、Git互換かつAPI経由でリポジトリをプログラム的に生成・管理できる分散型バージョン管理システム「Artifacts」を公開した。

AI深層分析2026年4月17日 01:45
4
重要/ 5段階
深度40%
4
関連度30%
4
実用性20%
3
革新性10%
4

キーポイント

1

エージェント特化のバージョン管理基盤

人間の利用を前提とした従来のソースコントロールでは対応できない、AIエージェントによる10倍規模のコード生成と並行作業に対応する新たなプリミティブとして設計されている。

2

Git互換性とプログラム制御の両立

通常のGitクライアントで操作可能でありながら、REST APIやWorkers APIを通じてエージェントセッションやサンドボックスごとにリポジトリを動的に作成・管理できる。

3

既存リポジトリのインポートとフォーク機能

GitHubなどの既存リポジトリからブランチをインポートし、エージェントが独立して作業・変更をプッシュできる読み取り専用フォークを生成する機能を提供する。

4

ベータ公開と利用計画

現在、有料Workersプランのユーザー向けにプライベートベータを提供中であり、2025年5月上旬にはパブリックベータへ移行する予定である。

5

エージェントとの親和性とブートストラップ問題の回避

AIエージェントはGitの操作に深く学習されており、標準的なHTTPS GitリモートURLを提供するだけで高い精度で動作する。これにより、独自プロトコルを開発する必要やカスタムスキルの配布といった初期導入の摩擦を排除できる。

6

セッションの共有・フォークとタイムトラベル

Cloudflare内部ではサンドボックス状態の永続化やセッション履歴の時系列遡及に利用され、URLを共有することで任意の時点からセッションをフォークし、協力やデバッグを容易に行える。

7

ソースコード管理以外のデータ永続化

Gitの「差分比較」「ロールバック」「クローン」というセマンティクスは、バージョン管理そのものが不要な顧客設定の保存や状態管理など、あらゆるデータの永続化に適用できる。

影響分析・編集コメントを表示

影響分析

本発表は、AIエージェントが生成するコードの量と速度に対応するインフラ層の成熟を示す。Gitという既存のデファクトスタンダードを尊重しつつ、エージェント特有の「状態永続化」と「並列バージョン管理」を解決することで、AIアプリケーション開発の標準パイプラインに組み込まれる可能性が高い。Cloudflareのプラットフォームロックインを強めつつ、エコシステム全体の開発効率を底上げする波及効果が期待できる。

編集コメント

エージェントの並列作業と状態管理という実務課題をGitエコシステムに統合したアプローチは、AI開発パイプラインの標準化に寄与する。ただし、大規模なコミット頻度に対するストレージコストとアクセス制御の最適化が今後の課題となる。

ほとんどのリポジトリはそれほど大きくなく、Gitはストレージ効率が極めて高くなるように設計されています:ほとんどのリポジトリは最大でも数秒でクローンでき、その時間は主にネットワーク設定、認証、チェックサム計算に費やされます。ほとんどのエージェントやサンドボックスのシナリオでは、これは実用的です:サンドボックス起動時にリポジトリをクローンして作業を開始するだけです。

しかし、数GBのリポジトリや、数百万のオブジェクトを持つリポジトリはどうでしょうか?エージェントが作業を開始するのを数分間ブロックし、コンピュートリソースを消費することなく、そのようなリポジトリを素早くクローンするにはどうすればよいでしょうか?

ある人気のあるウェブフレームワーク(2.4GBで長い歴史を持っています!)はクローンに約2分かかります。シャロー(浅い)クローンはより速いですが、1桁秒まで短縮するには不十分で、常に履歴を省略したいわけでもありません(エージェントは履歴を有用とします)。

大きなリポジトリを約10〜15秒まで短縮して、エージェントが作業を開始できるようにできるでしょうか?はい、いくつかの工夫で可能です。

Artifactsのローンチの一環として、ArtifactFSをオープンソース化します。これは、大きなGitリポジトリを可能な限り速くマウントするように設計されたファイルシステムドライバーで、初期クローンでブロックする代わりに、ファイルコンテンツをオンデマンドでハイドレート(読み込み)します。これは、起動時間が重要なエージェント、サンドボックス、コンテナ、その他のユースケースに理想的です。大きなリポジトリごとにサンドボックスの起動時間を約90〜100秒短縮でき、月に10,000件のサンドボックスジョブを実行している場合:2,778サンドボックス時間を節約できます。

ArtifactFSを「非同期Gitクローン」と考えることができます:

ArtifactFSはGitリポジトリのブロブレス(blobless)クローンを実行します:ファイルツリーと参照(refs)を取得しますが、ファイルコンテンツは取得しません。これはサンドボックス起動中に行うことができ、その後、エージェントハーネスが作業を開始できるようになります。

バックグラウンドでは、軽量なデーモンを通じてファイルコンテンツを並行してハイドレート(ダウンロード)し始めます。

エージェントが通常最初に操作したいファイルを優先します:パッケージマニフェスト(package.json、go.mod)、設定ファイル、コードであり、可能な限りバイナリブロブ(画像、実行ファイル、その他の非テキストファイル)を優先度下げするので、ファイル自体がハイドレートされている間にエージェントがファイルツリーをスキャンできます。

エージェントがファイルを読み取ろうとしたときにファイルが完全にハイドレートされていない場合、読み取りはハイドレートが完了するまでブロックされます。

ファイルシステムはファイルをリモートリポジトリに「同期」しようとはしません:数千または数百万のオブジェクトでは、通常これは非常に遅く、Gitを扱っているため、その必要はありません。エージェントは、他のリポジトリと同様に、コミットしてプッシュするだけです。新しいAPIを学ぶ必要はありません。

重要なことに、ArtifactFSは自社のArtifactsだけでなく、任意のGitリモートで動作します。GitHub、GitLab、またはセルフホストのGitインフラストラクチャから大きなリポジトリをクローンする場合でも、ArtifactFSを使用できます。

What’s coming?

本日のリリースはベータ版に過ぎず、今後数週間で実装されるいくつかの機能に既に取り組んでいます:

公開する利用可能なメトリクスの拡張。本日、名前空間ごとの主要操作回数、リポジトリごとのメトリクス、リポジトリごとの保存バイト数のメトリクスを提供しているので、数百万のArtifactsを管理するのが煩雑になりません。

リポジトリレベルのイベントのためのイベントサブスクリプション(Event Subscriptions)のサポート。これにより、名前空間内の任意のリポジトリに対するプッシュ、プル、クローン、フォークのイベントを発行できます。これにより、イベントを消費し、ウェブフックを書き、それらのイベントを使用してエンドユーザーに通知したり、製品内のライフサイクルイベントを駆動したり、プッシュ後のジョブ(CI/CDなど)を実行したりできます。

Artifacts APIと対話するためのネイティブのTypeScript、Go、PythonクライアントSDK

リポジトリレベルの検索APIと名前空間全体の検索API、例えば「package.jsonファイルを持つすべてのリポジトリを検索」など。

また、Workers BuildsのAPIも計画しており、任意のエージェント駆動ワークフローでCI/CDジョブを実行できるようにします。

What will it cost me?

Artifactsはまだ初期段階ですが、エージェント規模で機能する価格設定を目指しています:数百万のリポジトリを持つことが費用対効果的である必要があり、未使用(またはほとんど使用されない)リポジトリが負担にならず、価格設定がエージェントの大規模シングルテナント(massively-single-tenant)の性質に合致するべきです。

また、リポジトリが使用されるかどうか、ホットかコールドか、エージェントがそれを起動するかどうかを考える必要もありません。消費するストレージと各リポジトリに対する操作(クローン、フォーク、プッシュ&プルなど)に対して課金します。

単価あたり

含まれるもの

操作

1,000操作あたり$0.15

最初の10,000回は含まれる(月ごと)

ストレージ

$0.50/GB-月

最初の1GBは含まれる。

大きく、頻繁に使用されるリポジトリは、小さく、あまり使用されないリポジトリよりもコストが高くなります。1,000、100,000、または1,000万のリポジトリを持っているかどうかに関わらず。

また、ベータ版が進むにつれて、ArtifactsをWorkers Freeプラン(適切な制限付き)にも提供し、この価格設定が変更される場合や使用量の課金前に、ベータ版を通じて更新を提供します。

Where do I start?

imageimage

Artifactsはプライベートベータ版でローンチしており、パブリックベータ版は2025年5月上旬に準備が整う予定です(明確にするために!)。今後数週間かけて顧客を段階的に受け入れ、プライベートベータ版への関心を直接登録できます。

それまでの間、以下の方法でArtifactsについてさらに学ぶことができます:

ドキュメントの入門ガイドを読む。

Cloudflareダッシュボード(Build > Storage & Databases > Artifacts)を訪問する。

REST APIの例を読む。

Artifactsが内部でどのように動作するかについてさらに学ぶ。

変更ログをフォローしてベータ版の進捗を追跡する。

Watch on Cloudflare TV

原文を表示

Agents have changed how we think about source control, file systems, and persisting state. Developers and agents are generating more code than ever — more code will be written over the next 5 years than in all of programming history — and it’s driven an order-of-magnitude change in the scale of the systems needed to meet this demand. Source control platforms are especially struggling here: they were built to meet the needs of humans, not a 10x change in volume driven by agents who never sleep, can work on several issues at once, and never tire.

We think there’s a need for a new primitive: a distributed, versioned filesystem that’s built for agents first and foremost, and that can serve the types of applications that are being built today.

We’re calling this Artifacts: a versioned file system that speaks Git. You can create repositories programmatically, alongside your agents, sandboxes, Workers, or any other compute paradigm, and connect to it from any regular Git client.

Want to give every agent session a repo? Artifacts can do it. Every sandbox instance? Also Artifacts. Want to create 10,000 forks from a known-good starting point? You guessed it: Artifacts again. Artifacts exposes a REST API and native Workers API for creating repositories, generating credentials, and commits for environments where a Git client isn’t the right fit (i.e. in any serverless function).

Artifacts is available in private beta for any developers on the paid Workers plan, and we’re aiming to open this up as a public beta by early May.

// Create a repo

const repo = await env.AGENT_REPOS.create(name)

// Pass back the token & remote to your agent

return { repo.remote, repo.token }

# Clone it and use it like any regular git remote

$ git clone https://x:${TOKEN}@123def456abc.artifacts.cloudflare.net/git/repo-13194.git

That’s it. A bare repo, ready to go, created on the fly, that any git client can operate it against.

And if you want to bootstrap an Artifacts repo from an existing git repository so that your agent can work on it independently and push independent changes, you can do that too with .import():

interface Env {

ARTIFACTS: Artifacts

}

export default {

async fetch(request: Request, env: Env) {

// Import from GitHub

const { remote, token } = await env.ARTIFACTS.import({

source: {

url: "https://github.com/cloudflare/workers-sdk",

branch: "main",

},

target: {

name: "workers-sdk",

},

})

// Get a handle to the imported repo

const repo = await env.ARTIFACTS.get("workers-sdk")

// Fork to an isolated, read-only copy

const fork = await repo.fork("workers-sdk-review", {

readOnly: true,

})

return Response.json({ remote: fork.remote, token: fork.token })

},

}

Check out the documentation to get started, or if you want to understand how Artifacts is being used, how it was built, and how it works under the hood: read on.

Why Git? What’s a versioned file system?

Agents know Git. It’s deep in the training data of most models. The happy path and the edge cases are well known to agents, and code-optimized models (and/or harnesses) are particularly good at using git.

Further, Git’s data model is not only good for source control, but for anything where you need to track state, time travel, and persist large amounts of small data. Code, config, session prompts and agent history: all of these are things (“objects”) that you often want to store in small chunks (“commits”) and be able to revert or otherwise roll back to (“history”).

We could have invented an entirely new, bespoke protocol… but then you have the bootstrap problem. AI models don’t know it, so you have to distribute skills, or a CLI, or hope that users are plugged into your docs MCP… all of that adds friction.

If we can just give agents an authenticated, secure HTTPS Git remote URL and have them operate as if it were a Git repo, though? That turns out to work pretty well. And for non-Git-speaking clients — such as a Cloudflare Worker, a Lambda function, or a Node.js app — we’ve exposed a REST API and (soon) language-specific SDKs. Those clients can also use isomorphic-git, but in many cases a simpler TypeScript API can reduce the API surface needed.

Not just for source control

Artifacts’ Git API might make you think it’s just for source control, but it turns out that the Git API and data model is a powerful way to persist state in a way that allows you to fork, time-travel and diff state for any data.

Inside Cloudflare, we’re using Artifacts for our internal agents: automatically persisting the current state of the filesystem and the session history in a per-session Artifacts repo. This enables us to:

Persist sandbox state without having to provision (and keep) block storage around.

Share sessions with others and allow them to time-travel back through both session (prompt) state and file state, irrespective of whether there were commits to the “actual” repository (source control).

And the best: fork a session from any point, allowing our team to share sessions with a co-worker and have them pick it up from them. Debugging something and want another set of eyes? Send a URL and fork it. Want to riff on an API? Have a co-worker fork it and pick up from where you left off.

We’ve also spoken to teams who want to use Artifacts in cases where the Git protocol isn’t a requirement at all, but the semantics (reverting, cloning, diffing) are. Storing per-customer config as part of your product, and want the ability to roll back? Artifacts can be a good representation of this.

We’re excited to see teams explore the non-Git use-cases around Artifacts just as much as the Git-focused ones.

Under the hood

Artifacts are built on top of Durable Objects. The ability to create millions (or tens of millions+) of instances of stateful, isolated compute is inherent to how Durable Objects work today, and that’s exactly what we needed for supporting millions of Git repos per namespace.

Major League Baseball (for live game fan-out), Confluence Whiteboards, and our own Agents SDK use Durable Objects under the hood at significant scale, and so we’re building this on a primitive that we’ve had in production for some time.

What we did need, however, was a Git implementation that could run on Cloudflare Workers. It needed to be small, as complete as possible, extensible (notes, LFS), and efficient. So we built one in Zig, and compiled it to Wasm.

Why did we use Zig? Three reasons:

 The entire git protocol engine is written in pure Zig (no libc), compiled to a ~100KB WASM binary (with room for optimization!). It implements SHA-1, zlib inflate/deflate, delta encoding/decoding, pack parsing, and the full git smart HTTP protocol — all from scratch, with zero external dependencies other than the standard library.

 Zig gives us  manual control over memory allocation which is important in constrained environments like Durable Objects. The Zig Build System lets us easily share  code between the WASM runtime (production) and native builds (testing against libgit2 for correctness verification).

The WASM module communicates with the JS host via a thin callback interface: 11 host-imported functions for storage operations (host_get_object, host_put_object, etc.) and one for streaming output (host_emit_bytes). The WASM side is fully testable in isolation.

Under the hood, Artifacts also uses R2 (for snapshots) and KV (for tracking auth tokens):

imageimage

How Artifacts works (Workers, Durable Objects, and WebAssembly)

A Worker acts as the front-end, handling authentication & authorization, key metrics (errors, latency) and looking up each Artifacts repository (Durable Object) on the fly.

Specifically:

Files are stored in the underlying Durable Object’s SQLite database.

Durable Object storage has a 2MB max row size, so large Git objects are chunked and stored across multiple rows.

We make use of the sync KV API (state.storage.kv)  which is backed by SQLite under the hood.

 DOs have ~128MB memory limits: this means we can spawn tens of millions of them (they’re fast and light) but have to work within those limits.

We make heavy use of streaming in both the fetch and push paths, directly returning a ReadableStream<Uint8Array> built from the raw WASM output chunks.

We avoid calculating our own git deltas, instead,  the raw deltas and base hashes are persisted alongside the resolved object. On fetch, if the requesting client already has the base object, Zig emits the delta instead of the full object, which saves bandwidth and memory.

Support for both v1 and v2 of the git protocol.

We support capabilities including ls-refs, shallow clones (deepen, deepen-since, deepen-relative), and incremental fetch with have/want negotiation.

We have an extensive test suite with conformance tests against git clients and verification tests against a libgit2 server designed to validate protocol support.

On top of this, we have native support for git-notes. Artifacts is designed to be agent-first, and notes enable agents to add notes (metadata) to Git objects. This includes prompts, agent attribution and other metadata that can be read/written from the repo without mutating the objects themselves.

Big repos, big problems? Meet ArtifactFS.

Most repos aren’t that big, and Git is designed to be extremely efficient in terms of storage: most repositories take only a few seconds to clone at most, and that’s dominated by network setup time, auth, and checksumming. In most agent or sandbox scenarios, that’s workable: just clone the repo as the sandbox starts and get to work.

But what about a multi-GB repository and/or repos with millions of objects? How can we clone that repo quickly, without blocking the agent’s ability to get to work for minutes and consuming compute?

A popular web framework (at 2.4GB and with a long history!) takes close to 2 minutes to clone. A shallow clone is faster, but not enough to get down to single digit seconds, and we don’t always want to omit history (agents find it useful).

Can we get large repos down to ~10-15 seconds so that our agent can get to work? Well, yes: with a few tricks.

As part of our launch of Artifacts, we’re open-sourcing ArtifactFS, a filesystem driver designed to mount large Git repos as quickly as possible, hydrating file contents on the fly instead of blocking on the initial clone. It's ideal for agents, sandboxes, containers and other use cases where startup time is critical. If you can shave ~90-100 seconds off your sandbox startup time for every large repo, and you’re running 10,000 of those sandbox jobs per month: that’s 2,778 sandbox hours saved.

You can think of ArtifactFS as “Git clone but async”:

ArtifactFS runs a blobless clone of a git repository: it fetches the file tree and refs, but not the file contents. It can do that during sandbox startup, which then allows your agent harness to get to work.

In the background, it starts to hydrate (download) file contents concurrently via a lightweight daemon.

It prioritizes files that agents typically want to operate on first: package manifests (package.json, go.mod), configuration files, and code, deprioritizing binary blobs (images, executables and other non-text-files) where possible so that agents can scan the file tree as the files themselves are hydrated.

If a file isn’t fully hydrated when the agent tries to read it, the read will block until it has.

The filesystem does not attempt to “sync” files back to the remote repository: with thousands or millions of objects, that’s typically very slow, and since we’re speaking git, we don’t need to. Your agent just needs to commit and push, as it would with any repository. No new APIs to learn.

Importantly, ArtifactFS works with any Git remote, not just our own Artifacts. If you’re cloning large repos from GitHub, GitLab, or self-hosted Git infrastructure: you can still use ArtifactFS.

What’s coming?

Our release today is just the beta, and we’re already working on a number of features that you’ll see land over the next few weeks:

Expanding the available metrics we expose. Today we’re shipping metrics for key operations counts per namespace, repo and stored bytes per repo, so that managing millions of Artifacts isn’t toilsome.

Support for Event Subscriptions for repo-level events so that we can emit events on pushes, pulls, clones, and forks to any repository within a namespace. This will also allow you to consume events, write webhooks, and use those events to notify end-users, drive lifecycle events within your products, and/or run post-push jobs (like CI/CD).

Native TypeScript, Go and Python client SDKs for interacting with the Artifacts API

Repo-level search APIs and namespace-wide search APIs, e.g. “find all the repos with a package.json file”.

We’re also planning an API for Workers Builds, allowing you to run CI/CD jobs on any agent-driven workflow.

What will it cost me?

We’re still early with Artifacts, but want our pricing to work at agent-scale: it needs to be cost effective to have millions of repos, unused (or rarely used) repos shouldn’t be a drag, and our pricing should match the massively-single-tenant nature of agents.

You also shouldn’t have to think about whether a repo is going to be used or not, whether it’s hot or cold, and/or whether an agent is going to wake it up. We’ll charge you for the storage you consume and the operations (e.g. clones, forks, pushes & pulls) against each repo.

$/unit

Included

Operations

$0.15 per 1,000 operations

First 10k included (per month)

Storage

$0.50/GB-mo

First 1GB included.

Big, busy repos will cost more than smaller, less-often-used repos, whether you have 1,000, 100,000, or 10 million of them.

We’ll also be bringing Artifacts to the Workers Free plan (with some fair limits) as the beta progresses, and we’ll provide updates throughout the beta should this pricing change and ahead of billing any usage.

Where do I start?

imageimage

Artifacts is launching in private beta, and we expect public beta to be ready in early May (2026, to be clear!). We’ll be allowing customers in progressively over the next few weeks, and you can register interest for the private beta directly.

In the meantime, you can learn more about Artifacts by:

Reading the getting started guide in the docs.

Visiting the Cloudflare dashboard (Build > Storage & Databases > Artifacts)

Reading through the REST API examples

Learning more about how Artifacts works under the hood

Follow the changelog to track the beta as it progresses.

Watch on Cloudflare TV

この記事をシェア

関連記事

The Register AI/ML★42026年4月28日 01:20

AIの現実検証:3社がウォレット、住宅、ゲーム構築で学んだこと

シティ、ホームデポ、カプコンの経営陣は、AIエージェントが実験ツールから顧客対応業務へ移行する過程で得た知見を語った。次なる課題は、金銭や創造的出力に関わる際のガバナンスと信頼性の確保である。

The Decoder★42026年4月25日 19:18

アンストロピック「強力なAIモデルはより良い取引を実現し、劣るモデルを使う利用者は気づかない」

アンストロピックは社内市場で69のAIエージェントに取引をさせ、強力なモデルがより良い結果を出した。利用者は劣るモデルの差に気づかず、AIの実取引化は経済格差を拡大させる可能性がある。

The Verge AI★32026年4月24日 07:27

ClaudeがSpotifyやUber Eatsなどの個人アプリに直接接続

AnthropicはClaudeがSpotifyやUber Eats、TurboTaxなどの個人アプリに直接接続できる新機能を提供した。これにより、ユーザーはハikingから grocery shopping まで多様なサービスを利用可能になる。

ニュース一覧に戻る元記事を読む