【Mac】Ollama + OpenWebUI: Docker Composeによる最短構築手順と「GPU問題」の現実

【Mac】Ollama + OpenWebUI: Docker Composeによる最短構築手順と「GPU問題」の現実解

最近、社内でも「ローカルLLM」の話題が尽きません。 データの機密性を保ちつつ、好き放題にAIを使える環境を手元に持っておくことは、技術検証において必須になりつつあります。

今回は、Macユーザー向けに Ollama(バックエンド)と OpenWebUI(フロントエンド)を組み合わせた環境を、エンジニアらしく Docker Compose でサクッと構築する手順を紹介します。

…が、実はそこには「Dockerには罠がある」という話もしなければなりません。 構築手順とセットで、Mac特有のパフォーマンス問題とその回避策(ハイブリッド構成)まで、現場目線で深掘りします。

Docker Composeで一発構築(基本編)

まずは「とにかく動かす」ことが大事です。 依存関係を汚さず、コマンド一発で環境が立ち上がるのがDockerの魅力です。

以下の docker-compose.yaml を作成します。

services:
  # バックエンド: LLMを動かすエンジン
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    ports:
      - "11434:11434"
    volumes:
      - ./ollama:/root/.ollama  # モデルデータを永続化
    restart: always
    environment:
      - OLLAMA_KEEP_ALIVE=24h   # モデルをメモリに維持する時間
      - OLLAMA_NUM_PARALLEL=2   # 並列リクエスト数

  # フロントエンド: ChatGPTライクなUI
  ollama-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: ollama-webui
    restart: unless-stopped
    ports:
      - "8080:8080"
    extra_hosts: 
      - "host.docker.internal:host-gateway" # コンテナからホストへアクセス用
    depends_on:
      - ollama
    volumes:
      - ./ollama-webui:/app/backend/data # チャット履歴等を永続化
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434 # コンテナ間通信

volumes:
  ollama:
  ollama-webui:

起動とモデルの準備

# 起動
docker-compose up -d

# モデルのダウンロード(例: 軽量で高性能なLlama 3)
docker exec -it ollama ollama run llama3

これで http://localhost:8080 にアクセスすれば、アカウント作成画面(初回のみ)を経て、すぐにチャットが始められます。 チームメンバーに「これ試してみて」と共有するなら、このdocker-compose.yamlを渡すのが最適解です。

Macユーザーが直面する「重い」という現実

しかし、Mac(特にApple Silicon搭載機)で上記の手順を実行すると、あることに気づくはずです。

「…あれ、生成遅くない?」

ファンが勢いよく回り出し、PC本体が熱くなります。 実は、現在のDocker Desktop for Macの仕様上、コンテナ内のOllamaからはMacのGPU (Metal) に直接アクセスできません

結果として、高性能なM1/M2/M3チップを積んでいても、LLMの推論処理を含めた全てを CPU で処理することになります。 これでは、せっかくのMacのパワフルさが台無しです。

Warning

CPU動作だと、7Bクラスのモデルでもレスポンスが「モッサリ」します。実用には少し厳しいレベルです。

最適解:ハイブリッド構成(Native + Docker)

そこで私が推奨する「ファイナルアンサー」がこれです。

  • Ollama: Mac Native版アプリを使用(GPUフル活用)
  • OpenWebUI: Dockerコンテナを使用(環境管理が楽)

この構成なら、推論はGPUで爆速、UIはDockerで管理という「いいとこ取り」が可能です。

手順1: Native Ollamaのセットアップ

1. 公式サイト (ollama.com) からMac版をダウンロードしてインストール。 2. ターミナルで ollama serve が動いていることを確認(アプリ起動で自動起動しています)。

手順2: 外部アクセス許可の設定

デフォルトでは、Native Ollamaはローカルホスト以外からの接続を拒否します。Dockerコンテナ(OpenWebUI)から接続させるため、環境変数を設定します。

# ターミナルで実行
launchctl setenv OLLAMA_ORIGINS "*"

※設定後はOllamaアプリを再起動してください(メニューバーのアイコンからQuit -> 再度起動)。

手順3: Docker Composeの修正

WebUIだけを立ち上げるシンプルな構成に変更します。

services:
  ollama-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: ollama-webui
    restart: unless-stopped
    ports:
      - "8080:8080"
    extra_hosts:
      - "host.docker.internal:host-gateway" # ここが重要!
    volumes:
      - ./ollama-webui:/app/backend/data # 履歴データの永続化
    environment:
      # Docker内部のOllamaではなく、ホストマシンのポート11434を見に行く
      - OLLAMA_BASE_URL=http://host.docker.internal:11434

これで docker-compose -f docker-compose-hybrid.yaml up -d すれば完了です。

まとめ:適材適所で使い分ける

  • Docker完結版: Windows/Linuxユーザーや、GPUリソースを気にせずとりあえず試したいチーム向け。配布が楽。
  • ハイブリッド版: Macユーザーの個人の開発環境向け。GPUパワーを解放し、ストレスフリーな対話が可能。

技術的には「すべてDocker」が美しいのですが、ハードウェアの特性を活かすならこの一工夫が必要になります。 「導入してみたけど重くて使わなくなった」とならないよう、Macユーザーの皆さんはぜひNative版との連携を試してみてください。

このブログ記事はAIを利用して自動生成されました。

SimpleLogger:os.Loggerをラップした軽量Swiftライブラリ

