endueendue

エージェントハーネスが満たすべき4つの条件

良いモデルは、エージェントの半分にすぎません。残りの半分はハーネスです。エージェントが動くマシン、触れてよい範囲、成果物の行き先がそこに含まれます。エージェントに実際の仕事を任せる前に確かめたい4つの条件と、すぐに使えるチェックリストをまとめました。

コンピューターのウィンドウの中にあるエージェントのアイコンが、電源ボタン、重なった層、共有マーク、南京錠の4つのタイルと線でつながっている図。

エージェントが実際の仕事で失敗するとき、原因はモデルの外にあることがよくあります。マシンが止まっていた。ツールが夜のうちに変わっていた。見せてはいけない人にファイルが届いていた。

モデルを取り巻くこうしたもの全体を、私たちはハーネスと呼んでいます。エージェントが動くコンピューター、そこに入っているツール、アクセスできるファイルやアカウント、許されている操作、そして結果の届け先です。事業の一部をエージェントに任せたいなら、ハーネスはどのモデルを選ぶかと同じくらい重要です。

4つの条件をひと目で

  1. 必要なときに起動し、不要なときは止める。 費用はエージェントが働いた時間の分だけです。
  2. 毎回同じ環境で動く。 月曜の実行も火曜の実行も、同じ場所から始まります。
  3. 成果物は権限に沿って共有する。 ファイルや小さなアプリが、届けるべき人にだけ届きます。
  4. 製品は隔離して運用する。 お客様に向けて動くものには、専用の環境を用意します。

ここから1つずつ見ていき、最後にチェックリストにまとめます。

1. 必要なときに起動し、不要なときは止める

エージェントの仕事は、まとまってやってきます。朝9時に売上のまとめ、昼食後にレポートの下書き、夜にテストの実行。その合間、エージェントは待っています。

マシンを一日中動かしておくと、3時間ほどの仕事のために24時間分を払うことになります。下の例は、そんな1日を表したものです。

あるエージェントの1日を示すアニメーションのタイムライン。3つの仕事が来るたびにマシンが起動し、終わるたびに止まります。「常時起動」のバーは24時間まで、「必要なときだけ」のバーは3時間20分まで伸びます。
1日の例:仕事は3つ、24時間のうちマシンを使ったのは3時間20分。

起動と停止は、簡単なほうの半分です。難しいのは、止めたあとに何が残るかです。止めるたびにファイルが消えるマシンでは、エージェントは仕事のたびに準備をやり直します。リポジトリをもう一度クローンし、パッケージをもう一度インストールし、もう一度ログインする。時間とエラーが積み重なるのは、まさにここです。

そこで、次の3つを確認します。

  • 仕事が来たら、マシンは自動で起動するか?
  • しばらく何もなければ、自動で止まるか?
  • 再び起動したとき、ファイルは残っているか?

2. 毎回同じ環境で動く

こちらは何も変えていないのに、月曜に動いたエージェントが火曜に失敗する。そんなときは、たいてい別のマシンに当たっています。パッケージが更新された。ツールの場所が変わった。権限が変わった。人ならそれに気づいて合わせられます。エージェントは何が変わったのかをほとんど見分けられないので、推測で動きます。

解決策は、環境を書き出しておくことです。システムイメージ、ツールのバージョン、マシンのサイズ、残しておくファイル、エージェントが触れてよい範囲、接続しているアカウント。すべての実行はこの記録から始まります。変えるときは意図して変え、新しいバージョン番号をつけます。

アニメーションの図。「ハーネス」のカードに、システム、ツール、サイズ、ファイル、許可範囲、接続アカウントが並びます。月曜、火曜、そして別のリージョンでの水曜の3回の実行が順に点灯し、どれも同じ環境 ID を示します。
書き出したハーネスは1つ。日付の違う3回の実行(うち1回は別のリージョン)が、同じマシンで動きます。

アカウントやキーもハーネスに含めます。保管場所はプロンプトの外です。プロンプトに貼り付けたキーは、モデルを呼び出すたびに一緒に送られ、ログにも残ります。

3. 成果物は権限に沿って共有する

エージェントは人のために何かを作ります。PDF のレポート、スプレッドシート、申し込みページ。こうしたものはエージェントのマシンを出て、誰かに届かなければなりません。とはいえ、全員に届けばいいわけでもありません。週次レポートはチームへ。下書きは、自分が読むまで手元に置いておきます。

