AI の活動範囲を、構造で区切る
シリーズ・第 4 回 — 「AI エージェントのためのタスク管理をつくる」。前回は追いつくのが速い理由でした。今回は、AI の活動範囲を区切る話です。
第 1 回で、AI エージェントの困りごとの一つに「別プロジェクトの情報がノイズになり、記憶を汚す」を挙げました。今回はそこへの答え —— 活動範囲を、どう区切るかです。
プロンプトで「隣のプロジェクトは触らないで」と頼むことはできます。でも、守られる保証はありません。Amenbo(https://amenbo.work/)は、そこを仕組みで区切ります。
フォルダが、境界になる
第 2 回で見たとおり、フォルダの .amenbo は「どのプロジェクトか」を指す目印でした。それが、そのまま AI の活動範囲になります。.amenbo が束ねたプロジェクトの中は、読めるし書ける。けれど、外のプロジェクトへ手を伸ばす操作は、CLI 自体が断ります。
別プロジェクトを名指ししても、他プロジェクトの T-nnn / D-nnn を参照しても、返ってくるのは out_of_reach。しかもこれは読み書きの両方に効きます。隣のプロジェクトの一覧を出すことすら、できません。読めなければ、隣の文脈がセッションに紛れ込むこともない —— そこが狙いです。
境界はフラグで広げられません。--project で別のプロジェクトを指定しても、指定が効く前に断られます。さらに、コードの側でも、読み書きに「どの範囲か」を渡し忘れるとそもそもコンパイルが通らない設計です。囲い込みが「書き手が覚えていること」に依存しない、ということです。
お願いでなく、拒否
大事なのは、これがプロンプトの善意に頼らないことです。「触らないで」というお願いは破られうる。CLI が届かないなら、破りようがない。
ただし、Amenbo が閉じるのは自分の窓口(CLI)までです。AI がターミナルから生の SQL でデータベースを直に開いたり、ファイルを読んだりするところまでは囲いません。そこは OS の仕事で、Amenbo はできるふりをしません。それでも、amenbo を通して働くかぎり、隣への越境はお願いではなく仕組みで止まります。AI に渡すツールの側に、境界を立てておく —— そういう考え方です。
次回
第 5 回:同時に書いても、壊れない です。GUI と CLI が同じ SQLite を、2つの入口から並行して書いても壊れない理由を話します。