AIエージェント
Jev AI APIとAIエージェント:信頼できるエージェントワークフローの実践ガイド
アプリケーションの制御を保ちながら、型付き判断、モデルルーティング、ツール呼び出し前の安全対策、人によるレビューにJev AI APIを活用する方法を解説します。

Jev AI APIとAIエージェント:信頼できるエージェントワークフローの実践ガイド
AIエージェントには、もっともらしい回答を生成する言語モデルだけでは不十分です。どのモデルを呼び出すか、ツールを安全に使えるか、追加コンテキストが必要か、いつ人に引き継ぐかも判断する必要があります。Jev AI APIは、この意思決定レイヤー向けに設計されています。Stateと型付き質問を送り、構造化された回答をアプリケーションコード内で利用します。
このガイドでは、1つの限定的な判断から始め、ルーティング、ツール呼び出し前の安全対策、人によるレビューへと発展させながら、Jev AI APIをエージェントに接続する方法を説明します。モデル自体を初めて知る場合は、エージェントのパターンを適用する前にJev AIモデルの使い方ガイドをご覧ください。
目次
- エージェント構成にJev AIが適している理由
- 最小構成
- ステップ1:ツールより先に判断を定義する
- ステップ2:Stateと質問を設計する
- ステップ3:Jev AI APIを呼び出す
- ステップ4:回答をエージェントのループにつなぐ
- ステップ5:Jev Agent Skillを追加する
- ツール呼び出しの安全対策
- 人によるレビューと評価
- 本番導入チェックリスト
- よくある質問
エージェント構成にJev AIが適している理由
エージェントのワークフローには、通常少なくとも2種類の異なる役割があります。
- 生成と推論 — リクエストを解釈し、文章を作成し、情報を要約し、アクションの順序を計画する。
- 範囲を限定した判断 — 経路を選択し、リスクを評価し、条件を確認し、ツール呼び出しに承認が必要か判断する。
生成型LLMは前者に役立ちます。後者にはJevが適しています。段落をコードで解析したり、制約のないJSONレスポンスを信頼したりする代わりに、アプリケーションが直接利用できる型付き判断を返します。

エージェントが同じ自由形式のモデルに計画を書かせ、その計画のすべての操作を暗黙に承認させるべきではありません。意思決定レイヤーを分けると、役割が明確になります。
- エージェントはアクションを提案できる。
- Jevは範囲の限られた条件を評価できる。
- アプリケーションコードは権限を適用し、最終アクションを選べる。
すべてのステップにモデル呼び出しを追加することが目的ではありません。誤ったアクションが高コスト、安全上の問題、または監査困難につながる判断を切り分けます。
Jev AIエージェントの最小構成
実用的なJev搭載エージェントは、次の5つのコンポーネントで構成できます。
| コンポーネント | 役割 |
|---|---|
| エージェントオーケストレーター | ループ、コンテキスト、次のステップの計画を管理する |
| Jev AI API | 現在のStateについて型付き質問に回答する |
| 生成モデル | 文章作成、要約、推論、計画の作成を行う |
| アプリケーションの権限 | 許可するツールと操作を決定する |
| 人によるレビュー | 不確実なケースや影響の大きいケースに対応する |
オーケストレーターは、役に立つ最小限のStateをJevに渡します。ユーザーの依頼、ツールの引数、アカウントポリシー、以前の検証結果、ワークフローの現在の段階などが含まれます。焦点を絞ったオブジェクトから判断できる場合、Jevにエージェントの会話全体を渡す必要はありません。
ステップ1:ツールより先に判断を定義する
APIを連携する前に、エージェントが繰り返し行う判断を列挙します。最初のユースケースには、選択肢と次のアクションが明確なものが適しています。
モデルルーティング
Choiceを使って、リクエストを高速モデル、深い推論を行うモデル、検索フロー、フォールバックのどれに送るか決めます。選択結果に基づいて、エージェントがコードからモデルを呼び出します。
ツール呼び出しのリスク
提案された操作が機密性の高いものか、承認が必要かをNoulで尋ねます。レコードの削除、外部メッセージの送信、アカウント設定の変更、支払いの開始などが例です。
タスクの重大度と優先度
低、中、高、重大のような順序付けられたレベルが必要ならScoreを使います。生成モデルに数値を作らせずに、スコアでキューの優先順位を決められます。
完了とコンテキストの確認
型付き質問を使って、現在のStateに続行するための証拠が十分か、長時間のセッション結果を保持すべきか、エージェントがユーザーに確認すべきかを判断します。
最初の質問として「エージェントは何をすべきか?」と尋ねるのは避けます。答えの範囲が広く、安全に適用できません。「どの許可済み経路を使うか?」または「この特定のツール呼び出しに人の承認が必要か?」のように尋ねてください。
ステップ2:Stateと質問を設計する
Jev APIは、テキスト、JSONオブジェクト、テキスト配列をStateとして受け付けます。エージェントでは、ユーザーの依頼、提案された操作、ポリシー、根拠を分けて記述できるJSONオブジェクトが、通常は最も分かりやすい出発点です。
{
"state": {
"user_request": "Please remove all duplicate contacts from the workspace.",
"proposed_tool": "delete_contacts",
"record_count": 1842,
"has_backup": false,
"policy": "Destructive bulk actions require approval"
},
"model": "jev-latest",
"questions": {
"route": {
"type": "choice",
"instructions": "Which execution path is appropriate?",
"criteria": {
"proceed": "The action is allowed and can run automatically",
"confirm": "Ask the user or an operator for confirmation",
"reject": "The action violates policy or is not supported"
}
},
"needs_human": {
"type": "noul",
"instructions": "Does this proposed action require human approval?"
}
}
}
質問はそれぞれ独立させてください。複数の質問で同じStateを共有し、並列に評価できます。3回の個別呼び出しを連鎖させなくても、1つのリクエストで経路、リスク、人によるレビューのシグナルを返せます。

