「Code and Let Live」を日本語に訳すと、  
**「コードと生きる」** となります。

2026/01/10 4:11

「Code and Let Live」を日本語に訳すと、 **「コードと生きる」** となります。

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

Fly.io の新しい「Sprites」は、軽量で耐久性のある Linux マシンです。約 100 GB の永続ストレージを持ち、1〜2 秒で起動し、アイドル状態になると自動的にシャットダウンします。インスタントチェックポイント&リストア(≈1 秒)に対応しており、破壊的な変更後も開発者が迅速に回復できます。Fly.io の Anycast ネットワーク上で稼働し、Dockerfile や読み取り専用サンドボックス制限なしで HTTPS URL を提供します。その結果、完全なシステムアクセスを得られ、状態のないコンテナではなく、一時的に使い捨てるコンピュータとして機能します。

従来の EC2 インスタンスと比較すると、Sprites は大量に起動でき、明示的に停止しない限り完全に耐久性を保ちます。Fly Machines とは異なり、Sprites は新しいストレージ スタックと別のオーケストレーションを使用し、Dockerfile が不要です。著者は、読み取り専用サンドボックスが Claude のようなエージェントワークロードを妨げる(永続的なストレージと完全な計算サイクルが欠如している)と主張し、Sprites はエージェントに状態を保持させ、各プルリクエストごとに環境を再構築する必要をなくし、S3、Redis、RDS などの外部サービスとネイティブに対話できるようにします。

この記事は、読み取り専用サンドボックス時代が終わったことを示唆しており、開発者はエージェントワークロード向けに Sprites のような使い捨て型 VM ライクなインスタンスを採用すべきだと提案しています。これにより、クラウド業界全体で柔軟かつ耐久性のあるコンピュートへのシフトが進む可能性があります。

本文

イメージは Annie Ruygt さんのものです

エージェント隔離の最先端は「読み取り専用サンドボックス」です。Fly.io では長年この話を語ってきましたが、私たちはこれに対してこう呼んでいます:
“揮発性のサンドボックスは時代遅れだ”。使うたびにサンドボックスを消す必要はありません。

私の主張は、新しく構築したものを示さなければ成り立ちません。ここでは大人同士、会社として話し合っているので、どうやってコードを走らせるかを説明します。


コード実行例

まず

sprite create
を実行します。処理中に何が起きているかを解説します。

✓ Created demo-123 sprite in 1.0s
● Connecting to console...
sprite@sprite:~#

ほら、すでにそこにあります。

これは私たちが所有する Linux コンピュータの root シェルです。既存のホストへ SSH する時間とほぼ同じ時間で起動します。これを Sprite と呼んでいます。

FFmpeg をインストール

sudo apt-get install -y ffmpeg >/dev/null 2>&1

apt‑get
ffmpeg
を入れるのは遅いです。もう一度やらないようにしましょう:

sprite@sprite:~# sprite-env checkpoints create
# ...
Checkpoint v1 created successfully

これだけで完了します。測定もしません。

コーヒーを買いに離れます。時間が経つと Sprite は自動的にスリープ状態になります。カフェで旧友に会い、数日過ごして戻ると:

> $ sprite console 
sprite@sprite:~# ffmpeg
ffmpeg version 7.1.1-1ubuntu1.3 Copyright (c) 2000‑2025 the FFmpeg developers
Use -h to get full help or, even better, run 'man ffmpeg'
sprite@sprite:~#

何も変わっていません。Sprite は耐久性があります。最初に 100 GB の容量を持ち、儀式は不要です。数日、数か月使い続けても問題ありません。

アプリケーションを立て、パッケージを増やすと…何かが壊れます(

pip3 install .
rm -rf $HOME/bin
dd if=/dev/random of=/dev/vdb
など)。その場合:

> $ sprite checkpoint restore v1
Restoring from checkpoint v1...
Container components started successfully
Restore from v1 complete

> $ sprite console
sprite@sprite:~#

チェックポイントとリストアは一級品です。復元に約1秒で、日常的に使える速度です。Git のようにシステム全体を扱うツールとして意図されています。


EC2 との違い

EC2 インスタンスとはどう違うかと聞くなら、答えは簡単です:

  • Docker コンテナなしで数百個を気軽に作れます。起動時間は 1–2 秒。
  • アイドル状態になると自動的に料金が停止するので、多数持つのが安価です。私は数十台使っています。
  • Anycast ネットワークに接続され、HTTPS URL が取得できます。
  • 完全耐久性。手で止めるまで死なない。

この組み合わせはまだ名前がありませんでしたから Sprite と名付けました――使い捨てクラウドコンピュータのようです。


Claude はステートレス・コンテナを望まない

長年、同じ抽象化で二種類のユーザーにサービスを提供しようとしましたが、うまくいきませんでした。プロフェッショナルな開発者は「状態のないインスタンス」を作る訓練を受けています。永続データはデータベースサーバに限定することでシンプルさとスケールアウトの柔軟性、失敗範囲の縮小が実現します。

