MNMLのAIエージェントは2つのシステムで構成されています。 どちらも「AIのチームに仕事を任せる」仕組みですが、入口と得意分野が異なります。
ターミナル(Claude Code)から直接操作。
コード変更・Git操作・プロジェクト横断の管理に強い。
Slackからメッセージで指示。
経理・請求書・メール整理・スケジュール管理など業務自動化に強い。
両システム共通で、AIエージェントには役割があります。
| 名前 | 役割 | 人間で例えると |
|---|---|---|
| あなた | 最終判断・指示出し | 社長 |
| Mayor(市長) | 全体の司令塔。作業を振り分ける | プロジェクトマネージャー |
| Witness(監視役) | 作業員の進捗を見守る | 現場監督 |
| Refinery(精製所) | 完成コードをマージ | コードレビュー担当 |
| Polecat(作業員) | 実際にコードを書く | プログラマー |
| Deacon(執事) | システムのお掃除・メンテ | 管理部門 |
| 層 | 名前 | 役割 | 人間で例えると |
|---|---|---|---|
| 分類 | IF(受付) | メッセージを受け取り、どの部門に回すか判断 | 受付・秘書 |
| 管理 | VDU(開発部門長) | コード変更の設計→実装→テストを管理 | 開発マネージャー |
| BA(管理部門長) | 経理・法務・月次業務を管理 | 管理部長 | |
| OA(品質監査) | 成果物の品質チェック | QA担当 | |
| SA(システム監査) | システム正常性の監視 | SRE | |
| 実行 | Worker(作業員) | coder(実装)/ researcher(調査)/ architect(設計)/ tester(テスト)/ reviewer(レビュー)/ tax(税務)/ legal(法務)など | 各専門担当 |
| 項目 | 内容 |
|---|---|
| 入口 | ターミナル(Claude Code CLI) |
| 得意分野 | コード変更、Git操作、複数プロジェクト横断管理 |
| データ保存 | Dolt(バージョン管理DB) |
| プロジェクト単位 | Rig(リグ) — プロジェクトごとの作業場 |
| 課題管理 | Bead(ビーズ) — Issue/チケットに相当 |
| 項目 | 内容 |
|---|---|
| 入口 | Slack メッセージ |
| 得意分野 | 経理自動化、請求書、メール整理、カレンダー、レポート |
| データ保存 | ログファイル + MFクラウド + OneDrive |
| 課題管理 | GitHub Issues(info-mnml/issues) |
| 承認機能 | Slackボタンで承認/却下 |
Rigはプロジェクトごとの作業場です。使わないときは休眠(docked)状態にしてコストを抑えます。
| リグ名 | プロジェクト |
|---|---|
shift | シフト管理アプリ |
shift_liff | シフト管理 LINE連携 |
thebotch | イベント精算アプリ |
mnml_web | コーポレートサイト |
mnml_ba | 業務自動化(本リポジトリ) |
| 状態 | 意味 | APIコスト |
|---|---|---|
| running | 稼働中 | 発生する |
| parked | 一時停止 | なし |
| docked | 休眠(デフォルト) | なし |
作業の単位です。GitHub IssueやJiraチケットと同じ。
| 状態 | 意味 |
|---|---|
open | 未着手 |
in_progress | 作業中 |
blocked | 別の作業待ち |
deferred | 後回し |
closed | 完了 |
Mayorに口頭で伝えるだけでOKです。
あなた: 「shiftアプリにログイン機能を追加して」
Mayor: 課題(bead)を作成 → shiftリグに作業員を配置
Polecat: コードを書く → PRを作る
Refinery: レビュー → マージ
Mayor: 「完了しました」と報告
gt status # 全体の状態
gt rig list # リグ一覧
gt convoy list # 進行中の作業
bd stats # 課題の統計
bd list --status=open # 未完了の課題
bd ready # すぐ着手できる課題
bd show <課題ID> # 課題の詳細
「作業が終わったらリグをdockして」とMayorに伝えてください。
Slackでボットにメッセージを送るだけです。
| 言うこと | 担当 | やること |
|---|---|---|
| 「レビューして」 | VDU → reviewer | コードレビュー |
| 「Issueに起票」 | VDU → pjm | GitHub Issue作成 |
| 「デプロイ前確認」 | VDU → tester | デプロイ可否判定 |
| 「今週のまとめ」 | BA | 週次サマリー生成 |
| 「経費を確認」 | BA | 経費レポート |
| 「請求書を送って」 | BA | MFクラウド請求書処理 |
| 「空いてる時間教えて」 | BA | カレンダー空き確認 |
Slackのスレッド単位で会話が維持されます。同じスレッドで返信すれば、 前の文脈を覚えた状態で応答します(最大24時間)。
VDU(開発部門長)が3つのフェーズに分解して管理します:
| フェーズ | 担当Worker | 成果物 |
|---|---|---|
| Phase 1: 設計 | architect(設計士) | 設計書HTML(Cloudflare Pagesにデプロイ) |
| Phase 2: 実装 | coder(実装者) | コード変更 + テスト結果 |
| Phase 3: 検証 | reviewer + tester | レビュー結果 + テストレポート |
各フェーズの間でVDU(管理者)がレビューを挟みます。品質ゲートとして機能します。
mnml-agentsのBA部門が管理する自動化パイプライン一覧です。
Outlookの領収書メールをスキャン → AI分類 → MFクラウドに自動登録
# Slack経由
「今月の経費を処理して」
# CLI直接
python -m accounting.pipeline run --dry-run # プレビュー
python -m accounting.pipeline run # 本番実行
MFクラウドの下書き請求書を確定 → PDFを取得
「請求書を確定して」
「今月の請求書PDFをダウンロードして」
Outlookカレンダーの予定 → Excel月次レポートに変換 → OneDriveに保存
「今月の稼働報告書を作って」
メールの添付ファイルを自動取得 → OneDriveの適切なフォルダに配布
「メールの添付ファイルを整理して」
「未読メールのダイジェストを出して」
Outlookカレンダーの空き時間検索、会議調整
「来週の空いてる時間を教えて」
「○○さんと30分のミーティングを入れて」
毎朝、金融・AIニュースをスキャンしてSlackにダイジェスト配信
※ launchdで自動実行。手動操作は不要。
mnml-agentsでは、影響の大きい操作に承認フローがあります。
| 影響度 | 操作の例 | 承認 |
|---|---|---|
| 重大 | メール送信、ファイルアップロード、カレンダー変更、PR マージ | CEO承認が必須 |
| 中程度 | 長時間の経費処理パイプライン、本番データへの操作 | 承認が必要 |
| 軽微 | 設計相談、コードレビュー、スケジュール確認 | 承認不要 |
| コマンド | 説明 |
|---|---|
gt status | 全体の状態 |
gt rig list | リグ一覧と稼働状態 |
gt polecat list | 作業員の一覧 |
gt convoy list | 進行中の作業グループ |
| コマンド | 説明 |
|---|---|
bd list --status=open | 未完了の課題一覧 |
bd ready | 着手可能な課題 |
bd show <id> | 課題の詳細 |
bd stats | 統計情報 |
bd create --title="..." | 課題を作成 |
bd close <id> | 課題を完了 |
| コマンド | 説明 |
|---|---|
gt rig undock <名前> | リグを起動可能にする |
gt rig start <名前> | リグの監視役を開始 |
gt rig dock <名前> | リグを休眠させる |
gt sling <課題ID> <リグ> | 作業員に課題を投げる |
| コマンド | 説明 |
|---|---|
gt mail inbox | 受信トレイを確認 |
gt mail read <id> | メールを読む |
gt mail send <宛先> -s "件名" -m "本文" | メールを送る |
gt nudge <対象> "メッセージ" | エージェントに声をかける |
| コマンド | 説明 |
|---|---|
scripts/status.sh | 全サービスの稼働確認 |
scripts/start.sh | 全サービスを起動 |
scripts/stop.sh | 全サービスを停止 |
scripts/restart.sh | 全サービスを再起動 |
python -m accounting.pipeline status | 経費処理の進捗確認 |
python -m mail_filing.pipeline digest | 未読メールダイジェスト |
ターミナルで gt prime を実行すると、コンテキストが再読み込みされます。
Mayorに「○○リグのpolecatの状態を見て」と伝えてください。
gt polecat list <リグ名> # 状態確認
gt polecat nuke <リグ/名前> --force # 強制終了
gt dolt status # 状態確認
gt dolt cleanup # 不要データ削除
~/.dolt-data/ 配下のファイルを直接削除しないでください。データが壊れます。
scripts/status.sh # サービス稼働確認
scripts/restart.sh # 再起動
tail -f logs/agent.log # ログ確認
5時間のウィンドウでトークン制限があります。アカウントプールが設定されていれば自動でローテーションします。
ログに RateLimitError が出ている場合は、しばらく待つか別アカウントを追加してください。
MFクラウドやMicrosoft GraphのOAuthトークンは自動更新されますが、 リフレッシュトークンが失効した場合は再認証が必要です。
python -m accounting.tools.setup_oauth # MFクラウド再認証