プロジェクトと工程
「工程」という言葉から、処理が順に流れていく段を思い浮かべるかもしれません。プロジェクトの工程は違います。
このページでは、工程が何なのか、Playbook と Skill が何でどこに属しているのか、プロジェクトの記憶がどう扱われるのかを説明します。設定の手順は設計ガイドにあります。
プロジェクトは、業務の進め方をまとめた単位
プロジェクトは、1 つの業務を進めるためのまとまりです。中に工程を並べ、仕事をさせたい工程に Agent を置きます。
まとまるのは工程と Agent だけではありません。どこまで任せるか、誰が参加するか、どの連携先を使うかも、プロジェクトの単位で決まります。記録も、プロジェクトごとにたまります。
つまりプロジェクトを 1 つ作るのは、業務の進め方を 1 つ決めることです。
工程は Agent の置き場
工程は、Agent を置く場所です。工程そのものは何もしません。置かれた Agent が、自分のゴール(指示)に従って仕事をします。
そして、工程を並べた順番が、そのまま処理の順番になるとは限りません。順番どおりに進むのはワークフローで、サイクルでは、工程に置いた Agent ごとに巡回を有効にすると、それぞれの周期で動きます。どちらになるかは型で決まります。
Agent と工程は 1 対 1 ではない
Agent は工程の一部ではありません。独立した設定なので、同じ Agent を複数の工程に置けますし、複数のプロジェクトでも使えます。
Agent を工程に置いたもの 1 つ 1 つを配置と呼びます。実行も、巡回の周期の設定も、この配置の単位です。同じ Agent を 2 つの工程に置けば配置は 2 つあり、サイクルでは工程ごとに違う周期で動かせます。
ワークフローで同じ Agent を続く工程に置いたときも、工程ごとに動きます。たとえば工程 1 と工程 2 に同じ Agent だけを置けば、工程 1 と工程 2 で 1 回ずつ動き、工程 2 では、ほかの工程と同じく、工程 1 の出力と、作ってライブラリに保存したファイルを受け取ります。
逆に、1 つの工程に複数の Agent を置くこともできます。
同じ工程に複数置いたときの動き
ワークフローでは、同じ工程の Agent が配置順に 1 体ずつ動き、全員が終わってから次の工程へ進みます。工程を「同時に実行」にすると、置いた Agent が同時に動き、やはり全員が終わってから次の工程へ進みます。どちらでも、同じ工程の Agent どうしでは、出力を受け渡しません。 次の工程の Agent が受け取るのは、前の工程の Agent 全員の出力と、それぞれが作ってライブラリに保存したファイルです。それまでのやりとりが渡るわけではありません。
サイクルでは待ち合わせがありません。同じ工程の配置どうしも、それぞれの周期で動きます。
人が判断する工程には Agent を置かない
確認工程には Agent を置きません。
確認工程では、確認担当者が確認対象を見て、次の工程へ進める・差し戻す・却下するのいずれかを選びます。Agent が何かをする工程ではなく、判断のための工程です。
確認工程の置き場所と、確認担当者の決め方は確認ガイドで扱います。
Playbook は段取り、Skill はやり方
似た位置にある 2 つですが、別のものです。
Playbook は、繰り返す作業の段取りです。各ステップの目的・ガイダンス・成功条件を書いておくと、Agent がそれに沿って進めます。Agent に付けられるのは多くても 1 つで、付けないこともできます。
ただし、書いた手順がそのまま繰り返されるわけではありません。 Agent は依頼の内容に応じて手順を調整します。段取りを与えるものであって、毎回同じ手順を再現する仕組みではありません。
Skill は、個別の作業のやり方です。やり方を書いた文書に、必要ならスクリプトなどのファイルを添えて登録し、Agent に付けます。Playbook と違って複数付けられます。付けたもののうちどれを使うかは、実行中に Agent が選びます。Skill には版があります。自分の Skill は「内容を編集」で直して「新しい版として保存」できます(直せるのは Markdown・JSON・YAML のファイルで、スクリプトなどのコードを含む Skill は、ダウンロードして直し、差し替えます)。Agent では、Skill ごとに「最新の版に追随」か、決まった版を使うかを選べます。
Skill は動き方に効きます。サイクルでは、Agent が何を仕事として見つけるかが、ゴール(指示)と Skill と連携先で決まります。
Playbook と Skill は Agent に付く
Playbook と Skill は、プロジェクトにも工程にも付きません。Agent に付きます。 ゴール(指示)とガードレールも同じで、Agent が持ちます。一方、巡回の周期は Agent ではなく配置が持ちます。
この帰属は、あとから効いてきます。Agent を直すと、次に起動するときから直したあとの内容で動きます。ワークフローでもサイクルでも同じです。ですから同じ Agent を別のプロジェクトでも使っていると、その Agent を直した結果は、次の実行からほかのプロジェクトにも及びます。1 つのプロジェクトのために少し変えたつもりで、ほかのプロジェクトの動きも変わります。
プロジェクトごとに違う動きをさせたいなら、Agent を分けます。
プロジェクトの記憶は書き換わらない
プロジェクトには記憶があります。実行のたびに、あとの実行でも役に立つ決定や、つまずいた条件が選ばれて残ります。残るのは選ばれたものだけで、実行中に分かったことが全部入るわけではありません。あとの実行では、そのときの内容に関係する記憶だけが参照されます。
この記憶は書き換わりません。間違いが混ざっていたときは、基盤がその記憶を失効させて、新しい記憶を足します。古い記憶は消えず、失効した印が付くだけです。利用者が記憶を選んで消すことはできません。
もう 1 つあります。人が決めたことは、Agent の側から失効させられません。 確認工程での決定を置き換えられるのは、あとの人の決定だけです。
記憶を閲覧・編集する画面はありません。
プロジェクトの記憶とは別に、「会社の記憶」も読めます。 全社の記憶は常に読み、組織と職種の記憶は、プロジェクトの Agent ごとに選んだもの(組織 1 つ・職種 1 つまで)だけを読みます。同じ Agent を複数の工程に置いても、この設定は 1 つです。選べるのは、今のメンバーが所属する組織と就いている職種で、あとで今のメンバーの組織・職種から外れたものは、設定が残っていても読みません。プロジェクトの実行は、作った人を含め、誰の個人の記憶も読みません。 プロジェクトの外の過去のチャットも使いません。実行から会社の記憶へ書き込むこともありません。
次に読むもの
- サイクルとワークフロー — 工程の順番が意味を持つ型と、持たない型
- 設計ガイド — 工程を追加する、並べ替える、Agent を置く
- 確認ガイド — 確認工程をどこに置き、誰が決めるか