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

# はじめに

> intervyo.ai の中核となる構成要素である Interviewer、Role、Round、参加者と、それらが採用・トレーニング・模擬面接にどう対応するかを理解します。

intervyo.ai は**キャリブレーションされた AI 面接**を実施します。AI がリアルタイムの音声会話で深掘りし、フォローアップの質問をし、ルーブリックに照らしてスコアリングを行い、セッション終了からおよそ 2 分以内にトランスクリプトとスコアカードを生成します。

エンジニアのスクリーニング、営業担当者の認定、学生のリハーサルなど、どのユースケースでも同じ構成要素が基盤となります。このページでは、各構成要素、重要なフィールド、そしてユースケースごとにそれらがどう変化するかを説明します。

<Note>
  **すべてを 2 通りの方法で実行できます。** 面接の構築と実施は、すべて**ダッシュボード**上で（コード不要で）行うことも、**API** 経由で行うこともできます。以下の各コンセプトページでは、作成のための**ダッシュボード**と **API** の両方の手順を示しています。自分に合った方を選んでください。ガイド付きのウォークスルーをご希望ですか？まずは[エンドツーエンドの仕組み](/jp/guides/how-it-works)からご覧ください。
</Note>

## わかりやすく言うと

実際の企業が人を面接する流れを思い浮かべてください。

* **Role** とは、\_あなたが採用（または評価）しようとしている職務\_です。たとえば「カスタマーサポートスペシャリスト」「ServiceNow エンジニア」「アカウントエグゼクティブ」などです。**何が**優れているかを定義します。
* **Round** とは、その職務の面接における\_1 つのステップ\_です。電話スクリーニング、技術ラウンド、最終ラウンドなどがあります。1 つの Role は 1 つの Round を持つことも、複数持つこともできます。
* **Interviewer** とは、\_Round を実施する人\_です。ここでは、スコアカードを持つ AI ペルソナを指します。一度作成すれば（例：「ITOM スペシャリスト」や「フレンドリーなスクリーナー」）、どの Role のどの Round でも**再利用**できます。

> **Role は Round を持ち、各 Round は Interviewer によって実施されます。**

これをセットアップするのに技術的な知識は必要ありません。Role をわかりやすい言葉で記述し、必要な Round を追加し、それぞれに Interviewer を選ぶだけです。あとは人を追加すれば、AI が面接を行います。

## メンタルモデル

設定はトップダウンに流れます。AI が**どのように**振る舞い、**何を**評価し、候補者が**どのステップ**を通過するかを定義してから、人を割り当ててセッションを実行します。

```text theme={null}
Role                 →  what to assess (the job, skills, objective, pass bar)
   └─ Round               →  one step in the interview (screen, technical, final)
        └─ Interviewer         →  the AI persona + scorecard that runs the Round
   └─ Participant         →  the person being evaluated, attached to the Role
        └─ Session             →  one AI interview → transcript + scorecard
```

<Info>
  **再利用こそが要点です。** 1 つの Interviewer は複数の Role にまたがって Round を実施できます。1 つの Role は複数の Round を持てます。1 人の参加者は複数のセッションを実行できます。キャリブレーションを一度定義すれば、どこにでも適用できます。
</Info>

***

## Interviewer

*(API フィールド名: `agent_profile`)*

**面接官の人格と判断基準**です。Interviewer は、AI が自己紹介をする方法、どこまで踏み込んで質問するか、そして会話をどのようにスコアへ変換するかを決定します。Round に Interviewer を割り当てることで、そのステップの面接を制御します。

### 主なフィールド

<ParamField path="name" type="string" required>
  表示名。例：`"Senior Engineering Interviewer"`。
</ParamField>

<ParamField path="persona" type="string" required>
  AI が最初に自己紹介する内容。例：`"Alex, a senior engineer at
      Acme."` 候補者が受ける第一印象と AI の話し方を設定します。
</ParamField>

<ParamField path="useCase" type="hiring | admissions | training | custom_api" required>
  推奨判定の語彙を選択します。`hiring` は *hire / no-hire*、`training` は *ready / needs practice* を生成します。
</ParamField>

<ParamField path="evaluationDimensions" type="array" required>
  スコアリングの評価軸：`[{ name, description, weight }]`。**weight の合計は 100 にする必要があります。** これが AI が採点に用いるルーブリックです。
</ParamField>

<ParamField path="interaction" type="object">
  会話の振る舞い：`tone`（friendly · professional · strict · challenging）、`style`（structured · conversational · adaptive）、`difficulty`（easy · medium · hard · adaptive）、`probingDepth`（low · medium · high）。