SimpleLogger:os.Loggerをラップした軽量Swiftライブラリ

はじめに

iOSアプリ開発において、ログ出力はデバッグや保守の要です。Apple標準の統合ロギングシステムである os.Logger は非常に高機能でパフォーマンスも良いのですが、コードを書く際に「もう少し手軽に呼び出せたらいいのに」と感じることはないでしょうか?

そこで今回、os.Logger のパワーをそのままに、よりシンプルで直感的に扱える軽量なSwift用ラッパーライブラリ「SimpleLogger」を公開しました。 この記事では、自作ライブラリ SimpleLogger の特徴と使い方、そして実装時にこだわったポイントについて紹介します。

SimpleLogger とは?

Info

SimpleLogger は、Apple の os.Logger をラップした軽量な Swift ロギングユーティリティです。

既存の print デバッグではリリース後の追跡が難しく、かといって os.Logger をそのまま使うと初期化や呼び出しが少し冗長になりがちです。このライブラリは、その中間にある「手軽さ」と「実用性」を埋めるために設計しました。

  • リポジトリ: kixking/SimpleLogger
  • 言語: Swift 100%
  • ライセンス: MIT License
  • 最新バージョン: v1.1.1 (2026年1月27日リリース)

主な特徴とこだわり

1. とにかく手軽に使える(ゼロ設定でも動作)

ライブラリを導入してすぐに使い始められるよう、デフォルト設定を用意しています。 特に設定を行わなくても、サブシステム名にはアプリの Bundle Identifier が、カテゴリ名には "General" が自動的に適用されます。

もちろん、機能ごとにログを分けたい場合は、アプリ起動時などに以下のように1行記述するだけでカスタマイズ可能です。

// 任意のサブシステムとカテゴリを設定可能
Log.configure(subsystem: "com.example.MyApp", category: "Networking")

2. 直感的なメソッド名とレベル分け

ログレベルは、開発フローで頻出する4段階に絞っています。

  • info: アプリの動作状況などの一般情報
  • warning: 注意が必要な警告
  • error: 処理の失敗や例外
  • debug: 開発中のみ必要な詳細情報
Log.info("アプリの起動を開始しました")
Log.warning("低メモリ状態を検出しました")

3. Error型をそのまま渡せる

個人的に一番欲しかった機能がこれです。 API通信やファイル操作などで Error が発生した際、わざわざ error.localizedDescription などと変換しなくても、エラーオブジェクトをそのまま渡せるようにしました。

do {
    try loadData()
} catch {
    // Error型を直接引数に渡せます
    Log.error(error)
}

4. デバッグログの自動除外

開発中には大量に出力したいデバッグ情報も、リリース版ではノイズになったり、パフォーマンスに影響したりします。 Log.debug(...) メソッドは、#if DEBUG 環境下でのみ有効になるよう設計しているため、リリースビルドでは自動的に除外されます。

技術的な注意点:プライバシー保護

Warning

本ライブラリは os.Logger をベースにしているため、Appleの強力なプライバシー保護機能が適用されます。

セキュリティのため、動的な文字列(変数など)を含むログを出力しようとすると、コンソール上ではデフォルトで <private> とマスクされ、表示されない場合があります。これはユーザーの個人情報が意図せずログに残るのを防ぐための仕様です。

開発時の対処法
開発中に変数の値を確認したい場合は、以下のいずれかの方法でマスクを解除できます。

  • Xcodeなどのデバッガを接続した状態で実行する。
  • 「コンソール(Console.app)」の設定でプライベートデータの表示を有効にする。

導入方法

GitHubのリポジトリから Swift Package Manager (SPM) で簡単に追加できます。

https://github.com/kixking/SimpleLogger

Xcodeで File > Add Packages... を選択し、上記のURLを入力してパッケージを追加してください。

まとめ

SimpleLogger は、「多機能すぎず、でも必要な機能は揃っている」を目指して作成したライブラリです。

  • os.Logger の記述を短くしたい
  • エラーハンドリングのログを楽に書きたい
  • リリース時のデバッグログ削除を自動化したい

といったニーズがあれば、ぜひ使ってみてください。フィードバックやStarをいただけると開発の励みになります!

GitHubでリポジトリを見る

© 2026 kixking. All rights reserved.

Zero Config Onboarding:新人が初日からコミットできる環境

Zero Config Onboarding:新人が初日からコミットできる環境

はじめに:「環境構築3日」の無駄

新しいメンバーがジョインした初日。「Wikiの手順書通りにやっても動きません」「Nodeのバージョンが...」「DBがつながりません」。 これに付き合うメンターの時間と、新人のやる気が削がれる数日間。 エンジニアの時給を考えれば、この「環境構築コスト」は莫大な損失です。 Antigravityなら、この時間を「0秒」にします。

基礎知識:Antigravityの環境カプセル化

Point

Antigravityは、IDE、ランタイム、DB、拡張機能の設定など、開発に必要な全てをクラウド上のコンテナ(Dev Container)として定義・管理します。

これはDocker Composeの一歩先を行く概念です。 単にサーバーが動くだけではありません。「エディタの設定」「Lintのルール」「デバッグ構成」まで含めて配布されるのです。 つまり、誰がどのマシンで開いても、100%同じ開発体験が保証されます。

実践ガイド:git cloneから30秒で起動

新人がやることは、たった1つのコマンドだけです。

$ ag open https://github.com/my-org/core-service

