メインコンテンツまでスキップ

FileAccessツールでファイルの読み書きをする

本ページでは、FileAccessツールを対象に、テキストファイルや Officeファイルの読み書きについて、
設定方法と利用方法を解説します。

FileAccessツールとは

FileAccessツールは、ローカルまたはサーバー上のファイルにアクセスするためのツールです。
指定したベースディレクトリ配下のファイルやフォルダの読み取り・書き込みを、AIエージェントやワークフローから実行できます。

主にできること

  • テキストファイルの読み取り・書き込み
  • Officeファイル(Word / Excel など)の読み取り
  • フォルダの作成・一覧取得

今回のゴール

FileAccessツールの基本設定を行い、AIエージェントやワークフローからファイル操作ができる状態を構築します。

処理の流れ

  1. FileAccessツールの基本設定(ベースディレクトリの指定)
  2. AIエージェントへのFileAccessツールの設定
  3. ワークフローでのFileAccessツールの活用

1. 基本設定

  1. ツールを追加する。
    ツールタブより[新規作成] - [FileAccess] を選択してください。

  2. ベースディレクトリを設定する。
    [設定]タブからベースディレクトリを設定します。

ベースディレクトリは、ファイル操作の起点となる親フォルダです。
FileAccessツールはこのディレクトリ配下のみを操作対象とします。

ベースディレクトリの選び方

以下のように、用途に合わせて最小権限の範囲で設定してください。

  • 特定のプロジェクトで利用する場合:そのプロジェクトのフォルダ。
  • 汎用的に利用したい場合:C:/ などルートに近いパス。

2. AIエージェントに設定する

FileAccessツールをAIエージェントに設定することで、AIエージェントがベースディレクトリ配下のフォルダやファイルを自由に操作できるようになります。

  1. [エージェント]タブ - [新規作成]から、[空のエージェント]を選択します。

  2. ツールの設定でFileAccessツールを選択し、有効化します。

    トークン消費の最適化

    FileAccessツールの各機能(読み取り・書き込みなど)は、有効にした分だけトークンを消費します。
    使用しない機能はOFFのままにしてください。

設定が完了すると、AIエージェントにファイル操作を依頼できます。
例)システムプロンプトなしで、次のように依頼だけで動作します。

AIの最新動向について調査結果をまとめ、{出力先フォルダパス} にMarkdown形式でファイル出力して

AIエージェントが調査・要約・ファイル出力まで自動で実施してくれます。

3. ワークフローで利用する

FileAccessツールはワークフローのステップ内でも使用できます。
ここでは、指定フォルダ配下のすべてのファイル内容を取得するワークフロー を例に解説します。

ワークフローの処理の流れ

  1. 指定フォルダ配下のファイル一覧を取得
  2. ファイル一覧をループで繰り返し
  3. 各ファイルの内容を取得