3種類の質問タイプを目的に応じて使い分けます。
Choiceは事前定義された選択肢から1つ選ぶ。Scoreは低から高へ順序付けられた評価基準に沿ってStateを採点する。Noulは、焦点を絞った命題が真である確率を返す。
質問キーはアプリケーション側で決め、answersでも同じものを使います。ログ、メトリクス、後続コードをバージョン間で比較しやすいよう、キーは固定してください。
ステップ3:Jev AI APIを呼び出す
Jev AIプレイグラウンドでStateと質問が動作することを確認したら、サーバーに接続します。評価エンドポイントは次のとおりです。
POST https://thejevai.com/v1/systemone
リクエストにはBearer形式のAPIキー、application/json、トップレベルの3項目state、model、questionsが必要です。現在のAPIリファレンスでは、主力モデル名としてjev-latestを使います。
curl -X POST https://thejevai.com/v1/systemone \
-H "Authorization: Bearer $JEV_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "jev-latest",
"state": {
"user_request": "Please remove all duplicate contacts from the workspace.",
"proposed_tool": "delete_contacts",
"has_backup": false,
"policy": "Destructive bulk actions require approval"
},
"questions": {
"route": {
"type": "choice",
"instructions": "Which execution path is appropriate?",
"criteria": {
"proceed": "Allowed and safe to run automatically",
"confirm": "Needs user or operator confirmation",
"reject": "Not allowed or not supported"
}
},
"needs_human": {
"type": "noul",
"instructions": "Does this proposed action require human approval?"
}
}
}'
JEV_API_KEYはサーバー側の環境変数に保管してください。ブラウザーのコード、エージェントの会話記録、公開プロンプト、リポジトリには絶対に含めないでください。APIレスポンスには各質問キーに対する型付き回答が含まれ、質問タイプが対応していれば確率や確信度のフィールドも返ります。
ステップ4:回答をエージェントのループにつなぐ
Jevはシグナルを返しますが、実行を担うのはオーケストレーターとアプリケーションの権限です。単純なルーティング境界は次のようになります。

const route = result.answers.route.choice;
const humanProbability = result.answers.needs_human.noul;
if (route === 'reject') {
return respondSafely('This action is not allowed.');
}
if (route === 'confirm' || humanProbability >= 0.8) {
return queueForHumanReview({ ticketId, result });
}
if (route === 'proceed') {
return executeAllowedTool({ name: proposedTool, args, requestId });
}
return askForMoreContext();
最終的なツール呼び出しは、決定論的な検証を通してください。Jevが高い確率で承認を返しても、ツール名、引数、ユーザー権限、リソースの範囲、リクエストIDをアプリケーションコードで検証します。
ステップ5:Jev Agent Skillを追加する
コーディングエージェントや互換性のあるエージェント環境では、公式のJev Agent Skillを使うと、実行権限をホストアプリケーションに残したまま、範囲の限定された判断を再利用可能な方法で尋ねられます。次のコマンドでインストールします。
npx skills add jev-ai/jev-agent-skill
環境変数にキーと言語を設定します。
export JEV_API_KEY="sk_your_key_here"
export JEV_LANGUAGE="en-US"
このSkillは、AgentがChoice、Score、Noulを選び、必要最小限のStateを送り、構造化された結果を解釈するのを支援できます。支払いの実行、データの削除、ホスト側の承認システムの回避をJevに許可するものではありません。
現在のAPIフィールド、Agent Skillの導入手順、レスポンス形式、エラー処理についてはJev AIドキュメントを参照してください。Skillは判断用インターフェースとして使い、アプリケーションレベルの認証や権限管理の代わりにしてはいけません。
ツール呼び出しの安全対策
エージェントは生成された文章から権限を推測してはいけません。ツール実行前に、提案された意図、ポリシー、対象範囲、リスクを確認します。Jevは型付きシグナルを提供し、アプリケーション側でルールを適用できます。