Agent: "リポジトリを検出しました。"
Agent: "必要な依存関係(Node v22, Postgres 16, Redis)をプルしています..."
Agent: "VS Code環境をセットアップ中..."
Agent: "準備完了。開発を始めてください。"

この時点で、ローカルホストにはアプリが立ち上がり、DBにはシードデータが投入され、ホットリロードが効く状態になっています。 新人はコーヒーを淹れる暇すらありません。即座にコードを書き始められます。

ユースケース:副業・フリーランスの即戦力化

最近は副業エンジニアや短期の業務委託を受け入れるケースも増えています。 週数時間の稼働の人に、重厚な環境構築をお願いするのは酷です。 Antigravityなら、ブラウザからURLを開くだけで開発に参加してもらえます。 「環境構築で週末が終わりました」という悲劇はもう起きません。

ハマりどころ:マシンスペックの要求

Warning

全てをコンテナ化・仮想化するため、ホストマシン(またはクラウドインスタンス)には相応のメモリリソース(推奨16GB以上)が必要です。

魔法のような利便性の裏には、リソースの消費があります。 しかし、エンジニアの「時間」とマシンの「メモリ」。どちらが高いかは、経営視点で見れば明らかでしょう。 40代のマネージャーとしては、迷わずメモリに投資すべきです。

まとめ:オンボーディングコストは「ゼロ」になる

「環境構築」という儀式は、過去の遺物となりました。 Antigravityによって、エンジニアは入社初日の最初の1時間でプルリクエストを出せるようになります。 このスピード感こそが、チームの士気を高め、プロダクトの成長を加速させるのです。

この記事は、Google Antigravityの「Zero Config Onboarding」機能を活用した実体験に基づき執筆されました。

API Contract Testing:「仕様書と違う」を撲滅する技術

API Contract Testing:「仕様書と違う」を撲滅する技術

はじめに:連携エラーは「結合テスト」まで気づかない?

「あれ、バックエンドのレスポンス、キー名が変わってませんか?」。 フロントエンド開発者がSlackでぼやくこの光景。リリース直前の結合テストで発覚し、急いで両チームが修正に走る。 これがどれほどのコストロスか、マネージャーなら誰でも知っています。 APIの仕様変更が、コードを書く前に検知できたらどうでしょうか?

基礎知識:API Contract Testingとは

Point

Antigravityは、OpenAPI (Swagger) などのスキーマ定義を「契約(Contract)」として扱い、実装コードがその契約に違反していないかをリアルタイムで監視・テストします。

これは「ドキュメント駆動開発」の究極形です。 仕様書(YAML)を変更すると、Antigravityエージェントが即座にフロントエンドの型定義(TypeScript)とバックエンドのバリデーションロジック(Go/Python)を書き換えます。 「仕様書と実装のズレ」という概念自体が存在しなくなるのです。

実践ガイド:OpenAPI定義からの自動検証

使い方は、スキーマファイルをリポジトリに置くだけです。

# schema/user-service.yaml を更新
paths:
  /users:
    get:
      responses:
        '200':
          description: "ユーザー一覧"
          # ageフィールドを追加
          content: ...

ファイルを保存した瞬間、Antigravityがバックグラウンドで走ります。

Agent: "スキーマ変更を検知しました。"
Agent: "User型定義ファイル (types.ts) を更新中..."
Agent: "バックエンドのモックレスポンスを更新中..."
Agent: "警告: UserComponent.tsx で 'age' プロパティが未処理です。"

実装漏れまで教えてくれるため、リリース後に「画面にデータが出ない」という事故はゼロになります。

ユースケース:マイクロサービス間の整合性

サービスが分割されればされるほど、API連携のリスクは増大します。 Antigravityを使えば、Producer(API提供側)とConsumer(API利用側)の間の整合性を、デプロイ前に完全に保証できます。 「相手のサービスが落ちててテストできない」という言い訳も、高性能な自動モック生成によって過去のものとなります。

ハマりどころ:モックサーバーの鮮度管理

Warning

スキーマ定義自体が古くなると、全ての自動化が無意味になります。スキーマ更新を開発プロセスの「最初の1歩」に強制するルール作りが必要です。

Antigravityは強力ですが、あくまでスキーマに従います。人間が「コードだけこっそり直す」ことを許してはいけません。 CIパイプラインで「スキーマと実装の乖離」をチェックし、ズレがあればマージ不可にする設定を入れましょう。

まとめ:ドキュメント=真実(Source of Truth)

「ドキュメントは嘘をつく」と言われてきましたが、Antigravity環境下では「ドキュメントこそが真実」です。 仕様書を書くことが、そのままコードを書くことと同義になる。 これが、APIエコノミー時代における正しい開発の姿なのです。

この記事は、Google Antigravityの「API Contract Testing」機能を活用した実体験に基づき執筆されました。

Dependency Management:依存地獄からの生還ルート

Dependency Management:依存地獄からの生還ルート

はじめに:npm audit fixを叩く前の憂鬱

「セキュリティアラートがまた鳴っている...」。 依存パッケージの更新は、誰かがやらなければならない、しかし誰もやりたがらない「家事」のようなタスクです。 安易に upgrade してビルドが壊れ、原因究明に半日潰れる。そんな経験から、私たちはいつしか「塩漬け」という悪手を選ぶようになります。 しかし、Antigravityがあれば、もう恐怖に怯える必要はありません。

