ツール呼び出しからエージェント向けコンピューターへ:アーキテクチャはどう変わるか
ツール呼び出しから実際に働くコンピューターへ。見積書比較を例に、環境の分離、状態の保存、権限、進捗管理が必要になる理由を説明します。
あなたの製品に「仕入先を比較」ボタンを追加するとします。顧客は複数の見積書を選び、価格、納期、条件の違いをまとめた表を求めます。最初の試作ではテキストをモデルに送るだけで、短い見積書ならうまくいきました。ところが次の顧客は、スキャンしたPDF、表計算ファイル、仕入先のウェブサイトのリンクを渡してきます。
今度はファイルを開き、表を抽出し、サイトを確認し、価格を同じ基準に換算して、ダウンロードできる表を作る必要があります。モデルは何をするか判断する助けになります。その作業を行うプログラムを動かす場所も必要です。そこでエージェントコンピューターが役立ちます。
モデルがコマンド実行を求めたら、誰が動かすのか
ツール呼び出しは、モデルからあなたのプログラムへの依頼です。たとえば、見積書を読むスクリプトの実行を求めます。入力ファイルの用意、解析ツールのインストール、スクリプトの実行、出力の返却はプログラムが行います。スキャンしたページを読み取れなければ、エージェントが失敗を調べ、利用できる別の抽出方法を試す必要があります。
この手順は自分でも構築できます。機能が増えると、ブラウザー、ファイルへのアクセス、コマンド出力、顧客ごとの作業を分ける仕組みも必要になります。Beeuniはこれらをセッションにまとめます。エージェントはクラウドコンピューターでファイルを読み、コードを書き、コマンドを実行し、ブラウザーを使えます。
見積書の比較では、抽出した行を保存し、計算スクリプトを書いて実行できます。仕入先の公開ページで配送条件を調べることもできます。単位や納期が不明な行には、確認が必要な印を付けられます。顧客が確認できる、出典付きの表が成果物になります。
ツールのループからコンピューター上の作業へ
考える手順は変わりません。モデルに聞き、依頼された操作を実行し、結果を返して、また聞きます。PDFなら、コンピューターが抽出スクリプトを実行し、終了コード、出力、エラーを返します。エージェントはそれを読んで次の操作を決めます。解析の失敗、空の表、抽出の成功では、次に行うことが違います。
元のPDF、extracted.csv、計算スクリプト、完成した表を別々のファイルで保存します。数字がおかしければ、これらをたどって調べられます。計算方法を変える前に、抽出した行と元のページをエージェントに比べさせてください。情報が抜け落ちた処理を直せます。
ツールが起動したプロセスは、呼び出しより長く動くこともあります。リクエストが時間切れでも、文書変換は続いているかもしれません。実行を担当する側には、そのプロセスと出力を確認する仕組みが必要です。モデルにもう一度起動させると、待ち時間を解決せず変換を二重に動かす恐れがあります。
別のタスクには別の作業環境を用意する
二つの比較がディレクトリを共有すると、extracted.csvを上書きしたり、他方で使えない版のパッケージを入れたりします。Beeuniの各セッションは独立した実行環境を持ち、ファイルとプロセスを分けます。リポジトリを使う作業では、専用ブランチの変更を確認してからデフォルトブランチへ取り込めます。
共有アプリケーションは別に考えます。両セッションが同じ購買記録を更新できるなら、コンピューターを分けても編集の競合は防げません。比較では閲覧だけを認めるのか、更新時に承認を求めるのか決めてください。
停止や障害の後に何を残すか決める
保存されたセッションには作業の記録があり、ディスクには抽出ファイルや表があります。実行中のプロセスには、まだ書き出していない作業があるかもしれません。これらは別の状態です。メッセージが復旧しても、変換処理が中断した命令から再開するとは限りません。
通常の停止ではディスクが残ります。削除や紛失の場合は別の復旧が必要で、利用可能なら保存済み会話やリポジトリの作業を使います。大事な出力を選んだストレージへ保存し、必要なコード変更をプッシュしてください。セッションガイドに操作ごとの保存範囲をまとめています。
重要な操作に権限を設定する
比較用エージェントは仕入先文書を読めても、発注には人の判断が必要かもしれません。Beeuniのコネクターポリシーは操作を許可、承認待ち、禁止に設定できます。依頼文だけに頼らず、その操作の権限を設定します。ローカルの作業を分けても、接続したツールは実際の購買システムに影響します。
製品側は、誰が比較とファイルを開けるかも確認します。サーバーのAPIキーはアプリケーションをBeeuniに認証します。リクエストした人に結果を見る権限があるかは、あなたのアクセス確認が担当します。
長いタスクを一つの接続に依存させない
変換中に顧客がページを閉じることがあります。比較記録にBeeuniセッションIDを保存すれば、戻った画面で同じ作業を探せます。イベントで進捗を追い、保存ログで不在中の経過を確認できます。コンピューターに接続できても、作業中、完了、入力待ちのいずれかです。タスク状態とコンピューターの稼働状態を分けて示します。
途切れたリクエストを繰り返す前に、何が実行済みか確認します。外部操作では、確認が届かなくても注文が作られている場合があります。バックエンド接続ガイドでは、アプリケーションの記録と再接続処理を説明しています。
失敗の原因を調べられるようにする
生成された表の価格列が空だとします。セッションのファイルとコマンド出力を開いてください。PDF解析ツールが行を抽出できなかったのか。見積書はUnit costという列名なのに、スクリプトはPriceを探していたのか。仕入先のページにログインが必要だったのか。原因によって直し方が変わります。
エージェントがファイルとプログラムを使って作業しているため、中間のCSVを調べ、列の対応を直し、計算をやり直すよう頼めます。何が失敗したか分からないまま、モデルに最終回答だけを作り直させるより役立つことがあります。
遅い処理を見つけてから直す
この機能では、コンピューターの準備、モデルの応答、文書の抽出、サイトの読み込みに時間がかかります。設計を変える前に、実際の比較を一件確認しましょう。同じPDFを何度も開くなら、抽出済みテキストを保存して使います。計算スクリプトが遅いなら、そのコードを調べます。仕入先のサイトが遅い場合、モデルを変えても読み込みは速くなりません。
変更のたびに表を確認してください。抽出が速くなっても、価格や条件が正しく取れている必要があります。同じ文書とモデル設定で比べれば、変更が役に立ったか判断できます。
変わったアーキテクチャが担うもの
モデルは引き続きツールのループで操作を選びます。その周囲で、サービスがプログラムを実行し、タスクを分け、必要な成果を保存し、権限を適用して、進捗を公開します。これがエージェントコンピューターを支える設計の変化です。Beeuniが実行とセッションのAPIを提供するため、アプリケーションはタスクを送り、実際の作業を確認できます。
データセットの準備やウェブサイトのテストにも同じ構成を使えます。ファイル、コマンド、期待する出力は変わりますが、製品がセッションを開始し、作業を追い、顧客に使える結果を示す点は同じです。
接続方法はコードからセッションを操作すると認証から始めてください。製品の考え方はAIコンピューターとは?で紹介しています。