> ## Documentation Index
> Fetch the complete documentation index at: https://novita.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# クイックスタート

このガイドでは、**5 分で最初の Agent を開発、デプロイ、呼び出しする**方法を説明します。

***

## 目次

* [概要](#overview)
* [前提条件](#prerequisites)
* [ステップ 1: Agent に SDK を統合する](#step-1-integrate-sdk-into-your-agent)
* [ステップ 2: CLI で設定ファイルを生成する](#step-2-generate-configuration-files-with-cli)
* [ステップ 3: ワンクリックで Novita にデプロイする](#step-3-deploy-to-novita-with-one-click)
* [ステップ 4: CLI または SDK で Agent を呼び出す](#step-4-invoke-agent-via-cli-or-sdk)
* [FAQ](#faq)

***

## 概要

完全なワークフローは 4 つのステップで構成されます。

1. ✅ **SDK を統合** - Agent コードにデコレーターを追加します
2. ✅ **Agent を設定** - CLI を使用して設定ファイルを生成します
3. ✅ **Agent をデプロイ** - クラウドへワンクリックでデプロイします
4. ✅ **Agent を呼び出し** - SDK または CLI を使用して Agent を呼び出します

***

## 前提条件

以下の前提条件を満たしていることを確認してください。

* ✅ Python 3.9+ と Node.js 20+ がインストールされている
* ✅ ベータ版 Python SDK と Node.js CLI がインストールされている（[インストールガイド](/docs/ja/guides/sandbox-agent-runtime-installation)を参照）
* ✅ Novita AI API Key を取得済み（[Console](https://novita.ai/settings/key-management)から取得）
* ✅ [Docker](https://www.docker.com/products/docker-desktop/) がインストールされている

***

## ステップ 1: Agent に SDK を統合する

### 1.1 Agent コードを作成する

プロジェクトディレクトリに `app.py` を作成します。

```python theme={"system"}
from novita_sandbox.agent_runtime import AgentRuntimeApp

# Create Agent Runtime application instance
app = AgentRuntimeApp()

# Define Agent entry point with decorator
@app.entrypoint
def my_agent(request: dict) -> dict:
    """
    Agent entry function
    
    Args:
        request: Request data, which typically contains fields like prompt
        
    Returns:
        Response data dictionary
    """
    prompt = request.get("prompt", "")
    
    # Agent business logic
    # You can call LLMs, use Agent frameworks, or implement any custom logic here
    result = f"Received message: {prompt}"
    
    return {"result": result}

# Local run entry point
if __name__ == "__main__":
    app.run()
```

### 1.2 依存関係ファイルを準備する

プロジェクトルートに、必要な依存関係を含む `requirements.txt` ファイルがあることを確認してください。

```txt theme={"system"}
novita-sandbox>=1.1.0b1
# Your other dependencies...
```

### 1.3 ローカルテスト

デプロイ前にローカルでテストします。

```bash theme={"system"}
# Start the Agent service
python app.py
```

別のターミナルでエンドポイントをテストします。

```bash theme={"system"}
# Test health check
curl http://localhost:8080/ping

# Test Agent invocation
curl -X POST http://localhost:8080/invocations \
  -H "Content-Type: application/json" \
  -d '{"prompt": "Hello, Agent!"}'
```

**期待される出力**:

ヘルスチェックは次を返すはずです。

```json theme={"system"}
{"status": "Healthy"}
```

Agent の呼び出しは次を返すはずです。

```json theme={"system"}
{"result": "Received message: Hello, Agent!"}
```

***

## ステップ 2: CLI で設定ファイルを生成する

CLI を使用して Agent を対話形式で設定します。

```bash theme={"system"}
# Make sure environment variables are configured
export NOVITA_API_KEY=your-novita-api-key

# Run configuration command
npx novita-sandbox-cli agent configure
```

CLI のプロンプトに従って、必要な情報を設定します。完了すると、CLI はプロジェクトディレクトリに以下のファイルを生成します。

* `novita.Dockerfile` - Docker ビルドファイル
* `.dockerignore` - Docker ignore ファイル
* `.novita-agent.yaml` - Agent 設定ファイル

***

## ステップ 3: ワンクリックで Novita AI にデプロイする

> ⚠️ **重要**: デプロイが成功すると、`agent_id` が生成されます。これは Agent を呼び出すための一意の識別子です。必ず保存してください。

### 3.1 デプロイコマンド

CLI を使用してワンクリックでデプロイします。

```bash theme={"system"}
npx novita-sandbox-cli agent launch
```

### 3.2 デプロイ結果を確認する

デプロイが成功すると、`.novita-agent.yaml` ファイルの `status` フィールドが更新されます。

```yaml theme={"system"}
status:
  phase: deployed
  agent_id: agent-xxxx  # ⭐ This is your Agent's unique identifier
  last_deployed: '2025-10-23T10:35:00Z'
  build_id: build_xyz789
```

**`agent_id` を記録してください。以降の呼び出しで必要になります。**

***

## ステップ 4: CLI または SDK で Agent を呼び出す

### オプション 1: CLI でクイックテストする

CLI を使用して Agent をすばやくテストします。

```bash theme={"system"}
npx novita-sandbox-cli agent invoke "Hello, Agent!"
```

**注**: CLI は、`.novita-agent.yaml` 内の `status.agent_id` フィールドから Agent ID を自動的に読み取ります。

**期待される出力**:

```json theme={"system"}
{"result": "Received message: Hello, Agent!"}
```

### オプション 2: SDK による呼び出し（本番環境に推奨）

SDK を使用して、バックエンドサービスから Agent を呼び出します。

#### サンプルコード

```python theme={"system"}
import asyncio
import json
import os
from novita_sandbox.agent_runtime import AgentRuntimeClient
from dotenv import load_dotenv

# Load environment variables
load_dotenv()

# Create Agent Runtime client
client = AgentRuntimeClient(
    api_key=os.getenv("NOVITA_API_KEY")
)

async def main():
    # Get from status.agent_id in .novita-agent.yaml after deployment
    agent_id = "agent-xxxx"
    
    # Prepare request data
    payload = json.dumps({
        "prompt": "Hello, Agent! Tell me something about AI."
    }).encode()
    
    # Invoke Agent
    print(f"🚀 Invoking agent: {agent_id}")
    response = await client.invoke_agent_runtime(
        agentId=agent_id,
        payload=payload,
        timeout=300
    )
    
    print(f"✅ Response: {response}")

if __name__ == "__main__":
    asyncio.run(main())
```

***

## FAQ

### Q1: Agent ID はどのように取得しますか？

デプロイが成功すると、Agent ID は `.novita-agent.yaml` ファイルの `status.agent_id` フィールドに保存されます。

```yaml theme={"system"}
status:
  agent_id: agent-xxxxx  # Here
```

### Q2: デプロイに失敗した場合はどうすればよいですか？

1. **依存関係ファイルを確認する**: `requirements.txt` にすべての依存関係が含まれていることを確認してください
2. **詳細ログを確認する**: `--verbose` フラグを使用します
3. **ネットワーク接続を確認する**: Novita AI Sandbox ドメイン（例: `sandbox.novita.ai`）にアクセスできることを確認してください
4. **API Key を検証する**: `NOVITA_API_KEY` が正しいことを確認してください

```bash theme={"system"}
# Show detailed logs
npx novita-sandbox-cli agent launch --verbose
```

### Q3: デプロイ済み Agent を更新するにはどうすればよいですか？

コードを変更して再デプロイします。

```bash theme={"system"}
# Option 1: Create new version (Recommended)
npx novita-sandbox-cli agent configure --agent-version 1.1.0
npx novita-sandbox-cli agent launch

# Option 2: Update existing version
npx novita-sandbox-cli agent launch --update-existing
```

### Q4: ローカルでは動作するのに、デプロイ後に失敗する場合は？

**考えられる原因**:

1. 環境変数が sandbox instance に渡されていない
2. 依存パッケージのバージョンに不整合がある
3. ファイルパスの問題

**解決策**:

`envVars` パラメーターを使用して、環境変数を sandbox instance に渡します。

```python theme={"system"}
response = await client.invoke_agent_runtime(
    agentId=agent_id,
    payload=payload,
    envVars={
        "NOVITA_API_KEY": os.getenv("NOVITA_API_KEY"),
        "MODEL_NAME": "deepseek/deepseek-v3-0324"
    }
)
```