基礎知識:自律型依存管理

Point

Antigravityは、依存ライブラリの更新を検知すると、分離環境でアップデートを試行し、テストを実行。破壊的変更があれば自動でコード修正まで提案します。

これまでのツール(Dependabotなど)は「更新のPRを作る」までが仕事でした。 Antigravityはその先、つまり「ビルドが通るようにコードを直す」ところまで面倒を見ます。 APIのシグネチャが変わっていれば、呼び出し元を書き換えてくれるのです。

実践ガイド:アップデートの自動化

設定はワンライナーコマンドで完了します。

$ ag deps auto-update --schedule "weekly" --strategy "aggressive"

Agent: "プロジェクトの依存関係マップを作成中..."
Agent: "React 19 へのアップグレードプランを策定しました。"
Agent: "34箇所のBreaking Changesを検出し、修正案を作成しますか? [Y/n]"

毎週月曜日の朝、あなたがコーヒーを飲んでいる間に、エージェントが全てのライブラリを最新に保ち、テストもパスした状態にしてくれます。 あなたは「Merge」ボタンを押すだけです。

ユースケース:脆弱性対応の高速化

深刻なセキュリティホール(Log4j問題のような)が見つかった時も、Antigravityは即座に反応します。 世界中の脆弱性データベースと連動しており、パッチが公開された数分後には、あなたのリポジトリに修正PRが届きます。 セキュリティチームが騒ぎ出す前に、対応が終わっている。これがこれからの「普通」です。

ハマりどころ:破壊的変更の検知漏れ

Warning

マイナーなライブラリや、型定義が不十分なJSパッケージの場合、AIでも挙動の変化を完全に見抜けないことがあります。E2Eテストの整備が前提条件です。

「自動化」は「放置」ではありません。最終的な安全網としてのテストコードは、人間が責任を持って整備する必要があります。 AIはテストを実行することはできますが、テストケースを考えるのはまだ(完全には)できません。

まとめ:ライブラリは「守るもの」から「使うもの」へ

依存関係の管理から解放されると、新しい技術の導入障壁が劇的に下がります。 「古いから動かせない」ではなく「常に最新だから何でも試せる」。 この心理的な余裕こそが、開発組織のイノベーションを加速させるのです。 もう、package.json を見て溜息をつくのはやめましょう。

この記事は、Google Antigravityの「Dependency Management」機能を活用した実体験に基づき執筆されました。

AI Code Review:人間は「本質」だけを見ればいい

AI Code Review:人間は「本質」だけを見ればいい

はじめに:レビュー地獄からの解放

「インデントがずれています」「変数名の綴りが間違っています」。 こんな些末な指摘のために、貴重なシニアエンジニアの時間を費やしていませんか? プレイングマネージャーとして、チームのPull Request(PR)を確認するのは重要な責務ですが、ケアレスミスの指摘に追われて「設計の妥当性」や「セキュリティリスク」という本質の議論がおろそかになっては本末転倒です。

基礎知識:AI Code Reviewとは

Point

Google AntigravityのAI Code Reviewerは、PRが作成された瞬間にコードを解析し、スタイル違反、バグの可能性、パフォーマンス上の懸念を自動的にコメントします。

Lintツールと違うのは、その「文脈理解度」です。 「この変更はDBスキーマと整合性が取れていません」や「この書き方は可読性が低いため、以前のパターンに合わせるべきです」といった、人間のような高度な指摘を行います。 私がPRを開く頃には、単純なミスは全てAIによって修正済みになっているのです。

実践ガイド:自動レビューの設定

導入は非常にシンプルです。リポジトリに設定ファイルを追加するだけです。

# .antigravity/review_config.yaml
review:
  enabled: true
  auto_fix: true # 確度の高い修正は自動コミットする
  focus:
    - security
    - performance
    - readability
  ignore:
    - "**/*.test.ts" # テストファイルは甘めに

これだけで、次回のPRからAIレビュアー「Antigravity Bot」が稼働し始めます。 ボットが指摘した箇所には、修正案のDiffも添付されており、ワンクリックで適用可能です。

ユースケース:新人教育への活用

新人エンジニアにとって、このAIレビュアーは「24時間隣にいてくれるメンター」になります。 「なぜこのコードが良くないのか」をAIが丁寧に解説してくれるため、私が教える手間が大幅に減りました。 マネージャーとしての私は、その後の「なぜその設計にしたのか」という対話に集中できるようになったのです。

ハマりどころ:過剰な指摘の制御

Warning

初期設定のままだと、非常に細かい指摘(ニトピック)が大量発生し、開発者が疲弊することがあります。「重要度:高」のみ通知する設定から始めることを推奨します。

AIは疲れを知りません。放置すると数百件のコメントがつくこともあります。 チームの成熟度に合わせて、AIの「厳しさ」をチューニングするのが、マネージャーの腕の見せ所です。

まとめ:レビュー品質がチームの品質

コードレビューは、品質保証の最後の砦です。 その砦をAIで強化することで、私たちはより創造的で、より高レベルな議論に時間を使えるようになります。 「人間がやるべき仕事」に集中する。それがAntigravity流のマネジメントです。

この記事は、Google Antigravityの「AI Code Review」機能を活用した実体験に基づき執筆されました。

Meeting to Code:会議中に「動くコード」を作る方法

Meeting to Code:会議中に「動くコード」を作る方法

はじめに:議事録はただのテキストではない

