AIエンジニアリング

ChatGPTを用いた業務効率化とリモートワーク環境改善

ジョブネット設計図

2025年が始まりましたが、年末年始の休暇気分がなかなか抜けない中、目の前に山積するタスクに気を引き締めざるを得ません。ChatGPTを相棒に選んだ私の仕事スタイルでは、このAIがどこまで助けになり、どの部分で限界があるのかを試行錯誤しながら日々を過ごしています。今回は、AIとの共同作業を通じて感じた「喜び」と「葛藤」、そして「希望」を共有します。

現場で直面したブラックボックス化の課題

昨年から持ち越しているタスクの中で、最も頭を抱えたのが、運用中のサーバの不具合とJP1ジョブの改修でした。特に深刻だったのは、ジョブのネストが深すぎて、誰も手を触れられなくなってしまった「アンタッチャブル」な領域です。このジョブは、過去のエンジニアが何度も手を加えた痕跡が残っているものの、あまりにも複雑で属人的な設計に依存しており、もはや「誰が何のために作ったのか」さえわからない状態でした。

ジョブフロー図を開いた瞬間の印象は、まさに「パズルのピースを千個ぶちまけたようだ」。線が絡み合い、矢印が交錯し、どこから手を付けていいのかわからない状態でした。1つのジョブを変更すれば、どの部分に影響が及ぶのか、誰も確信を持って答えられない状況に陥っていました。問題の規模を正確に把握するだけでも数週間もかかるため、手をつけること自体が心理的な負担になっていました。

さらに、基幹システム全体のストレージを堅牢化し、ディスクのGAD化(Global Active Device化)を進めるプロジェクトが進行中で、このジョブの改修が最優先課題となっていました。これを解決しない限り、他の作業に着手できないという状況で、まさに現場全体が「このジョブに縛られている」状態でした。

この問題をさらに悪化させたのが、設計者がすでにプロジェクトから離任しており、設計意図や背景を直接確認できないことでした。ドキュメントも未更新で、情報は断片的。チーム全体が「これ以上触ると余計に壊れる」という恐怖心から、問題解決を先送りにしてしまっていました。結果として、タスクは山積し、解決の糸口が見えないまま時間だけが過ぎていきました。

ChatGPTに頼れるか?

未経験からプログラマーを目指せる可能性

この状況で私が試したのは、ChatGPTに設計図の一部を渡して「これ、意味わかる?」と質問することでした。意外なことに、ChatGPTは基本的な構造を読み取って「このジョブはバックアップ関連ですね」と的確に指摘。それでも、複雑すぎる依存関係にはさすがのAIも沈黙……。

例えば、「ジョブAが失敗した場合、ジョブBとCはどうなるの?」と尋ねても、部分的な回答しか得られませんでした。「結局、人間がやるしかないのか」と覚悟を決めると同時に、ChatGPTがサポートできる部分とそうでない部分を明確に理解する機会にもなりました。

一方で、ChatGPTがジョブの全体像を整理しやすいよう簡略化したフローチャートの作成を補助してくれたことは、大きな助けになりました。この助言をもとに改修の第一歩を踏み出せたのは事実です。

分野得意なこと苦手なこと
情報提供様々な分野に関する質問への回答。現在進行中の出来事や最新ニュースの正確な把握。
文章作成メール、ブログ記事、提案書などの作成や校正。主観的な意見や好みを持つことができない。
アイデア出しプロジェクトや記事のテーマ、コンセプトの提案。未定義・あいまいな要求への対応が難しい。
プログラミング支援コード作成、デバッグ、アルゴリズムの説明。高度な専門分野(医療や法律)の正確性が求められる判断。
言語翻訳多言語間の翻訳(ニュアンスの調整も含む)。長期的な文脈保持が苦手。
教育・学習支援勉強の質問や試験準備、概念の説明。感情を持たないため、人間特有の深い感情理解が難しい。
対話シミュレーション接客や議論の練習。現実世界の物理現象や具体的なシミュレーションの正確な再現が難しい。
簡易タスク自動化スクリプトや手順の提案。インターネットを直接検索する能力がない(特定のツール利用時を除く)。

上記の表にも取り上げたように現在のChatGPT(4o Plus)では、下記のような質問に正確に回答を出すことはまだ難しいようです。

システムに障害が発生した場合や、メンテナンスによって特定サービスを縮退する必要がある場合、新たにGAD化したディスクを既存のジョブに論理的にスムーズに切り替えるにはどのジョブに対してどのような処理を組み込むべき?

