Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ひとり情シスなCTOがLLMと始めるオペレーション最適化 / CTO's LLM-Powere...

ひとり情シスなCTOがLLMと始めるオペレーション最適化 / CTO's LLM-Powered Ops

ひとり情シスを兼務するCTOが、LLMを活用して業務オペレーションを最適化する過程を解説します。自動化の前にまず業務自体を見直し、プロンプト整備から内製AIエージェント開発まで、段階的かつ実践的なアプローチを紹介します。

Avatar for Mitsuki Ogasahara

Mitsuki Ogasahara

June 25, 2025
Tweet

More Decks by Mitsuki Ogasahara

Other Decks in Technology

Transcript

  1. 小笠原 みつき / @yamitzky # 経歴 2016 JX通信社 中途入社 (Engineer)

    2018 VP of Engineering 2023 CTO 2024 情シス引き継ぎ # 好き BigQuery 生成AI Python K-POP 自己紹介
  2. 契約更新フロー 契約更新のやり方を思い出す、調べる → マニュアルの整備 見積もり依頼メール出す 見積もりに返信する → 生成AIで文面作成するプロンプトの整備 稟議申請をする →

    各部署から申請できるように分担・環境整備 稟議承認を待つ → 数ヶ月前に申請し、待ち時間をなくす お金を払う 支払った証跡を保存・添付する → SaaS を活用 例) SaaSの契約更新
  3. 契約更新フロー → 更新しない 契約更新のやり方を思い出す、調べる 見積もり依頼メール出す 見積もりに返信する 稟議申請をする 稟議承認を待つ お金を払う 支払った証跡を保存・添付する

    「何もしない」が最強の業務最適化 「そもそも不要なのではないか?」を考え、業務自体をなくすことも考える 例) SaaSの契約更新
  4. 既存ツール活用 プロンプト整備 メール作成 SaaSアカウントの月次チェック 台帳のスプレッドシートの作成 Claude Code、Devin Infrastructure as Code

    化したSaaS権限の管理 NotebookLM セキュリティチェックシートの一次回答 内製AIエージェント 社内の問い合わせ対応 Google Workspaceアカウント作成 JX通信社での生成AIを活用した情シス業務の一例
  5. 生成AIを業務に活用する場合、3つの組み合わせ次第で性能が大きく変わる 「◯◯のモデルは悪い」 「AIにはこのタスクは難しい」とすぐに決めつけず、組み合わせを試行錯誤する モデル自体の賢さ 得意・不得意 Gemini ProはFlashよりも遅いが賢い 新しいモデルのほうがだいたい賢い コーディングに強いモデル vs

    ロング コンテキストに強いモデル × エージェントや ツールの設計 すぐ諦めるエージェント vs 達成する までお金を使い続けるエージェント タスク分割をしてくれるエージェント の活用(Claude Code, Roo) × モデルに与える 情報の質 AIは業務知識や細かい一般知識、最新 の知識を知らない 今日の日付すら知らない 逆に情報を与えすぎると、性能が落 ちることも 補足:生成AIの「性能」
  6. https://github.com/sigoden/aichat Rust 製のオープンソースな CLI の生成 AI ツール (MIT / Apache‑2.0)

    REPLやpipe入力などに対応 プロンプトをroleやmacroとして保存可能 (GPTs的なもの) 例) 「メール返信」 「日英翻訳」 「Spreadsheetの達人」を作成 MCP、ツール統合あり 20 以上の LLM プロバイダー (OpenAI, Claude, Gemini) に対応 aichat
  7. Spreadsheetの関数を考えてください。Google Spreadsheet(Google Sheets)です。 - ARRAYFORMULAの中で AND や OR を使うことはできません。積算を使って実現してください -

    原則、VLOOKUPなどは使わず、XLOOKUPを使ってください - カラムを参照するときは、Sheet_name!A:A のように参照するだけではなく、Sheet_name[名前] のように参照することもできます。 ユーザーが「テーブル参照」と表現する場合、Sheet_name[名前]のような表記のことを言っています。 - 関数は、適切にインデントを使って見やすくしてください ↓ 生成したもの =ARRAYFORMULA( IF(Zoom[最終ログイン(UTC)]<=EDATE(TODAY(),-3), 1, 0)* IF(Zoom[金額]>0, 1, 0) >= 1 ) スプレッドシート職人の aichat role 例
  8. https://github.com/yamitzky/spreadsheet-mcp 生成AIによるPlaywrightのブラウザ操作は Google スプレッドシートと相性が悪い(2025年現在) 表形式のスプレッドシートをimport/exportするためのMCPサーバーを開発 ツール名 できること load_sheet スプレッドシートを読み込み get_column_names

    列名(ヘッダー)一覧を取得 detect_sheet_url シート名を指定して、そのシートのURLを取得 get_sheet_names スプレッドシート内の全シート名を取得 upload_csv_to_spreadsheet CSVファイルをスプレッドシートにアップロード upload_spreadsheet_to_spreadsheet スプレッドシートから別のシートへ内容をコピー spreadsheet-mcp
  9. 1月当初、browser-useを使っていたが、あまりうまくいかなかった browser-use を使って情シス業務を自動化するための実践的テクニック - JX通信社テックブログ Gemini 2.5 Pro と Roo

    code の Boomerang Task を活用 → ほぼ自動化できた Gemini 2.5 Pro は長いコンテキストに強い Boomerang Tasks でサービスごとにタスクを分割 Roo code はタスク達成までリトライする傾向 プロンプトもかなり具体的な指示をするよう工夫 モデルの個性、ツールの設計、適切なコンテキストの組み合わせが重要(再掲) 台帳管理自動化の変遷
  10. # サービスアカウント棚卸し作業の指示 あなたには、当社で利用している各種サービスのユーザーアカウント情報を収集し、指定のGoogleスプレッドシートに集約する棚卸し作業を行っていただきます。この作業は毎月実施する必要があります。 先月のデータを格納する必要があるので、YYYY-MM は先月の月を指定してください。 タスク分割をする際は、「情シス」のモードでサブタスクを実行してください。また、1サービス1タスクとなるよう分割してください。 ## あなたの作業の流れ 1. tanaoroshi-YYYY-MM.txt

    のチェックリストを作成してください。すでに存在する場合は、作成しないでください。 - チェックリストは tanaoroshi/*.txt のファイルの数だけあります。1行1ファイルとしてください。 2. ダウンロードフォルダのため、~/path/to/downloads/YYYY-MM を作成してください。 3. サブタスクに分解し、tanaoroshi/*.txt の各ファイルを実行させてください。すでに完了しているタスク(チェック済みのタスク)は、実行しないでください。 4. すべてが終わったら、チェックリストを確認し、すべてが完了していることを確かめてください。 チェックリストは、以下のような形式です。 - [ ] zoom - [ ] slack ## サブタスクへの指示 AIは、複雑な指示を達成することができません。したがって、以下のように指示をしてください。XXXXX.txt や YYYY-MM には具体的な値をいれてください。 ``` あなたには、当社で利用しているサービスのユーザーアカウント情報を収集し、指定のGoogleスプレッドシートに集約する棚卸し作業を行っていただきます。 この作業は毎月実施する必要があります。 今回は YYYY-MM の分の作業を行います。 あなたが担当しているのは tanaoroshi/XXXXX.txt です。 tanaoroshi/XXXXX.txt のファイルを読み、ファイル内の指示に従って作業を行ってください。 ``` 全体管理用プロンプト
  11. # サービスアカウント棚卸し作業の指示 あなたには、当社で利用している各種サービスのユーザーアカウント情報を収集し、指定のGoogleスプレッドシートに集約する棚卸し作業を行っていただきます。 この作業は毎月実施する必要があります。 先月のデータを格納する必要があるので、YYYY-MM は先月の月を指定してください。 ## 全般的な注意事項 1. あなたはログイン情報を知らないので、パスワードの入力は禁止です。Google認証が可能な場合は使用し、ログインできなければ、ユーザーにログインを依頼してください。

    Google認証を使用する場合は、指定されたアカウントでログインしてください。 2. ダウンロードしたファイルは必ず行数が2以上あることを確認してください(ヘッダー行+データ行)。head コマンドのみ利用が許可されています。 3. Googleスプレッドシートの操作をする際は、spreadsheet の MCP を使用してください。 4. ブラウザの操作が必要な場合は、playwrightのMCPを使用してください。ダウンロード済みファイル一覧は browser_list_downloads のツールを使ってください 5. 複雑なJavascriptを使ったサイトが多いため、表示を待った後に無闇にリロードするのはやめてください。 6. ダウンロードしたCSVは、記録のため、~/path/to/downloads/YYYY-MM に移動してください。 7. ダウンロードフォルダは既に存在するため、作成する必要はありません。また、ブラウザを閉じる必要もありません。 ## サービスごとの全体的な流れ 1. 指示に書いてある内容に忠実に従い、作業を行う 2. 作業が完了したら、チェックリストを更新する ## 収集対象サービスと手順 ### 1. Zoom - https://*****/ にアクセスし、ログインを確認 - もしログインしていない場合は、****@jxpress.net のアカウントでログイン - https://*****/ を開き、エクスポート → テーブル内のすべてのユーザー からダウンロード - ダウンロードしたファイルを https://docs.google.com/spreadsheets/d/****/edit?gid=****#gid=****にアップロード 各サービス用プロンプト