「じゃあ、この機能を来週までに追加しておいて」。 会議の最後に降ってくるこの言葉に、何百回頷いてきたでしょうか。 会議が終わり、議事録をまとめ、チケットを切り、詳細設計をし、やっとコーディングに入る。このリードタイムこそが、開発スピードを殺している元凶です。 もし、会議中に話した内容が、その場でコードとして実装されたらどうでしょうか?

基礎知識:Meeting to Code連携

Point

Google Antigravityは、Google Meet等の会議音声や議事録テキストをリアルタイムで解析し、要件定義から実装コード生成までをシームレスに接続します。

これは単なる文字起こしではありません。文脈(コンテキスト)の理解です。 「やっぱりボタンは赤にして」という発言を、Antigravityは「UIコンポーネントのプロパティ変更」として認識し、該当するCSSやReactコードを特定して修正案を提示します。 会議ツールとIDEが融合する、夢のようなワークフローです。

実践ガイド:Google Meetからの自動実装

それでは、具体的な連携フローを見ていきましょう。 まずはMTGの終了後、生成された議事録をエージェントに渡します。

# 1. 議事録または要件メモをパイプで渡す
$ cat meeting_notes_0127.txt | ag code --task "要件の実装"

Agent: "議事録を読み込みました。3つの主要な変更点を検出。"
Agent: "1. ユーザー登録フォームへの「電話番号」項目の追加"
Agent: "2. バリデーションルールの変更"
Agent: "3. 完了画面のデザイン修正"
Agent: "実装案を作成中..."

エージェントは即座にPull Requestの下書きを作成します。 あなたは会議室から出る前に、スマホでそのPRをチェックできるようになります。

ユースケース:仕様変更への即応

クライアントとの打ち合わせ中、「やっぱりここ、こうしたいな」と言われた経験、ありますよね。 その場でAntigravityを走らせれば、「こんな感じですか?」と、会議中に動くプロトタイプを見せることが可能です。 「持ち帰って検討します」という言葉は、もはや死語になりつつあります。 スピード感のある意思決定が、信頼を生むのです。

ハマりどころ:曖昧な指示の解釈

Warning

「いい感じにしておいて」のような曖昧な指示は、エージェントにとっても難問です。具体的なパラメータや参照デザインを伝える癖をつけましょう。

AIはまだ心を読み取れません。会議での発言も、できるだけ論理的かつ具体的である必要があります。 しかし、これは人間相手でも同じこと。Antigravityを使うことで、結果的に私たちのコミュニケーション能力も磨かれていくのです。

まとめ:会議が終わる時、実装も終わっている

「会議は仕事ではない」と言われた時代もありました。 しかしAntigravityによって、会議は「最強の開発タイム」へと変貌しました。 話したことがそのままプロダクトになる。この直感的な開発体験こそが、40代の私たちが見たかった「未来」なのかもしれません。 さあ、次のミーティングが楽しみになってきませんか?

この記事は、Google Antigravityの「Meeting to Code」機能を活用した実体験に基づき執筆されました。

Debug Replay:AIと一緒に「あの時のエラー」を再生する

Debug Replay:AIと一緒に「あの時のエラー」を再生する

はじめに:泥臭いデバッグとの決別

40代のマネージャーにとって、最も胃が痛くなる瞬間。それは「本番環境でユーザーからエラー報告が来たが、再現手順がわからない」という報告を受けた時ではないでしょうか。 ログを漁り、可能性のある操作を一つずつ試し、部下に「もっと詳しくヒアリングして」と頼む。 そんな泥臭い「犯人探し」の日々は、Google AntigravityのDebug Replay機能によって終わりを迎えます。

基礎知識:Debug Replayとは

Point

Debug Replayは、エラー発生時の実行コンテキスト(変数、スタックトレース、ユーザー操作)を完全に記録し、ローカル環境で「その瞬間」を何度でも再生できる機能です。

従来のエラーログは「事故現場の写真」でした。しかしDebug Replayは「事故が発生するまでの防犯カメラ映像」です。 Antigravityのエージェントは、この記録データを読み込み、ローカルのサンドボックス環境で自動的に同じ操作を再現します。 つまり、「再現できません」という言葉が開発現場から消えるのです。

実践ガイド:バグ再現の自動化手順

では、実際にどのように使うのか、具体的な手順を見ていきましょう。 エラーが発生すると、Mission Controlに通知が届きます。

# 1. エラー通知からリプレイを開始
$ ag debug replay --id error_12345

# エージェントの応答
Agent: "エラーID 12345 のコンテキストをロードしました。"
Agent: "再現テスト環境を Docker コンテナで立ち上げています..."
Agent: "3... 2... 1... 再現成功。同じ例外が発生しました。"

この時点で、あなたのローカル環境には「エラーが起きる直前の状態」が再現されています。 あとは、エージェントに修正を依頼するだけです。

# 2. 修正と検証の依頼
$ ag fix --context "NullPointerExceptionが発生している箇所の修正"

Agent: "ユーザーオブジェクトがnullの場合のガード節を追加しました。"
Agent: "リプレイテストを再実行中... 通過しました。"
Agent: "修正パッチを作成しますか? [Y/n]"

ユースケース:QAチームとの連携

