Amazon Nova Act: ブラウザ上で動作するAIエージェント開発の革新



## 目次
- [1. Amazon Nova Actの概要](#1-amazon-nova-actの概要)
  - [1.1 Nova Actとは](#11-nova-actとは)
  - [1.2 現在のAIエージェントが抱える課題](#12-現在のaiエージェントが抱える課題)
  - [1.3 Amazonのビジョン](#13-amazonのビジョン)
- [2. 技術的特徴とパフォーマンス](#2-技術的特徴とパフォーマンス)
  - [2.1 Nova Actの設計思想](#21-nova-actの設計思想)
  - [2.2 ベンチマーク結果](#22-ベンチマーク結果)
  - [2.3 信頼性への焦点](#23-信頼性への焦点)
- [3. 実用的な応用例](#3-実用的な応用例)
  - [3.1 賃貸物件検索の自動化](#31-賃貸物件検索の自動化)
  - [3.2 定期的なタスク実行](#32-定期的なタスク実行)
  - [3.3 Alexa+との統合](#33-alexaとの統合)
  - [3.4 予想外の適応能力](#34-予想外の適応能力)
- [4. 開発フレームワークとSDK](#4-開発フレームワークとsdk)
  - [4.1 SDKの概要と設計哲学](#41-sdkの概要と設計哲学)
  - [4.2 Pythonとの連携](#42-pythonとの連携)
  - [4.3 開発ワークフロー](#43-開発ワークフロー)
- [5. 将来展望と入手方法](#5-将来展望と入手方法)
  - [5.1 エージェント技術の未来](#51-エージェント技術の未来)
  - [5.2 研究プレビュー版の入手方法](#52-研究プレビュー版の入手方法)
- [6. まとめ](#6-まとめ)

## 1. Amazon Nova Actの概要

### 1.1 Nova Actとは

Amazon AGI Labsは、Webブラウザ内でアクションを実行するための新しいAIモデル「Amazon Nova Act」を発表しました。これは開発者がブラウザ内でタスクを完了できるエージェントを構築するための研究プレビュー版として、Nova Act SDKを通じて提供されています。

:::note info
**Nova Actの主な機能**
- Webブラウザ内での操作を自然言語指示から実行
- 複雑なタスクを信頼性の高い基本操作に分解
- 高い成功率でWebインターフェース要素を操作
- Pythonコードとの緊密な統合
:::

従来の大規模言語モデル（LLM）ベースのシステムは、主に自然言語での応答や検索拡張生成（RAG）に焦点を当てていました。一方、Nova Actはユーザーに代わって実際にWebブラウザ上でタスクを完了することに特化しています。

### 1.2 現在のAIエージェントが抱える課題

現在のAIエージェント技術には明確な限界があります：

1. **信頼性の低さ** - 最先端モデルでもWebブラウザ上のタスク完了率は30%〜60%程度
2. **継続的な監視の必要性** - 複雑なタスクでは人間による監視と介入が不可欠
3. **APIの制約** - 多くのエージェントはAPI経由でアクセス可能な機能に限定される

これらの課題により、「結婚式の段取り」や「複雑なIT業務の処理」といった多段階のタスクを自動化することは困難でした。

### 1.3 Amazonのビジョン

Amazonは、AIエージェントが広範で複雑な多段階タスクを実行できる未来を目指しています。Nova Actはその第一歩として、複雑なワークフローを以下のような信頼性の高い要素に分解します：

- 検索や要素のクリックなどの基本的なブラウザ操作
- 画面上の情報に関する質問への回答
- 構造化データの抽出
- 条件付きのアクション実行

さらに、Nova Act SDKでは：
- APIの呼び出し
- Playwrightを通じた直接的なブラウザ操作（パスワード入力など）
- Pythonコード（テスト、ブレークポイント、並列処理など）との連携

が可能になり、エージェントの信頼性と柔軟性を向上させています。

## 2. 技術的特徴とパフォーマンス

### 2.1 Nova Actの設計思想

Nova Actの中核となる設計思想は、**「信頼性の高い基本要素を組み合わせて複雑なワークフローを構築する」**というアプローチです。

```plantuml
@startuml
skinparam backgroundColor transparent

!define RECTANGLE class

RECTANGLE "Nova Act エージェント実行フロー" as Flow {
  + 高レベルの指示（例：「アパートを探す」）
  --
  + 1. タスクを原子的コマンドに分解
  + 2. 各コマンドを順次実行
  + 3. 現在の状態を継続的に評価
  + 4. 次のアクションを動的に決定
  + 5. 必要に応じてエラー処理
  + 6. 結果を構造化形式で返却
}

RECTANGLE "原子的コマンド例" as Commands {
  + 検索を実行
  + 要素をクリック
  + テキストを入力
  + ドロップダウンから選択
  + 日付を選択
  + データを抽出
  + ポップアップに対応
}

RECTANGLE "Python統合" as Python {
  + カスタムロジック実装
  + 並列処理（ThreadPool）
  + データ処理（Pandas等）
  + 条件分岐
  + エラーハンドリング
  + APIとの連携
}

Flow --> Commands : 使用
Flow --> Python : 連携
@enduml
```

この設計により、開発者は複雑なタスクを制御可能な単位に分割し、高い信頼性でタスクを実行するエージェントを構築できます。

### 2.2 ベンチマーク結果

Amazonが内部で実施したベンチマークによると、Nova Actは他の主要AIモデルと比較して優れたパフォーマンスを示しています：

| ベンチマーク | Amazon Nova Act | Claude 3.7 Sonnet* | OpenAI CUA* |
|-------------|----------------|-------------------|-------------|
| ScreenSpot Web Text<br>（テキスト要素との対話） | **0.939** | 0.900 | 0.883 |
| ScreenSpot Web Icon<br>（視覚的要素との対話） | **0.879** | 0.854 | 0.806 |
| GroundUI Web<br>（様々なUI要素の理解と対話） | 0.805 | **0.825** | 0.823 |

_* Amazonチームによりベンチマーク実施。プロンプトは一般的にシンプルなもの（「click on <element>」など）を使用。_

特筆すべきは、Nova Actが日付選択、ドロップダウン、ポップアップなど他のモデルが苦手とする機能で90%以上のスコアを達成している点です。

### 2.3 信頼性への焦点

Nova Actが他のエージェントと一線を画す最も重要な特徴は、その信頼性への強いこだわりです。Amazonは「実用的なエージェントには信頼性が不可欠」という考えのもと、以下の機能を実装しています：

1. **ヘッドレスモード**: 動作確認後は各アクションを視覚的に監視する必要がない
2. **API化**: エージェントをAPIとして他の製品に統合可能
3. **非同期実行**: 任意のスケジュールで自動実行するよう設定可能

これにより、「毎週火曜日の夕食にサラダを注文する」といった定期的なタスクを完全に自動化することが可能になります。

:::note info
**Nova Actの信頼性向上アプローチ**
* 複雑なタスクを原子的コマンドに分解
* 各ステップの結果を評価しながら次の行動を決定
* エラー発生時の代替アプローチの試行
* 画面状態の継続的な理解と適応
:::

## 3. 実用的な応用例

### 3.1 賃貸物件検索の自動化

Nova Act SDKを使用した実際の応用例として、賃貸物件検索の自動化が紹介されています。このデモでは：

1. 「Redwood Cityで2ベッドルーム1バスの物件を検索」という高レベルな指示を与える
2. エージェントは検索サイトに移動し、条件を入力して検索を実行
3. 検索結果から物件情報を構造化データとして抽出
   ```python
   # Panticクラスを定義してデータ構造を指定
   class Apartment(BaseModel):
       address: str
       price: float
       bedrooms: int
       bathrooms: float
       sqft: Optional[int] = None
   
   # 構造化抽出を実行
   apartments = browser.extract(Apartment, multiple=True)
   ```
4. 各物件に対して最寄りのCal Train駅までの自転車での距離を計算
   ```python
   def add_biking_distance(apartment):
       # Google Mapsを使って距離を計算
       browser = get_browser()
       browser.goto("https://maps.google.com")
       # 計算ロジック...
       return apartment
   ```
5. ThreadPoolExecutorを使用して並列に検索を実行し、処理を効率化
   ```python
   with ThreadPoolExecutor(max_workers=5) as executor:
       apts_with_distance = list(executor.map(add_biking_distance, apartments))
   ```
6. Pandasを使って結果をテーブルに変換し、自転車時間でソート
   ```python
   df = pd.DataFrame(apts_with_distance)
   df.sort_values("biking_time_minutes")
   ```

このサンプルコードはGitHubリポジトリのsamplesフォルダで公開されており、誰でも試すことができます。

### 3.2 定期的なタスク実行

Nova Actの信頼性の高さを活かした応用例として、定期的なタスク実行があります。例えば「毎週火曜日の夕食用にサラダを配達注文する」エージェントを構築できます。

```plantuml
@startuml
skinparam backgroundColor transparent

actor ユーザー
participant "Nova Actエージェント" as Agent
participant "配達サービスWebサイト" as DeliveryService
database "スケジューラ" as Scheduler

ユーザー -> Agent : 設定（毎週火曜日夕食用サラダ注文）
Agent -> Scheduler : スケジュール登録

loop 毎週火曜日
    Scheduler -> Agent : 実行トリガー
    activate Agent
    
    Agent -> DeliveryService : サイトにアクセス
    Agent -> DeliveryService : サラダを検索
    Agent -> DeliveryService : カートに追加
    Agent -> DeliveryService : 配達時間を選択（夕食時）
    Agent -> DeliveryService : 注文を確定
    
    Agent -> ユーザー : 注文完了通知
    deactivate Agent
end
@enduml
```

このように、一度設定すれば人間の介入なしに定期的なタスクを自動実行できることが、Nova Actの大きな強みです。

### 3.3 Alexa+との統合

Amazonは既に自社のAlexaプラットフォームにNova Actを統合しています。これにより、Alexaは専用APIが存在しないサービスに対しても、Webブラウザを通じて自己指向的にタスクを完了できるようになりました。

**実際の対話例：**

ユーザー: "Alexa、MAA ovenが動かないんだ。Milasを修理できる人をすぐに手配してくれる？"  
Alexa: "高評価のアプライアンス修理専門家を見つけました。どの業者について詳しく知りたいですか？"  
ユーザー: "最初のがいいね、リクエスト送ってくれる？"  
Alexa: "Fuse HVACとアプライアンス修理シアトルにあなたのMieleオーブンの修理を依頼します。それでよろしいですか？"  
ユーザー: "うん、それでいいよ"  
Alexa: "Fuse HVACとアプライアンス修理シアトルがオーブン修理に対応できることを確認しました。現在、Thumbtackを通じてリクエストを送信中です。数分かかるかもしれませんが、通知で更新情報をお知らせします。"

このように、APIが提供されていないThumbtackのようなサービスでも、Nova Act技術によってAlexaが直接Webインターフェースを操作し、ユーザーの代わりにタスクを完了できます。

### 3.4 予想外の適応能力

興味深いことに、Nova Actは訓練していない環境でも驚くべき適応能力を示します。例えば、Amazonのチームが試した「鳩バトルゲーム」では：

1. 対話モードでエージェントを起動
2. 鳩のキャラクターにステータスポイントを割り当てるよう指示
3. 他の鳩と戦うよう指示

Nova Actはゲームに関する訓練を特に受けていないにもかかわらず、ステータスポイントの割り当てや戦闘機能を成功させ、最終的に「巨大な筋肉質の鳩」に進化させることができました。

これは、Nova Actの基礎となるUIの理解能力が、特定の文脈や環境に限定されず、幅広い状況に適用できることを示しています。

## 4. 開発フレームワークとSDK

### 4.1 SDKの概要と設計哲学

Nova Act SDKは、開発者がAIエージェントを効率的に構築できるよう設計されています。その中核となる設計哲学は以下の通りです：

1. **信頼性の高い基本要素**: 複雑なタスクを高い成功率で実行できる原子的コマンドに分解
2. **自然言語からアクションへ**: `act()` メソッドで自然言語指示をブラウザ操作に変換
3. **Python統合**: 標準的なPythonコードと連携して拡張性を確保
4. **構造化データ抽出**: Webページから必要な情報を構造化された形式で取得

```python
# Nova Act SDKの基本的な使い方
from nova import BrowserAgent

# ブラウザエージェントの初期化
browser = BrowserAgent()

# Webサイトにアクセス
browser.goto("https://example.com")

# 自然言語指示によるアクション実行
browser.act("検索ボックスに「Nova Act」と入力して検索ボタンをクリック")

# 構造化データの抽出
from pydantic import BaseModel
class SearchResult(BaseModel):
    title: str
    description: str
    url: str

results = browser.extract(SearchResult, multiple=True)

# 結果の処理
for result in results:
    print(f"タイトル: {result.title}")
    print(f"説明: {result.description}")
    print(f"URL: {result.url}")
    print("---")
```

### 4.2 Pythonとの連携

Nova Act SDKはPythonエコシステムとシームレスに連携するよう設計されています：

1. **標準ライブラリとの互換性**: データ処理、並列処理、ファイル操作などPythonの標準機能を活用
2. **外部ライブラリとの統合**: pandas、requests、BeautifulSoupなど一般的なPythonライブラリと連携可能
3. **インタラクティブモード**: Jupyter Notebookなどでインタラクティブに開発可能
4. **テスト・デバッグツール**: 標準的なPythonテスト・デバッグツールでワークフローを検証

このような設計により、AIエージェント開発の敷居を大幅に下げ、Python開発者が自然に取り組める環境を提供しています。

```plantuml
@startuml
skinparam backgroundColor transparent

package "Nova Act SDK" as SDK {
  [Browser Agent] as BA
  [Extract API] as EA
  [Action API] as AA
}

package "Python エコシステム" {
  [Standard Library] as SL
  [pandas] as PD
  [requests] as RQ
  [threading] as TH
  [pytest] as PT
}

package "Web技術" {
  [Playwright] as PW
  [HTML/CSS解析] as HC
}

BA --> AA
BA --> EA
BA --> PW

AA --> HC
EA --> HC

SL <-- BA
PD <-- BA
RQ <-- BA
TH <-- BA
PT <-- BA

note right of BA
  BrowserAgentクラスは
  Python APIを通じて
  Nova Actモデルの能力を
  提供します
end note
@enduml
```

### 4.3 開発ワークフロー

Nova Act SDKを用いた一般的な開発ワークフローは以下のようになります：

1. **タスク定義**: 自動化したい高レベルタスクを定義
2. **プロトタイピング**: インタラクティブモードでエージェントの基本動作を確認
   ```python
   browser = BrowserAgent(headless=False)  # 可視モードで動作確認
   browser.goto("https://example.com")
   ```
3. **ステップの実装**: 各ステップを`act()`メソッドで実装
   ```python
   browser.act("ログインボタンをクリック")
   browser.act("ユーザー名フィールドにexample@mail.comと入力")
   ```
4. **データ抽出**: 必要なデータを構造化して取得
5. **エラー処理**: 失敗するケースに対する対策を追加
6. **テスト**: 様々な条件での動作を検証
7. **デプロイ**: ヘッドレスモードやAPIとして統合

このワークフローは柔軟性が高く、シンプルな自動化から複雑なマルチステップタスクまで対応できます。

:::note info
**小テスト: Nova Act SDKの特徴**

以下のうち、Nova Act SDKで実現できることはどれですか？
- [x] Webブラウザ上での複雑なタスクの自動化
- [x] 構造化データとしてのWeb情報抽出
- [x] Pythonの並列処理を活用した効率的な処理
- [x] 定期的に実行される自動タスクの設定
- [ ] ハードウェアデバイスの物理的な制御
:::

## 5. 将来展望と入手方法

### 5.1 エージェント技術の未来

Amazonによれば、Nova Actはより大きな「Nova」モデルトレーニングカリキュラムの最初のステップに過ぎません。本当に賢く信頼性の高いエージェントを開発するためには、単なる教師付き微調整だけでなく、様々な有用な環境での強化学習が必要だとしています。

```plantuml
@startuml
skinparam backgroundColor transparent

skinparam ArrowColor #777777
skinparam RectangleBackgroundColor #EEEEEE

rectangle "現在のNova Act" as Current {
  rectangle "Webブラウザ操作" as Browser
  rectangle "高信頼性原子的コマンド" as Commands
  rectangle "構造化データ抽出" as Extract
}

rectangle "将来の展望" as Future {
  rectangle "マルチモーダル理解" as Multi
  rectangle "完全自律エージェント" as Auto
  rectangle "環境間転移能力" as Transfer
  rectangle "長期的計画と実行" as Planning
}

Current -[hidden]d-> Future

note bottom of Future
  Amazonはより広範な環境での強化学習を
  通じてエージェント技術を発展させる計画
end note
@enduml
```

Amazonの見解では：

1. エージェント技術の最も価値あるユースケースはまだ発見されていない
2. 最高の開発者とデザイナーがそれらを発見していく
3. Nova Act SDKの研究プレビューは、これらの開発者との迅速なプロトタイピングと反復的なフィードバックを通じた共同開発を目的としている

### 5.2 研究プレビュー版の入手方法

Nova Act SDKは、nova.amazon.comという新しいWebサイトを通じて研究プレビューとして利用可能です。このサイトはAmazon Novaの基盤モデルを探索するための専用ポータルとなっています。

開発者向けのリソースとしては以下が提供されています：
- SDK本体とドキュメント
- サンプルコードとチュートリアル
- GitHubリポジトリでの実装例
- コミュニティフォーラム

## 6. まとめ

Amazon Nova Actは、Webブラウザ内でアクションを実行するAIエージェントの開発を可能にする画期的なSDKです。その主な特徴と意義をまとめると：

1. **従来の課題解決** 🔍
   - API依存からの脱却
   - 高い信頼性（90%以上）の実現
   - 継続的監視の必要性を排除

2. **技術的イノベーション** 🚀
   - 複雑なタスクを信頼性の高い原子的コマンドに分解
   - Python統合による拡張性と柔軟性
   - 構造化データ抽出による情報活用

3. **実用的応用例** 💼
   - 物件検索の自動化
   - 定期的なタスク実行
   - Alexa+との統合
   - 予期せぬ環境への適応能力

4. **開発者体験** 👨‍💻
   - 直感的なPython API
   - 豊富なサンプルとドキュメント
   - 段階的な開発ワークフロー

Nova Actは、AIエージェントがユーザーに代わって複雑なタスクを自律的に実行する未来への重要な一歩です。研究プレビュー版の公開により、開発者コミュニティが新たな可能性を探索し、エージェント技術の進化を加速することが期待されます。

今後のAmazon Nova Actの発展と、それを活用した革新的なアプリケーションの登場に注目していきましょう。