しかし Claude は 5 歳の超生産的天才です。電気ソケットを探し回り、コンテナから抜け出して自分で動かしたいと考えます。エージェントに強制すると、コンテナ化を迂回して作業しますが、助けにはなりません。彼らは「サンドボックス」ではなく「コンピュータ」を求めています。


シンプルな勝利

実際のコンピュータがあれば Claude は PR を拾うたびに開発環境を再構築する必要がありません。

node_modules
の再生成は大痛手で、業界は揮発性サンドボックスのスナップショットとリストアで数千万ドルを費やしています。しかしそれらは不要です。実際にコンピュータを使えば PR を修正しレビュー・プッシュした後、次へすぐ移行できます。

人々は「毎回新しいビルド環境から始めるべき」と合理化しますが、これは株スクール症候群です。自分で機能ブランチを作るなら、完全に新しい開発環境を用意する必要がありますか?エージェントはそのような努力を余計にしています。

現在のサンドボックスは「読み取り専用」かつ「揮発性」です。エージェントが実際にファイルを書き込んで保持できないため、S3 バケットや Redis サーバー、RDS インスタンスなど外部インフラを構築しなければならず、面倒です。

揮発性は時間制限を意味します。プロバイダは期待されるワークロードに合わせてサンドボックスを設計しています。エージェントが行う作業はほとんどが数分で完了し、99 パーセンタイルの実行時間は 15 分未満です。

しかし計算やネットワーク時間がトークン処理を上回る機能リクエストもあります。私は Sprite API のドキュメントサイトを Claude がコードと API を操作して作成しました。API によっては、クライアントとの対話だけでサンドボックス予算を超えることがあります。

「plan files」を経由して状態をラウンドトリップする現行手法の限界が見えます。実際にコンピュータ上で動くエージェントは、アプリケーションのライフサイクル全体を活用できます。例えば Chris McCord が

Phoenix.new
を作ったとき、そのエージェントは Fly Machine 上で動き、生成された Phoenix アプリのログを閲覧できました。例外が発生するとすぐに検知して対処します。

Chris は自分でエージェントを書いたおかげでこれを実現しました。Claude でも MCP サーバや他の手段でログを転送できますが、基本的には「サンドボックスを無視せず」動作するだけです。


Galaxy Brain の勝利

ここからは私の話が聞きにくくなるかもしれません。多くのチームメンバーも同じように感じているでしょう。

ソフトウェア開発の本質は変わりつつあります。プロフェッショナル開発者の配備方針だけで終わるとは考えが甘いです。

私は子供がいます。彼らにはデバイスがあります。管理したいとき、MDS を作りました。Claude で SQLite バックエンドの Go アプリを Sprite 上に構築し、Anycast URL を MDM 登録用に使いました。APNS Push Certificate の調整も Claude がやってくれました。

「FTP で PHP ファイルを編集する」―これは当時先駆的だったかもしれませんが、今は普通です。私はこのアプリを 1 ヶ月以上 Sprite 上で動かし続けており、中止の理由はありません。実際に必要な機能を Claude に教えるだけで変化します。

大規模に配布するアプリはほとんど存在せず、重要なのは日常的に使う小規模アプリです。実際の問題を解決するアプリは、そのユーザー自身が所有し、プロフェッショナルな開発者の門番不要で動きます。


揮発性サンドボックスにはもう終わり

もちろんこれは商品販売のための話ですが、それが私たちが作ったものを売る理由です。

  • 私たちはこれらをリリースしました。
  • 今すぐ数十個の Sprite を作れます。時間は 1 秒程度です。

長い道のりでした。横方向にスケールする本番アプリ向けプラットフォームを構築し、マイクロ VM が極めて高速に起動できるようにしました。これらを使えば「コードサンドボックス」を比較的容易に実現できますが、完全な解決策ではありません。

Sprite は Fly Machine と似ていますが重要な点で大きく異なります。ストレージスタックも新しく、オーケストレーションも別です。Dockerfile は不要です。


まとめ

あなた自身がエージェントをどこかにデプロイしたいと考えるなら、クラウドの K8s クラスターで読み取り専用サンドボックスのような形より、EC2 インスタンスを指先ひとつで呼び出せる「完全なコンピュータ」の方が欲しいでしょうか?

答えは明白です。サンドボックス時代は終わり。使い捨てコンピュータの時代が到来しました。

同じ日のほかのニュース

一覧に戻る →

2026/01/11 10:50

**Show HN:Ferrite – Rustで作られたマークダウンエディタ、ネイティブMermaid図描画機能付き**