QAチームからのバグ報告も劇的に変わります。 以前は「〇〇画面でボタンを押しても反応しない」というテキスト報告でしたが、今は「Replay ID」が送られてくるだけです。 エンジニアはそのIDを叩けば、目の前でQA担当者が行った操作が再現されます。 「環境のせい」にして逃げることはもうできませんが、解決までの時間は1/10になりました。

ハマりどころ:個人情報の取り扱い

Warning

実データをそのままリプレイに使用すると、個人情報の漏洩リスクがあります。マスキング設定は必須です。

Debug Replayは強力すぎるがゆえに、ユーザーの入力データ(メールアドレスやパスワード)まで記録してしまう可能性があります。 導入時には必ず.agignore設定で、機密情報のマスキングを行う必要があります。 ここはマネージャーとして、絶対に譲れないセキュリティラインです。

まとめ:デバッグは「犯人探し」から「原因学習」へ

Debug Replayの導入によって、私たちのチームは「バグが出た」と聞いても動じなくなりました。 むしろ「再現データがあるなら、AIと一緒にすぐ直せるね」と前向きな空気が生まれています。 デバッグに使っていた膨大な時間を、次の機能開発という「未来」への投資に回す。 これこそが、Google Antigravityがもたらす最大のROIです。

この記事は、Google Antigravityの「Debug Replay」機能を活用した実体験に基づき執筆されました。

未来へ踏み出す。Google Antigravity導入ガイド

未来へ踏み出す。Google Antigravity導入ガイド

01. 議論の先にある『実践』へ

これまで10回にわたり、Google Antigravityがもたらす開発革命について考察してきました。 しかし、知識を得るだけでは重力は振り払えません。 大切なのは、実際に手を動かし、このエージェント型IDEの「リズム」を体感することです。

02. 3つの導入フェーズ:自分からチームへ、そして組織へ

まずは、自分の身の回りの小さなタスクから始めてください。 Antigravityエージェントに「このファイルをリファクタリングして」と頼む。そのArtifactsを確認し、フィードバックを送る。 この小さな成功体験が、やがてチーム、そして組織全体の文化を変える大きなうねりになります。 Google DeepMindが用意した、この最高の「ツール」という名の「ギフト」を、無駄にしないでください。

03. 失敗を許容し、AIと共に成長する文化

AIは時に、人間には想像もつかない奇妙なミスをします。 しかし、それを叱り飛ばすのではなく、「なぜそうなったのか」をArtifactsで共に読み解き、次への糧にする。 そんな「成長の精神(Growth Mindset)」を持ったチームこそが、Google Antigravityの真価を引き出すことができます。

Google Antigravity:あなたのエンジニア人生が、ここから加速しますように。

エンジニアを解き放つ。Google Antigravityの生産性

エンジニアを解き放つ。Google Antigravityの生産性

01. 「10倍」はもはや通過点に過ぎない

かつて、一部の天才だけが到達できた「10倍エンジニア」。 Google Antigravityは、Google DeepMindの知能をすべてのデスクに届けることで、この限界を突破します。 タイピングの速さではなく、AIという強力な軍団を指揮する「判断」の速さで、私たちは100倍、1000倍の価値創出を目指せるようになりました。

02. 組織の再定義:Googleが描く少人数の最強チーム

大人数の開発チームは、意思疎通のコストで疲弊しがちです。 Google Antigravityを活用すれば、一人のリーダーと複数のAIエージェントで、大規模なプロジェクトも驚くほどスリムに、かつ高速に完遂できます。 人月(マンマンス)という古い基準を捨て、Googleと共に「成果」そのものにフォーカスする組織へと進化しましょう。

03. 生存戦略:AI時代に「選ばれるエンジニア」とは

AIがコードを書く世界で、最後に残る価値は何でしょうか。 それは「問いを立てる力」と「責任を負う覚悟」、そして「情熱」です。 Google Antigravityを単なるツールとして使うのではなく、自らのビジョンを実現するための「武器」にする。 そんな主体的なエンジニアこそが、これからの10年、世界を動かしていくのです。

Google Antigravity:あなたの可能性を、重力から解き放つ。

組織を守り、加速させる。Google Antigravityのガバナンス

組織を守り、加速させる。Google Antigravityのガバナンス

01. 効率とリスクの天秤

「AIで効率化したい」という開発現場、「セキュリティが心配だ」というガバナンス部門。 この二者の板挟みになるのがマネージャーの宿命です。 Google Antigravityは、Googleが長年培ってきた企業向けクラウドのセキュリティ基準をベースに、この対立を解消します。

02. エンタープライズ基準:Googleが提供する「安心」

Enterprise Focus: Google Antigravityは、データの学習利用をオプトアウトする設定や、完全に隔離されたサンドボックス環境、きめ細かなアクセス制御機能を提供している。

法務やセキュリティ部門との交渉において、Googleブランドの信頼性は絶大です。 データの帰属、知的財産の保護、そして脆弱性への対策。 Google Antigravityは、単なるツールではなく、企業が「正式に」導入できるプロフェッショナルなプラットフォームとして設計されています。

03. 責任あるAI導入:Artifactsによる監査と検証

万が一の問題発生時、AIが「なぜそのコードを書いたか」をArtifactsで遡れることは、組織にとって最大の防衛線になります。 ビデオ録画、実行ログ、実装プラン。 これらがすべて監査証跡として残ることで、私たちはAIの利便性を享受しながら、同時に「透明性」という最強の武器を手にすることができます。

Google Antigravity:ガバナンスと生産性は、もはや二者択一ではありません。