</ParamField>

<ParamField path="scoring" type="object">
  スコアの算出方法：`scale`（0-10 · 0-5 · 0-100）、`scoringMethod`（weighted\_average · rule\_based）、およびオプションの `recommendationLogic`。
</ParamField>

<ParamField path="context" type="object">
  AI のための背景情報：`organizationContext`、`domainContext`、`scenarioContext`。例：企業の背景情報やロールプレイの設定など。
</ParamField>

<ParamField path="output" type="object">
  スコアカードに含める内容：`includeTranscript`、`includeScoreBreakdown`、`includeRecommendation`、`includeImprovementFeedback`（すべてデフォルトは `true`）。
</ParamField>

### ユースケースごとの変化

<Tabs>
  <Tab title="採用">
    キャリブレーションされ、やや踏み込んだ内容で、職務スキルに重みを置きます。

    ```json theme={null}
    {
      "name": "Senior Backend Interviewer",
      "persona": "Alex, a staff engineer assessing backend depth.",
      "useCase": "hiring",
      "evaluationDimensions": [
        { "name": "System Design", "description": "Scalable architecture", "weight": 50 },
        { "name": "Coding",        "description": "Correctness & clarity",  "weight": 30 },
        { "name": "Communication", "description": "Explains trade-offs",    "weight": 20 }
      ],
      "interaction": { "tone": "professional", "difficulty": "hard", "probingDepth": "high" }
    }
    ```
  </Tab>

  <Tab title="トレーニング">
    協力的なトーンで、合否の判定よりもコーチング的なフィードバックを重視します。

    ```json theme={null}
    {
      "name": "Sales Coach",
      "persona": "Sam, a sales enablement coach running a discovery drill.",
      "useCase": "training",
      "evaluationDimensions": [
        { "name": "Discovery",        "description": "Uncovers pain & budget", "weight": 40 },
        { "name": "Objection Handling","description": "Reframes pushback",      "weight": 40 },
        { "name": "Tone",             "description": "Confident, empathetic",   "weight": 20 }
      ],
      "interaction": { "tone": "friendly", "difficulty": "adaptive", "probingDepth": "medium" }
    }
    ```
  </Tab>

  <Tab title="模擬面接">
    リアルでありながら励ましのある内容で、反復練習と改善フィードバックのために設計されています。

    ```json theme={null}
    {
      "name": "FAANG Mock Interviewer",
      "persona": "Jordan, a big-tech interviewer running a practice round.",
      "useCase": "training",
      "evaluationDimensions": [
        { "name": "Problem Solving", "description": "Approach & edge cases", "weight": 60 },
        { "name": "Communication",   "description": "Thinks out loud",       "weight": 40 }
      ],
      "interaction": { "tone": "challenging", "difficulty": "hard", "probingDepth": "high" },
      "output": { "includeImprovementFeedback": true }
    }
    ```
  </Tab>
</Tabs>

***

## Role

*(API フィールド名: `evaluation_template`)*

**採用または評価の対象を定義する設計図**です。Role は、AI が何を判定すべきか、そして成功の基準を記述します。すべての参加者とセッションは、いずれかの Role に属します。

### 主なフィールド

<ParamField path="template_name" type="string" required>
  表示名。例：`"Senior Backend Engineer"`。
</ParamField>

<ParamField path="use_case" type="hiring | admissions | training | custom_api" required>
  カテゴリ。推奨判定の語彙とデフォルト値を決定します。
</ParamField>

<ParamField path="objective" type="string" required>
  面接で判定すべき唯一の事柄。例：*"Assess whether the candidate can own backend system design."*
</ParamField>

<ParamField path="success_outcome" type="enum">
  判定ラベル：`hire_no_hire`、`admit_reject`、`pass_fail`、`ready_needs_training`、`certified_not_certified`、`custom`。省略した場合は `use_case` から自動的に導出されます。
</ParamField>

<ParamField path="skills" type="string[]">
  深掘りする技術スキル。例：`["Go", "PostgreSQL", "Distributed Systems"]`。
</ParamField>

<ParamField path="soft_skills" type="string[]">
  行動特性。例：`["Communication", "Ownership"]`。
</ParamField>

<ParamField path="requirements" type="string">
  合格のために候補者が示すべき内容。あなたの基準を、わかりやすい言葉で記述します。
</ParamField>

<ParamField path="default_duration_minutes" type="integer">
  デフォルトのセッション長（デフォルトは `30`）。
</ParamField>

