Supershipの名畑です。チェンソーマン レゼ篇は贅沢を堪能した気持ちになれる素晴らしい映画でした。ULTRA 4DXで見たときは映画というより遊園地の感覚に近かった。
はじめに
米Googleは11月18日(米国時間)、次世代AIモデル「Gemini 3 Pro」の公開に合わせ、AIエディタ「Google Antigravity」(アンチグラビティ)を公開した。他社製のAIエディタ同様に、AIに指示をすることでソースコードの作成やデバッグなどをエージェント的に実行できる。現在は無料のパブリックプレビューという位置付けで、個人アカウントでのみ利用可能。Windows(Windows 10以上のx86, arm64)、macOS(バージョン12以上のApple Silicon)、Linux(Ubuntu 20、Devian 10、Fedora 26、RHEL 8など)に対応する。
参考:GoogleからもVS Code派生AIエディタ「Antigravity」 Gemini 3 ProやClaude Sonnet 4.5が無料 - ITmedia AI+
ということで、触った人もすでに大量にいるでしょうが、Google Antigravityを手元のMacにインストールして動かしてみたので記録に残します。
Googleのアカウントさえあれば動かせます。
詳しくは公式ドキュメントをご覧ください。
現時点では個人アカウントでのみ利用可能なのでご注意ください。
ダウンロード
まずサイトを訪れDownloadします。
私はIntel MacなのでDownload for Intelを選んでdmgファイルを落とします。
対象バージョンは以下の通り 12 (Monterey) 以降です。
macOS: macOS versions with Apple security update support. This is typically the current and two previous versions. Min Version 12 (Monterey), X86 is not supported
起動
起動して初期設定を行なっていきます。
今回はデフォルトで進めます。
↑テーマ
↑使用方法
↑キーバインディングなど
↑Googleアカウントへのサインイン
押すとブラウザに遷移します。
↑ブラウザでサインイン
↑規約
Terms of Serviceには以下のように、デフォルトではGoogleにやりとりが利用される旨が記載されていますので、ご注意ください。
We use Interactions to evaluate, develop, and improve Google and Alphabet research, products, services and machine learning technologies. Interactions are collected and used in accordance with this Agreement and the Privacy Policy. Google employees and contractors may access, view, review and use Interactions. If you don't want your Interactions used in this way, navigate to settings to change your preference on how such data is used.
↑初期画面
上記の通り、モデルは以下が選べます。今回はお試しなので Gemini 3 Pro (Low) にします。
- Gemini 3 Pro (High)
- Gemini 3 Pro (Low)
- Claude Sonnet 4.5
- Claude Sonnet 4.5 (Thinking)
- GPT-OSS 120B (Medium)
今回は作業用にantigravityという空フォルダを用意しました。
選ぶと上記の通り、配下のファイルを信頼するか尋ねられます。
また、先述のGoogleがやりとりを利用することを許可するかどうかは上記のSettings > Accountで変更可能です。
生成
渡された整数が偶数かどうかを判定する関数をPythonで記載してください。
ファイル名はtest.pyとしてください。
引数が整数かどうかのチェックを行い、整数でない時はFlaseを返してください。
上記のプロンプトを実行してみます。
生成されたコードは以下です。
def is_even(value):
"""
渡された値が偶数かどうかを判定する関数。
引数が整数でない場合はFalseを返す。
"""
# 整数かどうかのチェック
if not isinstance(value, int):
return False
# 偶数判定
return value % 2 == 0
if __name__ == "__main__":
# 動作確認用コード
test_cases = [
(2, True),
(3, False),
(0, True),
(-2, True),
(2.0, False),
("string", False),
(None, False)
]
for val, expected in test_cases:
result = is_even(val)
print(f"Input: {val!r}, Result: {result}, Expected: {expected}, Match: {result == expected}")
コメントや動作確認用のコードも合わせて生成されています。
良さそうなのでAcceptを押して採用し、実行してみます。
Input: 2, Result: True, Expected: True, Match: True
Input: 3, Result: False, Expected: False, Match: True
Input: 0, Result: True, Expected: True, Match: True
Input: -2, Result: True, Expected: True, Match: True
Input: 2.0, Result: False, Expected: False, Match: True
Input: 'string', Result: False, Expected: False, Match: True
Input: None, Result: False, Expected: False, Match: True
無事に期待通りの動作をしています。
Agent Manager
We've built out the Agent Manager, to provide a higher level view into the work Antigravity agents are doing under your guidance. Here, you can work across multiple workspaces, oversee dozens of agents simultaneously, and interact with your codebase primarily through the agent, rather than through writing code directly. As agents and models continue to get better, we believe that this birds-eye view will be the primary entry point to all of your work. For now, as we continue to get feedback and iterate on this new surface area, the Agent Manager is under open public preview. We expect to move it to be central to the Antigravity experience soon.
Agent Managerという機能があります。
複数のワークスペースを俯瞰的に扱うことが可能です。
Open Agent Managerを押して開いてみます。
以下のプロンプトを実行してみます。
渡された整数の階乗を計算する関数をPythonで記載してください。
ファイル名はfactorial.pyとしてください。
また、先ほどのtest.pyをeven.pyというファイル名に変更してください。
コードの作成と同時にファイル名の変更を指示してみました。
ファイル名の変更を行っていいか聞かれたのでAcceptを押します。
生成されたコードは以下です。
def factorial(n):
"""
与えられた整数の階乗を計算して返します。
Args:
n (int): 階乗を計算する対象の非負整数
Returns:
int: nの階乗 (n!)
Raises:
TypeError: nが整数でない場合
ValueError: nが負の数の場合
"""
if not isinstance(n, int):
raise TypeError("入力は整数である必要があります。")
if n < 0:
raise ValueError("負の数の階乗は定義されていません。")
result = 1
for i in range(1, n + 1):
result *= i
return result
if __name__ == "__main__":
# テスト用
try:
num = 5
print(f"{num}の階乗は {factorial(num)} です。")
except Exception as e:
print(f"エラー: {e}")
ファイル名の変更もきちんと行われています。
5の階乗は 120 です。
無事に期待通りの動作をしています。
最後に
毎度のことながら、本当にすごい時代になりましたね。
宣伝
SupershipのQiita Organizationを合わせてご覧いただけますと嬉しいです。他のメンバーの記事も多数あります。
Supershipではプロダクト開発やサービス開発に関わる方を絶賛募集しております。
興味がある方はSupership株式会社 採用サイトよりご確認ください。
