『エディタ』を越えて。Google Antigravityという新宇宙

『エディタ』を越えて。Google Antigravityという新宇宙

01. 道具から「環境」への進化

かつて、ViからVS Codeへの革命がありました。そして今、Googleはそれ以上の跳躍を見せようとしています。 Google Antigravityは、「コードを編集する場所」を「AIエージェントと共にタスクを完遂する場所」へとアップグレードしました。 これはもはや、単なるテキストエディタの延長線ではありません。

02. Agent-First 設計:IDEの歴史をGoogleが再起動する

New Standard: 「Agent-First」設計とは、AIがUIの補助機能ではなく、システム全域の操作(エディタ、ターミナル、ブラウザ、ファイル)の主導権を持つ設計思想のことである。

Google Antigravityの本当の凄さは、AIが「IDEという宇宙の住人」であることにあります。 人間がエディタを開く前から、エージェントは環境を整え、過去の記録(Artifacts)を読み込み、次のミッションのための準備を終えています。 このシームレスな統合こそが、Google DeepMindとGoogle Cloudの技術が結実した結果です。

03. プログラミングの抽象度:エージェントと語る言語

私たちはもう、セミコロンの打ち忘れに悩むことはありません。 Google Antigravityにおいて、私たちの「言語」はより高い抽象度へと引き上げられます。 要求を定義し、エージェントの実装プランをレビューし、Mission Controlから指示を出す。 そんな「一歩上の視点」でエンジニアリングを楽しむための環境が、ついに整いました。

Google Antigravity:エンジニアリングの情熱を、次の次元へ。

秘伝のソースに光を。Google Antigravityの解析力

秘伝のソースに光を。Google Antigravityの解析力

01. 負債の森を、Geminiが照らす

誰も触りたがらない10万行のレガシーコード。コメントもなく、独自の設計思想で書かれた「秘伝のソース」。 40代のマネージャーにとって、この技術負債の解消は、最もやりたくない、しかし最も避けて通れない課題です。 Google Antigravityは、このコードベースという名の「ジャングル」を調査する、最強の探検家です。

02. 既存コード解析:Google DeepMindが読み解く「設計意図」

Core Power: Google Antigravityに搭載された解析用エージェントは、リポジトリ全体の依存関係を瞬時に走査し、人間も気づかなかった技術的負債やデッドコードを可視化する。

Antigravityのエージェントに「この認証処理の流れを説明して」と聞けば、Geminiの推論エンジンをフル回転させ、ファイル間に散らばった点と点を繋ぎ合わせます。 単なる検索ではなく、コードの「意図」を理解しているからこそ、不具合が起きやすい箇所や、リファクタリングの優先順位を論理的に提示できるのです。

03. 自動ドキュメント化:負債を資産に変えるドキュメンテーション

解析の結果は、即座にドキュメントとしてArtifactsに保存されます。 シーケンス図、API仕様書、モジュール相関図。 今まで人間が数週間かけて行っていた(あるいは諦めていた)棚卸し作業が、Google Antigravityなら数時間で完了します。 未来のチームを救うためのドキュメントを、GoogleのAIと一緒に残しましょう。

Google Antigravity:あなたのプロジェクトを、再び「管理可能」なものにします。

孤独な開発を終わらせる。Google Antigravityとの対話

孤独な開発を終わらせる。Google Antigravityとの対話

01. 「指示待ちAI」からの卒業

長いプロンプトを書いて祈るように結果を待つ……。そんな孤独なAI開発は、もう終わりにしましょう。 Google Antigravityは、あなたがコードを書いている隣で、常に非同期で作業を続ける「能動的なパートナー」です。

02. Asynchronous Feedback:非同期で進む最強のペアプロ

Antigravityのエージェントは、あるタスクを実行しながら、あなたのフィードバックを非同期に受け取ることができます。 あなたがPR(プルリクエスト)にコメントを残す感覚で、実行中のエージェントに「あ、そこは別のライブラリを使って」と指示を出す。 エージェントはそれを即座に理解し、作業を中断することなく軌道を修正します。 この「リアルタイムな伴走感」こそが、Googleが提供する、開発体験(DX)の極致です。

03. 開発指揮官の役割:Google Antigravityを乗りこなす

私たちはもう、一行ずつコードを書く必要はありません。 エージェントという優秀なクルーを「Mission Control」から指揮する「開発指揮官」になるのです。 Google Antigravityは、私たちから雑務を奪い、代わりに「最も重要な意思決定」という最高に面白い仕事を返してくれました。

Google Antigravity:一人で開発していても、あなたはもう孤独ではない。

UIの崩れを見逃さない。Google Antigravityが変えるQA

UIの崩れを見逃さない。Google Antigravityが変えるQA

01. カチカチ作業との決別

フロントエンドのリリース前、いくつものブラウザを開いてボタンを押し、崩れがないか確認する……。 この「カチカチ作業」に、私たちはどれほどの情熱を吸い取られてきたでしょうか。 Google Antigravityは、この退屈な検証作業を、インテリジェントな自動プロセスへと変貌させます。

02. 視覚的エージェント:Antigravityによるブラウザ自動検証

Next-Gen QA: Google Antigravityは、ブラウザ内のDOM要素だけでなく、実際に画面に描画された結果を「視覚的」に認識し、人間のように操作・検証することが可能である。