<ParamField path="default_difficulty" type="beginner | intermediate | advanced | expert | adaptive">
  質問の深さ（デフォルトは `intermediate`）。
</ParamField>

<ParamField path="default_session_mode" type="enum">
  `live_ai_interview`、`async_interview`、`roleplay_simulation`、`practice_session`、`manual_review`。面接の形式を設定します。
</ParamField>

### ユースケースごとの変化

| フィールド                  | 採用                  | トレーニング                 | 模擬面接                  |
| ---------------------- | ------------------- | ---------------------- | --------------------- |
| `use_case`             | `hiring`            | `training`             | `training`            |
| `objective`            | 「この人は職務を遂行できるか？」    | 「この人は実務に対応できる状態か？」     | 「この人は本番に臨む準備ができているか？」 |
| `success_outcome`      | `hire_no_hire`      | `ready_needs_training` | `pass_fail`           |
| `default_session_mode` | `live_ai_interview` | `roleplay_simulation`  | `practice_session`    |
| `skills`               | 職務固有のスキル            | 育成すべきコンピテンシー           | 対象職務のスキル              |

***

## Round

*(API フィールド名: `evaluation_stage`)*

**Role のパイプライン内の 1 つのステップ**です。例：*電話スクリーニング → 技術 → 最終*。各 Round は、独自の Interviewer、所要時間、合格しきい値を用いて、それぞれの面接を実施します。

### 主なフィールド

<ParamField path="role_id" type="uuid" required>
  この Round が属する Role。
</ParamField>

<ParamField path="stage_name" type="string">
  候補者に表示される表示名。例：`"Technical Screen"`。
</ParamField>

<ParamField path="stage_type" type="enum">
  `ai_interview`、`roleplay_simulation`、`practice_session`、`manual_review`、`async_assessment`、`final_review`。
</ParamField>

<ParamField path="interviewer_id" type="uuid">
  この Round を実施する Interviewer。ここでペルソナとルーブリックが組み込まれます。
</ParamField>

<ParamField path="stage_order" type="integer">
  パイプライン内での位置（0 始まり）。
</ParamField>

<ParamField path="pass_threshold" type="number (0–100)">
  このステージを通過するために必要な最低スコア。
</ParamField>

<ParamField path="allow_retake" type="boolean">
  不合格時に候補者が再挑戦できるかどうか（デフォルトは `false`）。
</ParamField>

<ParamField path="automation_rule" type="none | auto_advance | require_reviewer_approval">
  完了時に何が起こるか。自動で次へ進むか、人間の判断を待つか。
</ParamField>

### ユースケースごとの変化

<Tabs>
  <Tab title="採用">
    複数のゲート付きステージで、基準を段階的に引き上げ、最終ラウンドの前に人間による承認を挟みます。

    ```json theme={null}
    [
      { "stage_name": "Phone Screen", "stage_type": "ai_interview", "pass_threshold": 60, "automation_rule": "auto_advance" },
      { "stage_name": "Technical",    "stage_type": "ai_interview", "pass_threshold": 75, "automation_rule": "require_reviewer_approval" },
      { "stage_name": "Final",        "stage_type": "final_review",  "pass_threshold": 80 }
    ]
    ```
  </Tab>

  <Tab title="トレーニング">
    再挑戦可能な反復ドリル。ゲートはありません。目的はフィルタリングではなく成長です。

    ```json theme={null}
    [
      { "stage_name": "Discovery Drill",  "stage_type": "roleplay_simulation", "allow_retake": true, "pass_threshold": 70 },
      { "stage_name": "Objection Drill",  "stage_type": "roleplay_simulation", "allow_retake": true, "pass_threshold": 70 }
    ]
    ```
  </Tab>

  <Tab title="模擬面接">
    候補者が好きなだけ繰り返せる、単一の練習ステージです。

    ```json theme={null}
    [
      { "stage_name": "Mock Round", "stage_type": "practice_session", "allow_retake": true, "duration_minutes": 45 }
    ]
    ```
  </Tab>
</Tabs>

***

## Participant

**評価対象となる人**です。候補者、研修生、学生などを指します。まず参加者を作成し、その後でその人のセッションをスケジュールします。参加者は Role 単位でスコープが設定されるため、同じメールアドレスが異なる Role の下で別々の参加者として存在できます。

### 主なフィールド

<ParamField path="name" type="string" required>
  氏名。
</ParamField>

<ParamField path="email" type="string" required>
  メールアドレス。アカウントごとに一意です。面接の招待はここに送信されます。
</ParamField>

<ParamField path="role_id" type="uuid">
  この参加者が評価される対象の Role。
