設定
本ツールの設定について説明します。
はじめに
本ツールでは、設定によりツールの動作をカスタマイズします。
ツールの設定には以下の2通りの方法があります。
- 設定ウィンドウ
- settings.yaml
設定ウィンドウ
本項では、設定ウィンドウについて説明します。
ツール設定ファイル(settings.yaml
)については ツール設定ファイル を参照してください。
メニューバーの Settings
メニューを押すと設定ウィンドウ(Settings
)が表示されます。
以下に本画面にて設定可能な各項目について簡単に説明します。
General
ツール共通の設定
Service Provider
利用する LLM のサービスプロバイダー
Model
利用する LLM のモデル
Force Terminate Game App
ゲームアプリが通常終了しない場合に強制終了するかどうか
Wait Time for Force Terminate (sec)
強制終了を実行するまでの待ち時間(秒)
AutoPlay
自動プレイ関連の設定
Button Text
LLM に送信するアクション情報にテキスト情報を含めるかどうか
Executed Action History
LLM に実行履歴情報を送信するかどうか
Text History Count
LLM に送信する履歴の数(テキスト情報)
Image History Count
LLM に送信する履歴の数(画像)
Max Num of Trial
一回の自動プレイにおける LLM との送受信回数の上限
LLM Deny Action List
Deny アクションリストのパス
Skip One Action UI
アクションが 1 つしかない画面をスキップするかどうか
Skip LLM Step Threshold
アクションが 1 つしかない画面をスキップする場合に何回連続でスキップするか
Use Image
LLM に画像を送信するかどうか
Image Fidelity
LLM に送信する画像の解像度レベル(OpenAI API の fidelity 引数と同じ)
Max Image Resolution
LLM に送信する画像の最大解像度
Knowledege Graph
知識グラフ関連の設定
Build Knowledge Graph When Task Success
知識グラフを自動生成するかどうか
Use Knowledge Graph
自動プレイの際に知識グラフを利用するかどうか
Transition Graph (Experimental)
画面遷移グラフ関連の設定
Use Graph
自動プレイの際に画面遷移グラフを利用するかどうか
Auto Add Graph
自動プレイの際に未知の画面をグラフに追加するかどうか
ツール設定ファイル
本ツールのカスタマイズは主に設定ウィンドウで行いますが、より高度なカスタマイズを行う場合はツール設定ファイル(settings.yaml
)を利用します。
settings.yaml
の設定項目には、設定ウィンドウにある設定項目が全て含まれます。
settings.yaml
はツールの初回起動時にデフォルト値で自動生成されます。
settings.yaml
の設定内容をリセットするには、ファイルを削除して再度ツールを起動すればデフォルト値で自動生成されます。
本ファイルは、ツールのバージョンが一致する場合に限り、他のユーザーとも共有可能です。
以下は、デフォルト値で生成された settings.yaml
の内容です。
# settings.yaml
game_binary_file_path: ''
knowledge_graph_file_path: knowledge.json
allow_action_list: ./allow_lists/allow_list.yaml
deny_action_list: ./deny_lists/deny_list.yaml
is_use_allow_action_list: false
hash_texts: true
hash_texts_action_num: 1
hash_ui_name: false
hash_action_pos: false
hash_action_text: false
skip_no_action_ui: true
skip_one_action_ui: false
wait_max_time: 3.0
wait_stable_interval: 0.5
wait_stable_in_a_row: 2
force_terminate: false
wait_time_for_force_terminate: 3.0
llm:
service_provider: AzureOpenAIService
model: ''
model_openai: ''
model_azure: ''
model_anthropic: ''
info_changed_action: true
info_executed_history: true
is_use_button_text: true
text_count: 3
is_use_image: true
mask_image_line_size: 2
mask_image_font_size: 12
max_image_resolution:
- 768
- 1024
image_fidelity: high
image_count: 2
is_build_knowledge_graph: false
is_use_knowledge_graph: false
knowledge_depth: 2
max_num_of_trial: 100
skip_llm_step_threshold: 3
graph:
is_use_graph: false
is_use_auto_add_graph: false
add_graph_execution_process_to_history: true
graph_screen_w: 600
graph_screen_h: 1000
graph_action_radius: 40
graph_ui_space: 1.2
cluster_threshold: 0.5
is_clone_action_results: true
graph_data_path: ./graph_data
graph_texts: false
graph_action_text: true
search_unvisited_action_mode: action_most
search_visited_action: true
get_action_random: true
one_to_many: true
check_end: true
check_end_visited_rate: 0.9
check_end_action_count: 100
check_repeat: true
check_repeat_max_pattern_length: 30
check_repeat_max_repeat_count: 3
以下に各設定項目について説明します。
ツール共通
game_binary_file_path
ゲーム実行形式ファイルのパス
knowledge_graph_file_path
知識グラフファイルのパス
allow_action_list
Allow アクションリストファイルのパス
deny_action_list
Deny アクションリストファイルのパス
is_use_allow_action_list
Allow アクションリストを使用するかどうか
hash_texts
画面識別情報に画面のテキスト情報を含めるかどうか
hash_texts_action_num
画面識別情報に画面のテキスト情報を含めるかどうかのアクション数の閾値
hash_ui_name
画面識別情報に画面名を含めるかどうか
hash_action_pos
画面識別情報にアクションの座標情報を含めるかどうか
hash_action_text
画面識別情報にアクションのテキスト情報を含めるかどうか
skip_no_action_ui
アクションが存在しない画面をスキップするかどうか
skip_one_action_ui
アクションが 1 つしかない画面をスキップするかどうか
wait_max_time
画面安定状態を待つ最大時間(秒)
wait_stable_interval
画面安定状態をチェックする間隔(秒)
wait_stable_in_a_row
画面安定状態をチェックする回数
force_terminate
ゲームプロセスが通常終了しない場合に強制終了するかどうか
wait_time_for_force_terminate
強制終了を実行するまでの待ち時間(秒)
llm
LLM 関連
service_provider
利用する LLM のサービスプロバイダー
- OpenAI
- AzureOpenAIService
- Anthropic
model
利用する LLM のモデル
model_openai
選択中のモデル(OpenAI)
model_azure
選択中のモデル(AzureOpenAIService)
model_anthropic
選択中のモデル(Anthropic)
info_changed_action
LLM にアクション変化情報を送信するかどうか
info_executed_history
LLM に実行履歴情報を送信するかどうか
is_use_button_text
LLM に送信するアクション情報にテキスト情報を含めるかどうか
text_count
LLM に送信する履歴の数(テキスト情報)
is_use_image
LLM に画像を送信するかどうか
mask_image_line_size
マスク画像の線幅
mask_image_font_size
マスク画像のフォントサイズ
max_image_resolution
LLM に送信する画像の最大解像度
image_fidelity
LLM に送信する画像の解像度レベル(OpenAI API の fidelity 引数と同じ)
image_count
LLM に送信する履歴の数(画像)
is_build_knowledge_graph
知識グラフを自動生成するかどうか
is_use_knowledge_graph
自動プレイの際に知識グラフを利用するかどうか
knowledge_depth
知識グラフの深さ
max_num_of_trial
一回の自動プレイにおける LLM との送受信回数の上限
skip_llm_step_threshold
アクションが 1 つしかない画面をスキップする場合に何回連続でスキップするか
graph
画面遷移グラフ関連
is_use_graph
自動プレイの際に画面遷移グラフを利用するかどうか
is_use_auto_add_graph
自動プレイの際に未知の画面をグラフに追加するかどうか
add_graph_execution_process_to_history
グラフ実行プロセスを履歴に追加するかどうか
graph_screen_w
画面遷移グラフ生成時の画面サイズ
graph_screen_h
画面遷移グラフ生成時の画面サイズ
graph_action_radius
画面遷移グラフ描画時のアクションの半径
graph_ui_space
画面遷移グラフ描画時の画面の間隔
cluster_threshold
画面クラスタリングに用いる類似度の閾値
is_clone_action_results
同じクラスにアクション結果をクローンするかどうか
graph_data_path
画面遷移グラフデータの格納ディレクトリのパス
graph_texts
LLM による行き先判定に用いる情報に画面のテキスト情報を含めるかどうか
graph_action_text
LLM による行き先判定に用いる情報にアクションのテキスト情報を含めるかどうか
search_unvisited_action_mode
- random: ランダム動作を行う
- nearest: 最も近いクラスタを選択する
- action_most: 最もアクションが多いクラスタを選択する
- unvisited_action_most: 最も未訪問アクションが多いクラスタを選択する
search_visited_action
訪問済みアクションのトグルフラグを使用するかどうか
get_action_random
ランダムアクションを取得するかどうか
one_to_many
有向グラフで 1 対多のエッジを許容するかどうか
check_end
画面遷移グラフ自動生成の終了判定を行うかどうか
check_end_visited_rate
終了判定に用いる実行済みアクション数の割合の閾値
check_end_action_count
終了判定に用いる発見済みアクション数の下限
check_repeat
繰り返し判定を行うかどうか
check_repeat_max_pattern_length
繰り返し判定に用いる繰り返しパターンの長さの上限
check_repeat_max_repeat_count
繰り返し判定に用いる繰り返し回数の閾値