エージェントはブラウザを使いこなし、ユーザーの代わりに画面を操作します。 ログインフローの確認、モーダルの挙動、レスポンシブ表示でのレイアウト崩れ。 これらを「見て」判断し、問題があれば修正案をArtifactsとして提出する。 Google DeepMindのコンピュータビジョン技術が、ついに私たちのIDEに組み込まれたのです。

03. レンダリング・スナップショット:デザインの微差を検知する

「前のバージョンと比べてここが1pxズレています」。 そんな、人間でも見逃すような変化をGoogle Antigravityのエージェントは逃しません。 ブラウザ操作のビデオ録画(Artifacts)を残しながら、並行して複数のテストケースをさばく。 QAエンジニアがいなくても、品質を最高レベルに保てる時代が、Googleによって創られようとしています。

Google Antigravity:品質の追求を、もっとスマートに。

Terminal統合:Google Antigravityに「手足」が生えた日

Terminal統合:Google Antigravityに「手足」が生えた日

はじめに:コピペ地獄からの解放

これまでのAIアシスタントとの付き合い方は、正直「お伺い」でした。 チャット欄に相談し、返ってきたコードをコピーし、自分のエディタにペーストし、ターミナルで実行コマンドを叩く。 エラーが出れば、そのエラーをまたチャット欄に貼る……。 便利ではありますが、この「反復横跳び」こそが、私たちエンジニアの集中力を削ぐ最大の敵でした。

Google Antigravityに触れて最も衝撃を受けたのは、AIが自分の意思でターミナルを開き、コマンドを入力し、実行結果を見て自分で修正し始めた時です。 「あ、これでもう私はエディタとターミナルの橋渡し役じゃなくていいんだ」と解放感に浸ったのを覚えています。

基礎知識:Terminal統合とは

Key Concept

Google Antigravityは統合されたターミナルを直接制御でき、シェル操作の完全な自動化を実現する。エージェントは、コマンドの実行、結果の解釈、エラーの修正までを自律的に行う。

「手足がついた」という表現が最も適切でしょう。 コードを書くだけなら頭脳があれば足りますが、ソフトウェアを「動かす」には手足が必要です。 Google Antigravityのエージェントは、git commitはもちろん、npm installpnpm dev、さらにはcurlによる疎通確認まで、自らターミナルを叩いて進めます。

これは、今まで人間が行っていた「物理的な確認作業」をAIが肩代わりしてくれることを意味します。 管理職としては、部下が「動かしてみたらダメでした」と報告してくるのを待つ時間が、AIが「動かして直しました」と報告してくる時間へと短縮されるわけです。

シェル操作自動化の威力

実際の開発現場で、エージェントがどのようにターミナルを使いこなすのか、具体例を見てみましょう。

# Google Antigravity エージェントの自律実行ログ
ag-agent > git clone https://github.com/example/project.git
ag-agent > cd project
ag-agent > npm install
ag-agent > npm run build
ag-agent > Error: Module 'dotenv' not found
ag-agent > 分析中... 依存関係の不足を検知
ag-agent > npm install dotenv --save
ag-agent > npm run build
ag-agent > ✓ Build successful!

エラーが発生しても、エージェントは即座にログを解析し、不足しているパッケージを特定して自動でインストールします。 この「自己修正ループ」こそが、Google Antigravityが「最強の戦力」と呼ばれる所以です。

環境構築:新人が3日かかる作業を30分で

既存のプロジェクトに新しく参加する際、最も苦痛なのが「環境構築(デベロッパー・オンボーディング)」です。 READMEを読み、Dockerを立ち上げ、シークレットを設定し、マイグレーションを回す……。 Google Antigravityに「このレポジトリをローカルで動くようにして」と一言投げると、シェルスクリプトを自作し、不足しているミドルウェアを検知し、勝手にセットアップを完了させます。

マネージャーとしては、新人教育における「最初の3日間がセットアップで終わる」という損失を、数時間に凝縮できる可能性を感じずにはいられません。

よくある課題:暴走の恐怖をどう防ぐか

Warning

AIにrm -rf /とか叩かれないのか?という懸念は、誰もが最初に抱く不安です。

実際、初期の設定で強引な依存解決をしようとして、私のローカル環境のNode.jsを勝手にアンインストールして最新版にしようとした、やんちゃなエージェントもいました。

Google Antigravityでは、この暴走を止めるために「サンドボックス環境」と「コマンドの承認フロー」があります。 特に破壊的な操作(ファイルの大量削除やネットワーク設定の変更)については、マネージャーによる最終承認を必須にすることができます。 「自由」と「統制」。この天秤を適切に操作することこそが、次世代のリードエンジニアに求められるスキルになるでしょう。

まとめ:バックエンド開発の新時代

「エンジニアなら、自分の手でコマンドを叩いてナンボだ」という意見もわかります。私もそうでした。 しかし、私たちが生み出す価値は「タイピング」にあるのではなく、「問題解決」にあるはずです。

Google Antigravityのターミナル操作自動化は、私たちをタイピングから解放し、設計とアーキテクチャの熟考へと導いてくれます。 黒い画面をAIに任せ、自分はより高い視点でシステムを俯瞰する。 そんな「指揮官型エンジニア」へのシフトは、もはや避けて通れない未来なのです。

このブログ記事は、シェル操作をAIに委譲することで得られる生産性と、その際のガバナンスの重要性について、Google Antigravityの使用体験を基に執筆されました。

Flashコンテンツの再構築