成果物をうまく扱うハーネスは、次の3つを行います。

  • どの成果物も、非公開から始まる。
  • 共有は意図して行う手順で、段階がある。選んだ人、リンクを知っている人、一般公開。
  • 成果物ごとに、どのエージェントが作ったかを記録する。おかしな点に気づいたとき、誰に聞けばいいか分かるように。

4. 製品は隔離して運用する

仕事の中には、それを始めた会話より長く続くものがあります。クリニックの予約ボット。毎朝お店に通知を送る価格トラッカー。お客様が毎日頼りにするものなので、これは製品です。

製品は専用の環境で動かすべきです。専用のマシン、専用のデータ、専用のキー、専用のネットワーク規則。そのすべてを、その製品自身のハーネスで決めます。そうすれば、ある製品のバグや漏れたキーはその製品の中にとどまり、1つを更新しても他の製品には触れずに済みます。

2つのパネルからなる図。左の「成果物」には PDF、スプレッドシート、小さなアプリが並び、その下に「自分だけ」から「一般公開」までの共有範囲があります。右の「製品」では、2つの製品がそれぞれ専用マシン、専用データ、専用キー、専用ネットワーク規則を持つ閉じた箱に入り、そのあいだを壁が隔てています。
成果物は共有範囲を決めて人に渡します。製品はそれぞれ切り離して動かします。

では、何から始めればいいか

いま動かしているエージェントを1つ選び、この表に沿って確認してみてください。

質問 答えが「いいえ」なら
やることがないとき、マシンは止まるか? 何もしていない時間にも費用を払っています。
前回と同じファイル、同じツールで始まるか? 「昨日は動いたのに」という失敗が起きます。
環境がバージョンつきで書き出されているか? 実行が壊れたとき、何が変わったのか分かりません。
キーをプロンプトの外に保管しているか? キーがログやモデル呼び出しに紛れ込みます。
成果物は、誰かが共有するまで非公開か? 確認前の下書きが人に届いてしまいます。
製品ごとに専用の環境で動いているか? ある製品のバグが、別の製品のデータに届くおそれがあります。

最初の2行から始めてください。直すコストが小さく、偶然のように見えていた失敗を、種類ごとまとめて取り除けます。

endue では

endue OS は、この4つの条件に対する私たちの答えです。現在はプレビュー版です。endue でいま使えるものは、次のとおりです。

  • エージェントごとに専用の Workspace があります。 Linux または Chrome のマシンです。エージェントが必要とすると起動し、既定では15分使われないと停止します。endue OS のコンソールで、この時間を1分から24時間の範囲で設定できます。ファイルはそのまま残るので、次の仕事は前の仕事が終わったところから続けられます。費用は、動いていた時間と、ファイルを保存するディスクの分を endue クレジットで支払います。
  • Workspace は毎回同じイメージから起動します。 サイズは選べます。たとえば CPU 1個とメモリ 1 GB、または CPU 2個と 4 GB です。
  • 成果物は既定で非公開です。 共有は閲覧専用のリンクで行います。
endue の Devices 画面(英語 UI)。エージェントごとに Workspace があり、サイズと状態が表示されています。2つは「Running」、1つは「Stopped · wakes when used」で、使うと起動します。
endue の Devices 画面:エージェントごとに Workspace が1つ、サイズと状態つきで並びます。
endue の会話画面(英語 UI)。エージェントが Linux の Workspace を準備し、リポジトリをクローンしてパッケージをインストールし、テストを実行します。そのあと、Workspace はアイドル時に一時停止し、ファイルは残ると報告しています。
エージェントが Linux の Workspace を求めてテストを実行し、次回に備えてファイルをそのまま残します。

endue OS で次に作っているものは、さらに先へ進みます。各エージェントの必要に合わせて、最も安い、あるいは最も速いクラウドプロバイダーとマシンを選びます。製品は、それぞれのハーネスのもとで、完全に隔離された環境で運用します。そしてすべてのデータは、いつでも好きな場所へ移せる、あなたのものであり続けます。この3つは、どれもまだ利用できません。それぞれ提供を始めるときに、改めて記事でお伝えします。

Workspace のガイドはドキュメントに、共有については Outputs にあります。最初の一歩としては、エージェント1つ、Workspace 1つ、毎週くり返す仕事1つで十分です。そのあと Devices を開いて、マシンが止まっては起動する様子を見てみてください。

endue で試す

ひとつの目標からエージェントを作る

毎朝8時に私の分野の短いブリーフィングを送ってくれるエージェントを一緒に作って。
Autoendue で実行

ずっと無料カード登録不要送信を押すまで何も実行されません