ワークフローを作成する

  1. ワークフロー編集画面を開きます。

  2. 指定したフォルダ配下のディレクトリ一覧を取得します。
    左側ツールボックスより"ツール実行"をドラッグ&ドロップで初めのステップとして配置し、プロパティを設定してください。

    プロパティの設定項目

    指定したフォルダ配下に存在するディレクトリの一覧を取得し、target_folderpath_list に格納します。

    プロパティ必須設定項目詳細説明
    タイトルタイトル後から判別できる、わかりやすい名前にしてください。
    説明ステップで実施する内容
    ツール名作成したFileAccessツール
    関数名「ディレクトリ一覧取得」このノードではディレクトリ一覧を取得します。
    directoryPath例:{{targetDir}}取得対象のフォルダパスを指定します。
    includeSubdirectoriesFalseサブフォルダも含めるか指定します。今回は含めません。
    maxResults例:5000取得するディレクトリの最大値です。
    結果格納先例:target_folderpath_list実行結果を任意の変数に格納します。
  3. 各ディレクトリに格納されているフォルダを取得するため、ループ処理を設定します。
    "ループ処理"をドラッグ&ドロップで配置し、プロパティを設定してください。

    プロパティの設定項目

    前のステップで取得したディレクトリ一覧(target_folderpath_list)から1つずつフォルダを取得します。
    (フォルダ単位で取得し、次ステップ以降の処理を繰り返し実施します)

    プロパティ必須設定項目詳細説明
    タイトルタイトル後から判別できる、わかりやすい名前にしてください。
    説明ステップで実施する内容
    反復対象{{target_folderpath_list}}ループ対象のリストデータを渡します。(手順2の出力)
    アイテム変数target_folderループで実行する処理で利用する名前(次ステップで利用)
    最大実行回数例:5回数が多いと時間がかかるため、デバッグ時は2~5回を指定してください。
  4. フォルダ内のファイル一覧を取得します。
    "ツール実行"をループの 子要素 にドラッグ&ドロップで配置し、プロパティを設定してください。

    プロパティの設定項目

    ファイルの一覧を取得します。

    プロパティ必須設定項目詳細説明
    タイトルタイトル後から判別できる、わかりやすい名前にしてください。
    説明ステップで実施する内容
    ツール名作成したFileAccessツール
    関数名「ファイル一覧取得」このノードではファイル一覧を取得します。
    directoryPath例:{{target_folder}}取得対象のフォルダパスを指定します。
    includeSubdirectoriesFalseサブフォルダも含めるか指定します。今回は含めません。
    filePattern例:*.txtまたは空取得するファイルの拡張子パターンを指定します。
    結果格納先例:target_file_list実行結果を変数に格納します。
  5. ファイル内容を取得するため、ループ処理を設定します。
    "ツール実行"をループの子要素にドラッグ&ドロップで配置し、プロパティを設定してください。

    プロパティの設定項目

    前のステップで取得したファイル一覧(target_file_list)から1つずつファイルを取得します。
    (1ファイルずつ取得し、次ステップ以降の処理を繰り返し実施します)

    プロパティ必須設定項目詳細説明
    タイトルタイトル後から判別できる、わかりやすい名前にしてください。
    説明ステップで実施する内容
    反復対象例:{{target_file_list}}ループ対象のリストデータを渡します。(手順4の出力)
    アイテム変数例:target_fileループで実行する処理で利用する名前(次ステップで利用)
    最大実行回数例:5000回数が多いと時間がかかるため、デバッグ時は2~5回を指定してください。
  6. ファイルの内容を取得します。
    "ツール実行"をドラッグ&ドロップでループの子要素として配置し、プロパティを設定してください。

    プロパティの設定項目

    対象ファイルの内容を取得します。

    プロパティ必須設定項目詳細説明
    タイトルタイトル後から判別できる、わかりやすい名前にしてください。
    説明ステップで実施する内容
    ツール名作成したFileAccessツール
    関数名「ファイル内容取得」このノードではファイルの内容を取得します。
    Path例:{{target_file}}手順5で設定したアイテム変数を選択します。
    結果格納先例:content実行結果を変数に格納します。

これで指定したフォルダ以下のファイルの内容を取得することができました。

サブディレクトリを一括で再帰取得する

手順2の includeSubdirectories を true に設定すると、サブディレクトリを含むすべてのディレクトリを一度に取得できます。
その場合、手順3~5のループが不要になります。
ただし、フォルダ数が多い場合は処理時間と maxResults の上限に注意してください。

実行結果を確認する

ワークフローの実行が完了したら、実行履歴から各ステップの結果を確認してください。

  • 手順4の出力:ファイルパスの一覧が正しく取得されていること
  • 手順6の出力:各ファイルの内容が正しく取得されていること
取得したファイル内容は、この後のステップでAIエージェントに渡すなど、さまざまな処理に活用できます。

ワークフローでの活用例については、「網羅的にレビューするワークフローを作成する」も参照してください。

補足

ベースディレクトリに関する注意

FileAccessツールの操作対象は、指定したベースディレクトリ配下のファイル・フォルダに限定されます。

  • ベースディレクトリ外のパスを指定するとエラーになります。
  • 操作対象のファイル・フォルダが、ベースディレクトリ配下に存在することを事前に確認してください。

用途に応じたツールの使い分け

用途やベースディレクトリが異なる場合は、FileAccessツールを複数作成して使い分けることができます。
ツールの名前は、用途がわかるように適切に設定してください。