公開デモの再現
AIエージェントの保存先が許可範囲内かを実行前に点検するARCの公開デモを再現した
確かめたのは、Netsujoが公開するエージェント役割契約(ARC)のCrewAI向け試作が、許可された書込範囲の宣言は変えずに保存先(output_file)だけを範囲内→範囲外→範囲内と変えたとき、通過→意図した失敗→通過と動くかである。固定commit 97a009bd のデモを2026-11-03に新たに取得したコピーで再現した。対象テストの出力は9件成功・失敗0件で、コマンドの終了コードは記録されていない。実際のCrewAI実行や業務での利用は確認していない。
- 公開日:
- 2026-11-03
- 所要時間:
- 不明:作業中に所要時間を記録しておらず、後から推定する根拠もないため不明。
- 費用:
- 不明:費用を記録しておらず、後から推定する根拠もないため不明。
この検証で確かめること
役割ごとの許可された書込範囲と、タスクごとの保存先(output_file)は、別々の設定に書かれる。この試作が、二つの食い違いを実行前に、設定ファイルの宣言だけを読んで見つけられるかを確かめた。これは公開デモの再現であり、特定の利用者の困りごとから始めた検証ではない。
確認した設計
今回確認した設計上の特徴は、CrewAIを起動せず、設定ファイルの宣言だけを読んで食い違いを理由コード付きで返す点である。実行基盤の導入や起動を伴わずに試せる。この設計を選んだ当時の判断は、この記録では確認していない。
試したこと
公開ARCの固定commit 97a009bd のデモ(node examples/crewai-adapter-spike/demo.mjs)を実行した。許可された書込範囲の宣言は変えず、タスクの保存先(output_file)だけを、範囲内のファイル→範囲外のファイル→元の範囲内のファイルへ変えた。(1) 範囲内で通過、(2) 範囲外で TASK_WRITE_SCOPE_OUTSIDE_AUTHORITY を返して失敗、(3) 元に戻して通過。入力に使った正確なファイル名は、固定commitのREADMEとデモにある。
意図した反例と戻した箇所
(2)の失敗は意図した反例である。保存先が許可範囲の外にあったため、検査が止めた。許可範囲の宣言は変えず、保存先だけを範囲内→範囲外→元へ戻した。戻すと通過した。この検査が見逃す失敗は、この試行では探していない。
確認できたことと限界
確認できたのは、宣言された許可範囲と保存先の整合だけである。2026-11-03に、同じ固定commitを新たに取得したコピーで再現し、デモは通過→意図した失敗→通過の順に動き、対象テストの出力は9件成功・失敗0件だった(Node v24.22.1)。テストコマンドの終了コードは記録されていない。別の版・別の構成・実際のCrewAI実行・異なる業務条件へ一般化できるかは確認していない。CrewAIは起動しておらず、ツール呼び出しも出力ファイルの書込も起きていないため、実行時に範囲外への書込を止められるかは分かっていない。
実際の利用で未確認のこと
この検査が対象にするのは、役割ごとの書込範囲とタスクごとの保存先を別々に宣言している構成である。書込範囲の宣言がない場合や、実行中の書込を止める必要がある場合は対象外である。実際にこの構成を使う人の体験、使われる頻度、改善につながったかは確認していない。
次に確かめたいこと
次に確かめたいのは、実際のCrewAI実行で宣言と挙動が一致するかである。まだ試していない。
書き分け
原典の報告
- ARCの固定commitのデモ出力は、CrewAIを起動せず、ツール呼び出しも出力ファイルの書込も行わないと記載している。
自社の観測
- 固定commit 97a009bd のデモは、通過 → 保存先を範囲外にして意図した失敗 → 保存先を戻して通過、の順に動いた。許可された書込範囲の宣言は変えていない。対象テストの出力は9件成功・失敗0件だった(2026-11-03、新たに取得したコピー、Node v24.22.1)。テストコマンドの終了コードは記録されていない。
推論
- 宣言の食い違いは、実行前に機械的に見つけられると考えられる。ただし見つかるのは宣言に書かれた範囲に限る。
提案
- 実行時の強制が必要な場合は、別の仕組みで検証する必要がある。これは提案であり、実施済みではない。
自社の利害
- ARCはNetsujo自身が開発・公開しているため、この記録は自社の取り組みについての記述である。
AIの関与
- アダプタの試作、記録、再現確認にはAIエージェントが関与した。各段階で人がどこまで確認したかは、この記録では確認していない。
限界
- 宣言の整合検査であり、実行時の安全制御ではない。
- 所要時間と費用は記録されておらず、不明である。
- 固定commitの一つのデモ・一つの構成を新たに取得したコピーで再現した範囲である。別の版・別の構成・実際のCrewAI実行・異なる業務条件への一般化と、利用者の体験・頻度・改善成果は未確認である。
- 対象テストの出力は9件成功・失敗0件だが、コマンドの終了コードは記録されていない。
公開原典と再現
再現の手順と入力の例は、下の固定commitのREADME、デモ、対象テストにあります。
- ARC 固定commit 97a009bd(公開リポジトリ。README: examples/crewai-adapter-spike/README.md、デモ: examples/crewai-adapter-spike/demo.mjs、対象テスト: tests/crewai-adapter.test.mjs)
再現確認: 2026-11-03 ・ 実施: Netsujo AI worker (freshly fetched copy of the public repository)
- ARC PR #51(公開リポジトリ。上記commitを含むPR)