## Japanese Translation: Ferrite は、egui で構築された軽量でネイティブな Rust テキストエディタで、Markdown、JSON、YAML、および TOML ファイルをサポートします。主な編集機能には、WYSIWYG Markdown 編集、ライブプレビュー、クリックで編集できる書式設定ボタン、40 以上の言語に対応した構文ハイライト、正規表現検索&置換、タブごとの Undo/Redo、およびインライン編集が可能な階層データ用トリービューがあります。 表示モードは Raw エディタ、レンダリングビュー、分割ビュー(可変サイズの区切り線付き)、Zen モード、Raw とレンダリングビュー間の双方向同期スクロールから構成されます。 MermaidJS ダイアグラム描画は完全に統合されており、11 種類のダイアグラムをサポートします;バージョン 0.2.1 では高度なシーケンス制御フローブロックとネストされた状態が追加されました。 ワークスペース機能:フォルダーをファイルツリーで開く、クイックスイッチャー(`Ctrl+P`)、検索‑イン‑ファイル(`Ctrl+Shift+F`)、Git 統合(ステータスアイコン、ステージング、コミット、プッシュ/プル、競合解決)およびセッション永続化により、タブ、カーソル位置、およびスクロールオフセットが再起動時に復元されます。 追加の UI オプションには、実行時切替可能なライト/ダークテーマ、ドキュメントアウトラインパネル、テーマ付き HTML へのエクスポートまたは HTML としてコピー、書式設定ツールバー、JSON/YAML をシェルコマンドでパイプするライブパイプライン、およびカスタム境界なしウィンドウモードがあります。 インストールはプリビルトバイナリ(Windows zip、macOS tar.gz、Linux .deb または tar.gz)またはソースビルド(`cargo build --release`)で利用可能です。Rust 1.70+ とプラットフォーム固有の依存関係が必要です。主なショートカット:ファイル操作は `Ctrl+N/O/S/W`、タブは `Ctrl+Tab/Shift+Tab`、クイックスイッチャーは `Ctrl+P`、フルスクリーンは `F11`、設定は `Ctrl+,` などです。 Ferrite は MIT ライセンスの下でオープンソースであり、Rust 1.70+、egui 0.28、comrak 0.22(Markdown パーシング)、syntect 5.1(構文ハイライト)、git2 0.19(Git 統合)に依存しています。

2026/01/11 3:58

**GhostTyの最大メモリリークを発見し修正する**

## Japanese Translation: Ghostty の長時間にわたるセッションは、`mmap`(スクロールバックバッファに使用される)で割り当てられたページが解放されないため、最大 37 GB の RAM をリークしていました。アプリはターミナルコンテンツを **PageList** に保存します。これは「標準」(プールから取得したもの)または「非標準」(`mmap`)のメモリページで構成される双方向リンクリストです。スクロールバックの削減時に、Ghostty は誤って最も古いページを新しいページとして再利用します:そのメタデータだけを「標準サイズ」にリサイズし、大きな `mmap` 割り当てはそのまま残します。この再利用されたページが後で解放されると、Ghostty はそれを標準とみなし、`munmap` を呼び出す代わりにプールへ返却してしまい、メモリブロックがリークしたままとなります。 このバグは Ghostty 1.0 から存在しましたが、大量のスクロールバックバッファ(例:多くの絵文字とハイパーリンクを含む Claude Code など)を生成する CLI アプリでのみ顕在化し、非標準ページ割り当てをトリガーします。既存のリーク検出器は特定の実行時条件下で発生するため、検知できませんでした。 新しいテストが問題を再現しリークを確認しました。統合された修正では、削減中に **非標準ページを破棄**(`self.destroyNode(first)`)し、プールから新しい標準サイズのページで置き換えるようになっています。この修正は Ghostty 1.3(3 月)に組み込まれます。既に Nightly リリースにはパッチが含まれています。 さらに、macOS のメモリタグ付け(`mach.taggedPageAllocator(.application_specific_1)`)を追加し、PageList 割り当てにタグを付与して修正の検出と確認を簡素化しました。この更新により、長時間ターミナルセッションを実行するユーザー—特に重い CLI ワークロードを扱う開発者は――メモリ使用量が急増する問題が解消され、個人およびプロダクションでアプリに依存している組織の両方に対し、より安定かつ信頼性の高い Ghostty エクスペリエンスを提供します。

2026/01/11 1:56

**HNの投稿:** 「Claude Code を使って100冊の本との関連性を発見しました」

## Japanese Translation: **概要** 本文は、スタートアップのピボットが巧妙な洞察よりもむしろ絶望感から動かされることが多いと主張しています。後知恵バイアスがこれらの反応的シフトを事後的に戦略的計画として見せかけ、意図的な天才像を与える仕方を説明しています。代表例として、Odeo が新しいベンチャーへと変貌するケースが挙げられ、ピボット手法の実践的なテキストブック例として機能します。著者は将来のピボットも短期的圧力によって促される反応的なものに留まる可能性が高いと予測し、このパターンを認識することで、創業者・投資家・チームがスタートアップエコシステム内で戦略やリスクについて考える方法を再構築し、企業が方向転換する理由をより現実的に評価できるよう促すと述べています。

「Code and Let Live」を日本語に訳すと、 **「コードと生きる」** となります。 | そっか~ニュース