Skip to content

Latest commit

 

History

History
60 lines (45 loc) · 5.91 KB

README_ja.md

File metadata and controls

60 lines (45 loc) · 5.91 KB

🤖 プロアクティブエージェント

概要

プロアクティブエージェントは、ユーザーの行動と外部環境を監視し、可能な限り積極的にユーザーを支援するエージェントです。

現在のデモでは、ユーザーのキーボードとマウスのイベント、ブラウザ、および vscode を監視し、デスクトップ通知をポップアップしてユーザーを支援します。

データ処理

デモでは、ユーザーの行動と環境を監視するために ActivityWatcher を使用しています。 技術的には:

  • pynput ライブラリを使用することで、エージェントはキーボードとマウスのイベントをキャプチャできます。収集されたデータはユーザーの行動と見なされます。スクリプトは ActionListener に実装されています。また、結果がクリップボードに書き込まれるように paperclip を使用しています。
  • Chrome 拡張機能を使用することで、エージェントはブラウザのアクティビティ(タブの数、閲覧している HTML など)を把握できます。
  • Vscode 拡張機能を使用することで、エージェントはワークスペース(現在のプロジェクト名、コーディング言語、現在のファイル名など)を確認できます。

ユーザーの行動については、キーボードイベントとマウスイベントをスプライスして、キーボード入力とマウスの移動、クリックを取得します。

環境情報については、

  • afk バケットをチェックすることで、エージェントはユーザーが忙しいかアイドル状態かを把握できます。
  • window バケットをチェックすることで、エージェントはユーザーのフォーカスを把握できます。デモでは Chrome と Vscode 以外のアプリを無視し、主にこの2つの分野で支援を提供します。
  • vscode バケットまたは web バケットをチェックすることで、エージェントは作業内容とフォーカスを把握し、より適切な結果を提供します。

各期間について、ActionListener は4つのバケットから情報を取得し、ユーザーが Chrome または Vscode にフォーカスしていない期間をフィルタリングします。次に、エージェントは最後の有効な瞬間の必要な情報を選択し、集約されたイベントをエージェントに渡します。エージェントはこれに基づいてユーザーに積極的な応答を提供します。

プロアクティブエージェントの実行

プロアクティブエージェントを完全に体験するには、追加の依存関係をインストールする必要があります。

  1. 依存関係をインストールします。ActivityWatcher 拡張機能の詳細なインストール手順についてはこちらを参照してください。

  2. 必要な情報を設定します。 設定情報には LLM の api_key と ActivityWatcher の設定が含まれます。スクリプトによって検出されるように、テンプレートファイル ../example_config.tomlコピー し、../private.tomlリネーム して、LLM 呼び出しに関連する設定を 編集 します。 モデルを直接実行するには、activeagent という名前の API キーを設定する必要があります。これは直接呼び出しに使用されます。example_config のコメントを参照してください。 同様に、KeyErrorエラーの可能性を回避するために、default_completion_model activeagent に置き換えることをお勧めします。

  3. サーバーを実行します。 コマンドを実行します。

     python main.py

    成功した場合、ターミナルに情報が表示されます。

    • Windows ユーザーの場合、このサーバーは通知のために AUMID を登録します。スクリプトは AUMID を含む appid.txt ファイルを作成します。新しい AUMID を生成する場合を除き、このファイルを削除しないでください。
  4. 前のターミナルを開いたままにして、新しいターミナルを開き、次のコマンドを実行します。

    python ragent.py --platform PC [--chromes <監視するブラウザの名前> --interval <各ターンの間隔秒数>]
    python ragent.py --platform PC --chromes explorer.exe,mesdge.exe --interval 10

    いくつかのパラメータに注意してください:

    • --platform: 実行するプラットフォーム。現在、PC デモを実行できます。Mobile デモは将来リリースされます。
    • --apps: ActivityWatcher に表示される Chrome の名前。プラットフォームや Chrome の種類によってアプリの名前が異なるため、ActivityWatcher の window バケットを通じてアプリ名を見つけ、カンマ , で区切って渡す必要があります(将来更新予定です。ご不便をおかけして申し訳ありません)。
    • --interval: エージェントが提案を試みる頻度。デフォルトは 15 で、単位は秒です。 ホスト名はデフォルトバケット名のサフィックスです。例:aw-watcher-windows_<client_hostname>
    • --port: ActivityWatcher が保持および監視するポート。デフォルトは 5600 です。ActivityWatcher のポートを変更しない限り、変更する必要はありません。

    エージェントが正常に実行されると、ターミナルに設定情報と Demo running Started. というメッセージが表示されます。

その後、Chrome や Vscode を開くと、エージェントが動作を開始します。