AIエージェント運用から生まれたOSSを公開
役割・権限・レビュー分離・作業範囲・引き継ぎを、実行前に確認する小さなチェッカー

みやこでITでAIエージェントの話をすると、モデル名やプロンプトだけでは終わりません。実際の仕事へ入れたとき、誰が実装を持つのか、どこまで変更してよいのか、レビューを誰に任せるのか、といった運用の話がすぐに出てきます。
Netsujoでは、その運用で繰り返し必要になった宣言チェックの一部を Agent Role Contracts として切り出し、MITライセンスで公開しました。2026年10月6日、0.5.0 をnpmの`latest`で安定版として公開しています。
この記事では、読む → 小さく試す → 分かったことを共有する、の順で入れるようにします。コードを書く人だけの入口ではありません。まず正常系と意図した失敗例を見比べるだけでも、「このツールが何を確認し、何を確認しないか」を掴めます。
- GitHub: suirindo/agent-role-contracts
- npm stable: @netsujo/agent-role-contracts@0.5.0
- Stable: `0.5.0`(npm `latest`)
- License: MIT
版の区別(2026年10月6日更新):このあと紹介する固定手順は、再現可能な基準として v0.1.0 を残しています。現在の安定版は 0.5.0 で、npmの`latest`から取得できます。0.5.0ではG0〜G3が利用でき、G1はtask/action binding、G2はfilesystem-write mapping、G3はlifecycle宣言の整合性を扱います。G2は実ファイルを書かず、G3はControllerやruntimeの状態機械として扱いません。安定版を試す場合は `npm install @netsujo/agent-role-contracts@0.5.0` を使います。
何を確認するツールか
複数のAIへ仕事を渡す前に、チームとTaskの宣言に矛盾がないかを確認します。
対象になるのは、例えば次のような項目です。
- roleとauthority
- 実装者とreviewerの分離
- task typeの明示的なroute
- Taskが要求するwrite scope
- role間のhandoff
具体例を一つ挙げます。
```text
implementer
write: src/**
reviewer
read-only
```
この状態でimplementerへ `secrets/production.txt` の変更を要求するTaskを渡すと、宣言した範囲の外なので、宣言の矛盾としてFAILを返します。
ここで実際のfilesystem permissionを書き換えているわけではありません。仕事を開始する前の段階で、今回頼もうとしていることと、あらかじめ決めた権限の範囲が一致しているかを見ています。
こんな場面で使えます
実装とレビューを別のAIに任せる
例えば、Claude Codeをimplementer、Codexをreviewerとして使う場合でも、契約側では製品名よりroleを先に定義できます。
```text
implementer -> write_scoped
reviewer -> read_only
human -> final approval
```
runtimeを後から入れ替えても、roleとauthorityの考え方をそのまま使えます。
複数のAIへ変更範囲を分ける
```text
frontend-agent -> src/frontend/**
backend-agent -> src/backend/**
```
のように担当範囲を宣言しておけば、Task側のscopeが割当roleの範囲から外れていれば、実行前の宣言検査でFAILとして検出できます。
Handoffの前提を確認する
AI-AからAI-Bへ仕事を渡すときは、Task ID、objective、from/to role、statusなどを含むhandoff documentも検査できます。
長いチャット履歴だけに頼らず、「何を、誰から誰へ渡したことにするのか」をデータとして残せます。
まず5分だけ試す
最初はGitHubのstarter exampleをそのまま動かすのが早いです。Node.js 22.5以上を使います。
GitやNode.jsに慣れていない場合は、いきなり自分の設定を書かなくても構いません。下の正常系と「わざとscopeを外した例」の出力差を読むところから始められます。一人で試して、分からなかった点だけをコミュニティやGitHubへ持ち込む形でも十分です。
```sh
git clone https://github.com/suirindo/agent-role-contracts.git
cd agent-role-contracts
git checkout v0.1.0
node bin/agent-role-contracts.mjs validate \
--bundle examples/starter-bundle.json
node bin/agent-role-contracts.mjs explain \
--bundle examples/starter-bundle.json \
--task examples/starter-task.json \
--format text
```
次に、わざとscopeを外したTaskを渡します。
```sh
node bin/agent-role-contracts.mjs explain \
--bundle examples/starter-bundle.json \
--task examples/starter-task-outside-scope.json \
--format text
```
こちらは `TASK_
自分のプロジェクトへ組み込む段階ではnpmから入れられます。
```sh
npm install @netsujo/agent-role-contracts@0.5.0
```
PASSが意味する範囲
Agent Role ContractsのPASSは、実行許可証ではありません。
確認した宣言の中で、そのcommandが扱う種類の矛盾を検出しなかった、という結果です。runtimeの権限強制、本人確認、実際のreview・human approval、成果物の実バイト、実行成功、コードの正しさ、秘密情報の検査、mergeやdeployの承認、本番採用や外部での採用まで証明しません。
`validate`、`explain`、`handoff` は入力が違うため、確認できる範囲も違います。Handoffを確認したい場合は、handoff documentを渡して `handoff` commandを実行します。
この境界を狭く保っている点は、実務では扱いやすさにつながります。「何を確認したのか」と「まだ確認していないこと」を分けて次のGateへ渡せるからです。
コミュニティで話したことを、動かせる形へ
みやこでITでは、AIエージェント実践LT会などを通じて、成功例だけでなく、どこで止まったか、どう役割を分けたか、何を人間へ残したか、といった運用の話を共有してきました。
今回のOSSも、その延長にあります。
現場で困る。仕組みにする。会社固有の部分を外す。公開できる境界を切り出す。第三者が動かし、IssueやPull Requestで返せるようにする。
技術コミュニティの共有物は、記事や登壇資料だけとは限りません。再利用できるコードまで持っていける知見なら、そこまで外へ返す価値があります。
Agent Role Contractsは、小さなv0.1.0のcheckerから、G0〜G3を含む安定版0.5.0へ進みました。まず境界を読む。次に固定したv0.1.0のexamples、またはnpmの安定版0.5.0を小さく動かす。そこで分かったことを、自分のワークフローやGitHub・みやこでITで共有する。その順で十分です。
試して分かったことや、止めるべきケースが足りないと感じた点は、GitHubのIssue / Pull Requestで返してもらえます。
関連記事
AIのPR下書き:変更範囲を決める
架空のPR下書きで、編集してよい範囲、拒否、差分の読み戻しを試す手順です。
AIの支払案を資金が動く前に検査する|ARCのオンチェーン金融デモを架空データで実行した記録
Agent Role Contractsのfinance・Safeデモと追加の宣言検査を、架空データで実行した記録を読みます。想定した拒否、元に戻すとPASSに戻る動き、手元で再現する手順、検査していないことまで分けて示します。
AIエージェントのLTで「動いた」をどう証明するか|公開デモのPASS→FAIL→PASSを1枚にする
AIエージェント実践LT会の開催記録を起点に、Agent Role Contractsの公開デモの入力・期待結果・過去CIを使い、再現可能な発表の証拠の残し方を整理。
🏷️このカテゴリ:コミュニティ運営
カテゴリ一覧もくもく会・勉強会・交流会の運営ノウハウとケース。
AIのPR下書き:変更範囲を決める
架空のPR下書きで、編集してよい範囲、拒否、差分の読み戻しを試す手順です。
英語ページがあっても言語対応は片方向だった|日本語3ページを直し、日英6ページで確かめた記録
「みやこでIT」のサイトで、日本語3ページが対になる英語ページへのhreflangを出していませんでした。原因、共通関数への置き換え、実ページを読む回帰テスト、本番6URLの確認と、まだ測っていない効果を記録します。
AIの支払案を資金が動く前に検査する|ARCのオンチェーン金融デモを架空データで実行した記録
Agent Role Contractsのfinance・Safeデモと追加の宣言検査を、架空データで実行した記録を読みます。想定した拒否、元に戻すとPASSに戻る動き、手元で再現する手順、検査していないことまで分けて示します。
AIにWebサイト改善を任せてわかった、テストが通っても残る問題
みやこでITのサイト改善で見つかった、料金条件の取りこぼし、HTML読み取り、日本語の改行。修正と反例テスト、本番確認までの実例を紹介します。
大阪から京都のもくもく会へ。一人で参加する休日の組み立て方
大阪から京都のもくもく会へ一人で参加する準備を、実際の開催案内を例に整理。会場までの経路、参加枠ごとの料金、作業の準備、帰宅までを考えます。
京都で、誰かと、何かをつくる。みやこでITが育てたい「出会いのその先」
京都のITコミュニティ「みやこでIT」が大切にする、人との出会いから生まれる学び、仲間、小さな挑戦。2019年から活動を続けてきた主宰が、これから育てたいコミュニティの価値を語ります。
AIエージェントのLTで「動いた」をどう証明するか|公開デモのPASS→FAIL→PASSを1枚にする
AIエージェント実践LT会の開催記録を起点に、Agent Role Contractsの公開デモの入力・期待結果・過去CIを使い、再現可能な発表の証拠の残し方を整理。
大光寺のもくもく会をヒントに、初対面の人へ「詰まり」を伝える4行メモ
大光寺のもくもく会#62を起点に、初対面の相手へ短時間で相談内容を伝える4行メモを提案。実際の活動記録と架空の練習例、未検証の効果を区別します。
✍️この著者:飯田 友広
著者ページ京都を拠点にIT人材・企業・大学・地域をつなぐ京都のITコミュニティ「みやこでIT」を主宰。7年167回の運営からTEMPLEモデルを抽出し、地域コミュニティの実装可能性を研究しています。
京都で、誰かと、何かをつくる。みやこでITが育てたい「出会いのその先」
京都のITコミュニティ「みやこでIT」が大切にする、人との出会いから生まれる学び、仲間、小さな挑戦。2019年から活動を続けてきた主宰が、これから育てたいコミュニティの価値を語ります。
AIエージェント分業を試す|ChatGPT・Claude Code・Codexの実践手順
ChatGPT、Claude Code、Codexを役割分担して使う開発フローを、個人開発やもくもく会で試せる形に再設計しました。タスク契約、実装、決定論的チェック、独立レビュー、人間の最終判断までを具体的な手順で整理します。
生成AI時代のIT勉強会の価値|京都「みやこでIT」で見えた、教わる場から試す場への変化
生成AIで技術情報を得るコストが下がった今、IT勉強会の価値はどこにあるのか。京都で活動する「みやこでIT」のClaude Code、AIエージェント、AI動画、量子コンピュータの開催実績から、「教わる場」から「実際に試した結果を持ち寄る場」への変化を考えます。
京都で技術相談先を探す方法|技術顧問・CTO代行の選び方
京都の企業・研究者が技術の相談先を探すときの進め方を整理しました。契約形態を先に決めず「何を判断してほしいか」から分ける方法、相談先9種類の特徴、コミュニティにできること・できないことを解説します。「みやこでIT」と運営会社の関係も明記します。
TEMPLEモデル|社内・地域コミュニティ設計の6つの観点
京都の「みやこでIT」を7年運営した経験を、Theme・Environment・Members・Persistence・Local・Evolutionの6つの観点へ整理した仮説モデルです。当てはめれば成功する法則ではなく、続いた企画と止まった企画を振り返って、判断に使える問いへ落としました。観点ごとの確認する指標と、当てはめにくい状況までまとめています。
企業のスポンサー協賛でITコミュニティを支援する効果と進め方
採用ブランディング・技術広報の文脈でITコミュニティを協賛する企業が増えています。京都651名・7年167回の運営から、効果・連携メニュー・進め方・失敗パターンを整理しました。
自治体がIT人材コミュニティと連携する方法 — 京都の地域実例から
京都府IT産業振興WG・大正大学京都アカデミア・京都知恵産業創造の森との連携実績から、自治体・地域団体がIT人材コミュニティと連携する形態・進め方・失敗パターンを整理しました。
京都発「みやこでIT」、沖縄CODE BASE OKINAWAで出張もくもく会を開催
2026年5月6日、京都を拠点とするIT共創プラットフォーム「みやこでIT」が、沖縄県宜野湾市のCODE BASE OKINAWAで出張もくもく会を開催しました。3名の小規模試行で、京都と沖縄の地方コミュニティ接続を試みた一日のレポートです。
コミュニティに参加する
京都でITエンジニア仲間を見つけたい方へ
「みやこでIT」では、京都のお寺・町家・大学などで、もくもく会や勉強会を毎月開催しています。
📊 Source data
本記事に登場する「7年・167回・651名」「お寺/町家会場での開催」等の数値は、 「みやこでIT」年次統計レポート(/community-stats) の一次データに基づきます。年別開催数・会場分布・イベント種別構成の集計を公開しています。
LM-4無料配布資料
京都のお寺でコードを書く — 「みやこでIT」参加ガイドブック2026
7年167回運営の実績から整理した、初参加を成功させる実践ガイド
対象:京都のITエンジニア・転職検討者・勉強会初参加の個人