</ParamField>

<ParamField path="external_id" type="string">
  あなたの ATS / LMS / システムの ID。**すべての Webhook ペイロードでそのまま返される**ため、当社の ID を保存しなくても結果を突き合わせることができます。
</ParamField>

<ParamField path="profile" type="object">
  `{ title, organization, experienceLevel, location }`。AI が質問を調整するために使用する背景情報です。
</ParamField>

<ParamField path="background" type="object">
  `{ skills: string[], education, languages: string[] }`。
</ParamField>

<ParamField path="resume_url" type="url">
  公開アクセス可能な履歴書。ベクトル抽出をトリガーし、AI が面接中に参照できるようにします。
</ParamField>

<ParamField path="tags" type="string[]">
  フィルタリング用の任意のラベル。例：`["senior", "remote"]`。
</ParamField>

### ユースケースごとの変化

<Tabs>
  <Tab title="採用">
    あなたの ATS から取得した候補者。履歴書と職務の背景情報を含みます。

    ```json theme={null}
    {
      "name": "Jane Smith",
      "email": "jane@example.com",
      "external_id": "greenhouse-8821",
      "role_id": "ce1cd564-...",
      "profile": { "title": "Software Engineer", "experienceLevel": "senior" },
      "resume_url": "https://.../jane-resume.pdf",
      "tags": ["senior", "backend"]
    }
    ```
  </Tab>

  <Tab title="トレーニング">
    スキル開発のために登録された社内の担当者。`external_id` は HRIS の ID です。

    ```json theme={null}
    {
      "name": "Carlos Reyes",
      "email": "carlos@yourco.com",
      "external_id": "workday-44120",
      "role_id": "ce1cd564-...",
      "profile": { "title": "Account Executive", "organization": "West Region" },
      "tags": ["q3-cohort", "enablement"]
    }
    ```
  </Tab>

  <Tab title="模擬面接">
    セルフサービスで練習する学生。最小限のデータで、あなたのアプリのユーザー ID で識別されます。

    ```json theme={null}
    {
      "name": "Priya Patel",
      "email": "priya@student.edu",
      "external_id": "user_98213",
      "role_id": "ce1cd564-...",
      "profile": { "title": "New Grad", "experienceLevel": "entry" }
    }
    ```
  </Tab>
</Tabs>

***

## Session

**成果物**です。1 人の参加者に対する 1 回の AI 面接で、音声、トランスクリプト、評価軸ごとのスコア、推奨判定、真正性シグナルを生成します。参加者 + テンプレートに対してセッションをスケジュールすると、招待メールが自動的に送信されます。[Sessions](/jp/concepts/sessions)を参照してください。

## すべてを組み合わせる

<Steps>
  <Step title="エージェントプロファイルを作成する">
    面接官を定義します。ペルソナ、評価軸、トーンを設定します。
  </Step>

  <Step title="Interviewer を作成する">
    AI ペルソナを定義します。評価軸、トーン、スコアリングを設定します。
  </Step>

  <Step title="評価テンプレートを作成する">
    職務・評価とその目的を記述します。
  </Step>

  <Step title="Role を作成する">
    職務・評価とその目的を記述します。
  </Step>

  <Step title="ステージを追加する">
    それぞれエージェントプロファイルを指す 1 つ以上のステージを追加します。
  </Step>

  <Step title="Round を追加する">
    Role に、それぞれ Interviewer を指す 1 つ以上の Round を追加します。
  </Step>

  <Step title="参加者を追加する">
    評価対象の人を作成し、テンプレートに紐付けます。
  </Step>

  <Step title="参加者を追加する">
    評価対象の人を作成し、Role に紐付けます。
  </Step>

  <Step title="セッションをスケジュールする">
    参加者ごとにセッションをスケジュールします。招待は自動的に送信され、スコアカードは Webhook 経由で届きます。
  </Step>
</Steps>

## 次に進む先

<CardGroup cols={3}>
  <Card title="クイックスタート" icon="rocket" href="/jp/quickstart">
    5 分で最初の AI 面接を実施しましょう。
  </Card>

  <Card title="認証" icon="key" href="/jp/authentication">
    API キーを生成し、リクエストを認証します。
  </Card>

  <Card title="API リファレンス" icon="terminal" href="/api-reference/introduction">
    リクエストビルダーとレスポンス例を備えた、すべてのエンドポイント。
  </Card>
</CardGroup>

<Note>
  ドキュメントはプラットフォームとともにバージョン管理されています。ここに記載されている内容は、デプロイされているものと一致します。
</Note>