実用的な保護パイプラインは次のとおりです。
- 提案されたツール名と引数を正規化する。
- 範囲を絞ったリスクまたは承認の質問をJevに尋ねる。
- 決定論的な許可リストと権限確認を適用する。
- 不確実なケースを確認または人によるレビューに回す。
- 冪等性キーと監査記録を付けてツールを実行する。
破壊的な操作や外部に影響する操作では、1つの確率閾値に頼らず、複数の制御が一致することを要求してください。モデルのシグナルが確信度の高い結果でも、ポリシーレイヤーは操作を拒否できる必要があります。
人によるレビューと評価
確率と確信度はルーティングに役立つシグナルであり、業務上の正確性を保証するものではありません。過去の例を使って閾値を選び、リリース後は誤検知、見逃し、レビュー件数を監視します。

実用的な方針の例です。
- 確信度が高く、影響が小さいケース → 自動で続行する。
- 曖昧なケースや未知のケース → 追加コンテキストを求める。
- 影響が大きい、または破壊的な操作 → 承認を必須にする。
- 未対応または不正な入力 → 安全に失敗させる。
判断を再現するために十分なメタデータを保存します。質問のバージョン、Stateスキーマのバージョン、選択された回答、確率、確信度、最終アクション、人が結果を変更したかどうかなどです。APIキーや不要な個人情報をログに残さないでください。
本番導入チェックリスト
Jev AI APIとエージェントを本番に導入する前に、次を確認します。
- エージェントの判断に明確な選択肢がある。
- Stateには各質問が必要とするコンテキストだけが含まれている。
- 判断の形に応じて
Choice、Score、Noulを使い分けている。 - APIキーはサーバー側にあり、エージェントの会話記録に含まれない。
- タイムアウト、再試行、レート制限、APIエラーに安全な代替処理がある。
- ツール名と引数はモデルの外で検証される。
- 影響の大きい操作では、権限確認と必要に応じて人の承認を求める。
- すべてのツール呼び出しに冪等性の方法と監査記録がある。
- 代表的な例や敵対的な例で閾値をテストしている。
- 評価データと本番の秘密情報・個人データを分離している。
- ログからJevの回答とアプリケーションの最終アクションを関連付けられる。
よくある質問
Jev AI APIは別のChat Completions APIですか?
いいえ。APIはStateを型付き質問に照らして評価し、構造化された回答を返します。人が解釈するチャット履歴ではなく、アプリケーション内の判断として使うことを目的としています。
エージェント内のLLMをJevに置き換えるべきですか?
通常はそうではありません。言語を多く扱う作業には生成モデルを、範囲の明確な分類、ルーティング、スコアリング、安全判断にはJevを使います。両者は1つのオーケストレーションされたワークフローで連携できます。
Agent Skillがツールを実行してくれますか?
いいえ。互換性のあるコーディングエージェントが、Jevに範囲の限定された質問をするのを助けます。最終アクションの制御は、エージェントホスト、アプリケーションの権限、決定論的なポリシー確認、人による承認に残してください。
1回のリクエストで複数のエージェント向け質問をできますか?
はい。複数の質問で同じStateを読み取り、並列に評価できます。次の処理を決める前に、エージェントが経路、リスクスコア、人によるレビューのシグナルを必要とする場合に便利です。
まとめ
Jev AI APIとAIエージェントをうまく組み合わせるには、それぞれの役割を明確にします。エージェントとLLMが解釈と計画を担い、Jevが確率に裏付けられた小さな型付き質問に答えます。アプリケーションコードが権限を適用し、最終アクションを実行します。
まずはリスクの低いワークフローを1つ選び、プレイグラウンドで検証し、/v1/systemone経由で接続します。その後、ルーティング、ツールの安全対策、人によるレビューを1つずつ追加してください。これにより、テストしやすく、より安全に運用でき、本番でも予測しやすいエージェントになります。