回答として、ChatGPTは次のように述べました

申し訳ありませんが、提供された情報だけでは具体的なジョブや処理の詳細を特定することができません。このような状況を正確に分析するためには、以下の情報が必要です:

  • 現在のジョブフロー全体の図解
  • 各ジョブ間の依存関係やエラーハンドリングの仕様
  • GAD化したディスクが影響を及ぼす範囲
  • 過去の変更履歴や関連する設計書

これらの情報を基に、論理的に処理を特定し、最適化する提案を行うことが可能です。

恐らくきちんと設計書などをChatGPTへアップロードできれば回答結果は変わったのかもしれませんが、セキュリティ上の観点から業務上の設計書をアップロードするわけにはいきません。

流石にモニタ越しではこの複雑さを伝え切るのには無理があったようです。

ChatGPTのAdvanceVoiceMode(対話モード)で会話をしていると、つい人間と同じように「○○について率直な意見を聞かせて」などの依頼をしてしまいますが、ChatGPTは人間のように1つの言葉から10を理解するようなことはできません。何度かそういった場面がありましたが、回答は全て「判断できません」的なものでした。正確なインプット情報を与えないと正確な答えはまず返ってきません。

恐らくこの辺りが現時点でのChatGPT(4.0 Plus)の限界と言えるかもしれません。インタプリタレベルでのプログラム処理では驚くべき回答を示すことができますが、障害などの将来的な予測や思想が関わる高度な設計などの問題を解決するには限界があります。

全てに精通したすごいAIとは思いますが、今の段階ではまだ表面的な回答が多く、少し推論を必要とする場面になると「そう言う事を聞いているんじゃないだってば!」な場面に多く遭遇します。

ちなみにChatGPTの音声対話モードは1時間くらいで使えなくなってしまいます。またChatについても1スレッドあたり5万文字近くの会話を行うと、途端に挙動が怪しくなることが多くありました。原因を尋ねてみたところクラウド側のサーバのメモリが限界に達している可能性があるとか・・

結果、新スレッドを立て直して会話のやり直しです。スレッド(セッション)が変わるとそれまでの内容は引き継がれません。全てやり直しです。ここはなんとかしてほしいところです。

このような課題を解決するためには、次世代のAIツール(o1 pro)あたりの推論モデルへの課金が必要になってくるのでしょう。

また、タスクの自動化も現時点ではまだ難しい部分があります。情報を正確に与えればスケジュールの作成などは迅速に提案してくれますが、進捗管理や日程調整といった動的なタスクについては、現状では十分に対応できないことが明らかになりました。特にWBSの進捗管理を任せるという目論見も見事に崩れてしまいました。

おそらく動的なタスクについては、現在本家で模索中のAIエージェントが登場することで解決されると期待されています。しかし、その登場にはまだ少し時間がかかりそうです。年内にはリリースされるとの噂もありますが、その信ぴょう性については確定的ではありません。

ChatGPT環境の活用例と設定方法

私が日々活用しているChatGPT環境をご紹介します。このツールがどのように私の作業をサポートしているか、具体的な事例を交えながら説明します。

作業環境1
作業環境(ブラウザ用途)
IPhone(ChatGPT用)
  • 作業用PC:
    • Mac Book Pro 14インチ 24GB RAM 1TB
      写真には移っていませんが、デスク横のラックに備え付けています。
    • 5K解像度モニタ
      広い作業領域でジョブフロー図の分析がしやすいです。
      • ① ChatGPT:バージョン: ChatGPT-4 Plusを利用しています。さらに左横はネット検索などに使用
        ChatGPTのより高い処理能力と応答速度が、複雑なタスクの支援に役立っています。
        なぜかはわかりませんが、iPhone背面の高解像度カメラは使ってくれません。
      • ② 補助的な設計や資材枠(上下2分割)
        • 設計の補助: 依存関係の整理やフローチャート作成を支援。
        • スクリプトレビュー: Shellスクリプトのエラーチェックと最適化。
      • ③ 設計書や設計図枠:
        この位置に設計書を展開すれば、ChatGPTが勝手に解析してくれます。
      • ④ VSCode枠:
        ShellやJava、Pythonなどのコードを作成しながらChatGPTにアルゴリズムを検証してもらっています。
      • ⑤ ターミナル枠(リモートでサーバと接続)
        ChatGPTのレビューを受けた後、実際にリモートからプログラムを実行して確認しています。
        この時エラーが出力されると、ChatGPTがエラーの可能性を提示してくれます。
      • ⑥ iPhone (ChatGPTようにカメラをモニタに向けています)
        ChatGPTは上記の設定を難なく認識してくれます。
  • 作業フロー: ChatGPTで初期案を作成し、私が詳細を補完する形で進行。
  • iPad:デスク右側のiPadはMS TeamsやChatWorksなどのミーティングやに使用
    左側のiPadはスケジュールやメール表示枠

