Pi Agent によるこのチュートリアルでは、タイトルの特定のタスクのみを扱います。 Pi は、デフォルトで起動ユーザーのファイル、プロセス、ネットワーク、および資格情報のアクセス許可を継承します。 Docker、Gondolin、OpenShell は異なる信頼境界に対応するため、インストールの難易度のみに基づいて選択することはできません。
以下のすべての操作は、最初に、ループバックアドレスのみでリッスンするテストリポジトリ、テスト アカウント、またはサービスに配置されます。コマンド内のドメイン名、ユーザー名、パス、およびキーはプレースホルダーであるため、実行前に置き換える必要があります。
まず、デフォルトで Pi がアクセスできる境界を描画します
このセクションでは、「Pi がデフォルトでアクセスできる境界を最初に描画する」という問題を解決します。まず現在の状態を記録し、次に最小限のアクションを実行し、最後に独立した証拠で結果を確認します。
Pi エージェントの場合、判断基準は次のとおりです。Pi は、デフォルトで起動ユーザーのファイル、プロセス、ネットワーク、および資格情報のアクセス許可を継承します。 Docker、Gondolin、OpenShell はさまざまな信頼境界を解決するため、インストールの難易度のみに基づいて選択することはできません。この段階で誤ってさらに許可を開かないでください。
|
|
実行後にコマンド出力とタイムスタンプを保持します。出力が現在のターミナルの一時変数に依存している場合は、新しいターミナルを開いて再度確認してください。
3 つの絶縁方式の違い表
次の順序で処理します。
- 実際のバージョンと現在の構成を読み取ります。
- このセクションに関連する設定を 1 つだけ変更します。
- 読み取り専用または取り消し可能なリクエストを実行します。
- ログ、終了コード、および最終ファイルを確認します。
- 失敗した場合は、以前の変更を元に戻します。
|
|
ここでの完了基準は、インターフェイスが表示されることではなく、「3 つの分離スキームの差異表」に再現可能な結果があることです。
Docker は 1 回限りの倉庫タスクに適しています
| 何を確認するか | 許容可能なパフォーマンス | 停止する必要がある信号 |
|---|---|---|
| Docker は 1 回限りの倉庫タスクに適しています | 入出力スコープをクリア | 他のプロジェクトまたはアカウントに自動的に展開される |
| 権限 | タスクを完了するために必要な権限のみを取得します | 管理者権限またはフルキーが必要 |
| ログ | 見つけられなかったため、感度が解除されました | トークン、Cookie、またはプライベート テキストが表示される |
| ロールバック | 以前の状態に戻すことができます | 変更は元に戻すことができず、バックアップはありません。 |
|
|
表に停止信号が表示されたら、まずこのセクションの変更を元に戻し、後続の自動化を続行しないでください。
読み取り専用マウントと書き込み可能マウントを分離する方法
「読み取り専用マウントと書き込み可能マウントを分ける方法」を中心に成功サンプルと失敗サンプルを用意します。成功したサンプルでは通常のパスが検証され、失敗したサンプルでは制限が実際に有効かどうかが検証されます。
|
|
以下の4項目を記録することをお勧めします。
- 実行前バージョンまたは Git コミット。
- 実際の入力。秘密の値は記録されません。
- 観察可能な出力、ステータス コード、または差分。
- 回復アクションと回復後の結果の確認。
失敗の原因がまだ不明な場合は、一度に 1 つの変数のみを変更してください。ポート、ランタイム、プロバイダー、およびプロキシを同時に変更しないでください。
プロバイダーキーをコンテナーに注入するリスク
このセクションでは、「プロバイダー キーをコンテナーに挿入するリスク」について説明します。まず現在の状態を記録し、次に最小限のアクションを実行し、最後に独立した証拠で結果を確認します。
Pi エージェントの場合、判断基準は次のとおりです。Pi は、デフォルトで起動ユーザーのファイル、プロセス、ネットワーク、および資格情報のアクセス許可を継承します。 Docker、Gondolin、OpenShell はさまざまな信頼境界を解決するため、インストールの難易度のみに基づいて選択することはできません。この段階で誤ってさらに許可を開かないでください。
|
|
実行後にコマンド出力とタイムスタンプを保持します。出力が現在のターミナルの一時変数に依存している場合は、新しいターミナルを開いて再度確認してください。
Gondolin がホスト認証を保持するのはなぜですか?
次の順序で処理します。
- 実際のバージョンと現在の構成を読み取ります。
- このセクションに関連する設定を 1 つだけ変更します。
- 読み取り専用または取り消し可能なリクエストを実行します。
- ログ、終了コード、および最終ファイルを確認します。
- 失敗した場合は、以前の変更を元に戻します。
|
|
ここでの完了基準は、インターフェイスが表示されることではなく、「ゴンドリンがホスト認証を保持する理由」に再現可能な結果が得られることです。
OpenShell はポリシー制御の実行に適しています
| 何を確認するか | 許容可能なパフォーマンス | 停止する必要がある信号 |
|---|---|---|
| OpenShell はポリシーの制御された実行に適しています。入出力スコープをクリア | 他のプロジェクトまたはアカウントに自動的に展開される | |
| 権限 | タスクを完了するために必要な権限のみを取得します | 管理者権限またはフルキーが必要 |
| ログ | 見つけられなかったため、感度が解除されました | トークン、Cookie、またはプライベート テキストが表示される |
| ロールバック | 以前の状態に戻すことができます | 変更は元に戻すことができず、バックアップはありません。 |
|
|
表に停止信号が表示されたら、まずこのセクションの変更を元に戻し、後続の自動化を続行しないでください。
不正アクセスが実際に拒否されていることを確認する
「不正な読み取りが本当に拒否されることを確認する」あたりの成功サンプルと失敗サンプルを用意します。成功したサンプルでは通常のパスが検証され、失敗したサンプルでは制限が実際に有効かどうかが検証されます。
|
|
以下の4項目を記録することをお勧めします。
- 実行前バージョンまたは Git コミット。
- 実際の入力。秘密の値は記録されません。
- 観察可能な出力、ステータス コード、または差分。
- 回復アクションと回復後の結果の確認。
失敗の原因がまだ不明な場合は、一度に 1 つの変数のみを変更してください。ポート、ランタイム、プロバイダー、およびプロキシを同時に変更しないでください。
ポートを閉じるだけでなく、送信ネットワークを制限する
このセクションでは、「単にポートを閉じるのではなく、送信ネットワークを制限する」ことについて説明します。まず現在の状態を記録し、次に最小限のアクションを実行し、最後に独立した証拠で結果を確認します。
Pi エージェントの場合、判断基準は次のとおりです。Pi は、デフォルトで起動ユーザーのファイル、プロセス、ネットワーク、および資格情報のアクセス許可を継承します。 Docker、Gondolin、OpenShell はさまざまな信頼境界を解決するため、インストールの難易度のみに基づいて選択することはできません。この段階で誤ってさらに許可を開かないでください。
|
|
実行後にコマンド出力とタイムスタンプを保持します。出力が現在のターミナルの一時変数に依存している場合は、新しいターミナルを開いて再度確認してください。
コンテナ内の Git ID と送信の所有権
次の順序で処理します。
- 実際のバージョンと現在の構成を読み取ります。
- このセクションに関連する設定を 1 つだけ変更します。
- 読み取り専用または取り消し可能なリクエストを実行します。
- ログ、終了コード、および最終ファイルを確認します。
- 失敗した場合は、以前の変更を元に戻します。
|
|
ここでの完成基準はインターフェースの見た目ではなく、「コンテナ内での Git ID とサブミッションの所有権」の再現可能な結果です。
タスク終了後に残っているプロセスとファイルを確認する
| 何を確認するか | 許容可能なパフォーマンス | 停止する必要がある信号 |
|---|---|---|
| タスク後に残っているプロセスとファイルを確認する | 入出力スコープをクリアする | 他のプロジェクトまたはアカウントに自動的に展開 |
| 権限 | タスクを完了するために必要な権限のみを取得します | 管理者権限またはフルキーが必要 |
| ログ | 見つけられなかったため、感度が解除されました | トークン、Cookie、またはプライベート テキストが表示される |
| ロールバック | 以前の状態に戻すことができます | 変更は元に戻すことができず、バックアップはありません。 |
|
|
表に停止信号が表示されたら、まずこのセクションの変更を元に戻し、後続の自動化を続行しないでください。
ミッションのリスクに基づいてサンドボックスを選択する
「ミッションリスクに応じたサンドボックスの選択」を中心に成功サンプルと失敗サンプルを用意。成功したサンプルでは通常のパスが検証され、失敗したサンプルでは制限が実際に有効かどうかが検証されます。
|
|
以下の4項目を記録することをお勧めします。
- 実行前バージョンまたは Git コミット。
- 実際の入力。秘密の値は記録されません。
- 観察可能な出力、ステータス コード、または差分。
- 回復アクションと回復後の結果の確認。
失敗の原因がまだ不明な場合は、一度に 1 つの変数のみを変更してください。ポート、ランタイム、プロバイダー、およびプロキシを同時に変更しないでください。
ホスト Git リポジトリを読み取り専用でマウントします
このセクションでは、「ホスト Git リポジトリの読み取り専用マウント」について説明します。まず現在の状態を記録し、次に最小限のアクションを実行し、最後に独立した証拠で結果を確認します。
Pi エージェントの場合、判断基準は次のとおりです。Pi は、デフォルトで起動ユーザーのファイル、プロセス、ネットワーク、および資格情報のアクセス許可を継承します。 Docker、Gondolin、OpenShell はさまざまな信頼境界を解決するため、インストールの難易度のみに基づいて選択することはできません。この段階で誤ってさらに許可を開かないでください。
|
|
実行後にコマンド出力とタイムスタンプを保持します。出力が現在のターミナルの一時変数に依存している場合は、新しいターミナルを開いて再度確認してください。
書き込み可能なタスクは独立したワークツリーを使用します
次の順序で処理します。
- 実際のバージョンと現在の構成を読み取ります。
- このセクションに関連する設定を 1 つだけ変更します。
- 読み取り専用または取り消し可能なリクエストを実行します。
- ログ、終了コード、および最終ファイルを確認します。
- 失敗した場合は、以前の変更を元に戻します。
|
|
ここでの完了基準はインターフェイスの外観ではなく、再現可能な結果を伴う「独立したワークツリーを使用した書き込み可能なタスク」です。
切断されたコンテナがパブリック ネットワークにアクセスできないことを確認する
| 何を確認するか | 許容可能なパフォーマンス | 停止する必要がある信号 |
|---|---|---|
| 切断されたコンテナがパブリック ネットワークにアクセスできないことを確認します。入力範囲と出力範囲が明確です | 他のプロジェクトまたはアカウントに自動的に展開 | |
| 権限 | タスクを完了するために必要な権限のみを取得します | 管理者権限またはフルキーが必要 |
| ログ | 見つけられなかったため、感度が解除されました | トークン、Cookie、またはプライベート テキストが表示される |
| ロールバック | 以前の状態に戻すことができます | 変更は元に戻すことができず、バックアップはありません。 |
|
|
表に停止信号が表示されたら、まずこのセクションの変更を元に戻し、後続の自動化を続行しないでください。
サンドボックスを破棄した後にホストの残留物を確認する
「サンドボックス破壊後のホスト残存確認」を中心に成功サンプルと失敗サンプルを用意します。成功したサンプルでは通常のパスが検証され、失敗したサンプルでは制限が実際に有効かどうかが検証されます。
|
|
以下の4項目を記録することをお勧めします。
- 実行前バージョンまたは Git コミット。
- 実際の入力。秘密の値は記録されません。
- 観察可能な出力、ステータス コード、または差分。
- 回復アクションと回復後の結果の確認。
失敗の原因がまだ不明な場合は、一度に 1 つの変数のみを変更してください。ポート、ランタイム、プロバイダー、およびプロキシを同時に変更しないでください。
Pi エージェントに関するよくある質問
テスト環境をスキップして、公式プロジェクトで Pi Agent を直接使用することはできますか?
お勧めしません。まず、少なくとも 1 つの最小限の成功リクエスト、1 つの意図的な失敗、および 1 つの回復訓練を完了します。
Pi Agent コマンドは実行できますが、結果が正しくありません。最初にどこを確認すればよいですか?
まず入力範囲、実際の有効構成、および上流の応答を確認し、次にモデルの概要を確認します。プロセスが正常であっても、ビジネス結果が正しいとは限りません。
Pi Agent のキーまたはトークンが Git に入るのを防ぐにはどうすればよいですか?
システム環境変数、シークレット管理、またはプロジェクト外部の構成ファイルを使用し、コミットする前に差分を検索します。侵害が発見された後は、キーをローテーションする必要があります。
Pi Agent をアップグレードするときに見逃しがちなことは何ですか?
最も見逃しやすいのは、構成形式、デフォルトのリスニング アドレス、アクセス許可の範囲、キャッシュの互換性です。アップグレードする前に、バージョンと検証サンプルを保存してください。
Pi エージェントの受け入れに関する問題
完了すると、次の質問に答えられるようになります。
- 正確にどのバージョンを使用していますか?
- どのディレクトリ、ポート、アカウント、外部サービスにアクセスできますか?
- 成功結果を元のデータまたは Git diff に戻すにはどうすればよいですか?
- アップストリームに障害が発生した場合、エラーが報告されるか、再試行されるか、または切り替えられますか?
- キーがログまたは履歴に表示される可能性はありますか?
- 10分以内に修正前の状態に戻すにはどうすればよいですか?
これらのいずれかに回答できない場合、Pi Agent はまだトライアル状態にあるため、権限を拡張したり、運用自動化を利用したりすべきではありません。