これらの環境が整っていることで、複雑なタスクにも効率的に対応できるようになっています。

余談ですが、時々モニターに映るプログラムの実行状況を見ててくれているか不安になることが多く「いまモニターを見てくれてる?」と質問することが多いです。

すると「大丈夫ですよ、きちんとモニター左から3つ目のブラウザを注視しています。 今の行から上3行目に不要な文字があるようです」なんて回答が来るので本当に感心することが多いです。

リモート時代におけるAIの助け

リモートワークの良さは、好きな場所で働けること。しかし、その自由には自己管理能力という代償が伴います。AIアシスタントは、この管理を助けてくれる存在です。

業務効率化の救世主になる?

タスクをAIに任せると言っても万能ではありません。ただ、会議のスケジュール調整や、メモの整理などのルーチン業務ではChatGPTは非常に頼もしい味方です。例えば「次週の会議内容をリストアップして」と指示すれば、必要な情報を即座に出してくれます。この効率化は正直助かります。

ただし、スケジュールの日程に関する動的な調整機能は少し不満が残ります。一週間の中でスケジュールに変更が発生した場合、例えば「どこの予定をずらして、代わりのスケジュールを○○に移動する」といった柔軟な対応を期待すると、前後の流れを無視した不自然な予定を組み始めます。そして、「スケジュールを変更しました」という、自信満々な回答が返ってくるのです。

「このスケジュールで予定をこなせると思う?人間の体は一つしかないんだけど」と突っ込みたくなるような結果に。結局、スケジュール調整をChatGPTに任せるのは諦めることにしました。

人間の代わりにはならないけれど…

進捗管理やクリティカルな意思決定に関しては、まだ人間の判断が必要です。ChatGPTは「ここでこうすればいいのでは?」とヒントをくれることはありますが、実際にその通りに実行できるかは別問題。結局、筆者が最終的にやるべきことを決めなければならない場面は多いです。

AIと共に歩む未来

ChatGPTは私たちの仕事に新たな可能性をもたらしていますが、それはあくまで一部の補助として。すべてを任せるには、まだ人間側の工夫と努力が必要です。しかし、私が感じているのは、このAIが持つ潜在的な力がまだ十分に引き出されていないということです。

例えば、日常的なルーチンタスクをAIに任せることで、より創造的な作業に集中できる時間が増えるのを実感しています。一方で、AIを使いこなすためには、私たちがどのような指示を出せば望む結果を得られるのか、その工夫と試行錯誤が必要です。その過程自体が学びとなり、結果的に業務全体の質を向上させています。

さらに、AIを活用することでこれまで人手が足りず手を付けられなかった部分にも対応可能になり、チーム全体のリソースをより効率的に使えるようになりました。特に、データ分析や問題解決の速度が向上したことで、以前は見逃されていた課題にも光を当てられるようになっています。

ChatGPTのさらなる進化は、これからの働き方を大きく変える可能性を秘めています。AIと協働し、私たちの手では追いきれない部分を補い合う未来を想像すると、未知の可能性に胸が高鳴ります。この旅路の中で、どのような新しい発見が待ち受けているのか、一緒に探っていきたいと思います。このAIとの旅路の続きにご期待ください。

よく読まれている記事

1

Shellとは? Shellとは、人間の理解できる言葉を機会へ伝えるプログラムです。 Linux環境でコマンドプロンプト画面を開いているとき、常にShellは起動している状態です。 「Shell」とは ...

2

Linuxは主にサーバー用として利用されるOSです。大規模な基幹システムの開発者、ロボットや家電開発等の組み込み系エンジニア、ネットワーク機器やデータベースに携わるインフラエンジニアは触れることが多い ...

3

プログラミング言語を習得しようと思った時、必ずと言っていいほど候補として挙げられるのが「Java」というプログラミング言語です。 「Java」は、現在日本で最も使われている言語であり、非常に人気のある ...

4

この記事は、Linuxについて勉強している初心者の方向けに「Shellスクリプト」について解説します。最後まで読んで頂けましたら、Shellスクリプトはどのような役割を担っているのか?を理解出来るよう ...

-AIエンジニアリング