OpenWork Tech Blog

社員クチコミサービスを運営しているオープンワークエンジニアによるテックブログです。

AIモブプログラミングでトイルの削減を加速する

インフラチームの西川です。
当社ではSRE活動の一環としてトイルの削減を行っています。 その取り組みについて少し紹介したいと思います。

トイルの削減とは

ChatGPTさんによる解説は以下です。


SRE(Site Reliability Engineering)は、Googleが提唱したサービスの信頼性と効率を向上させるためのアプローチです。SREは、開発と運用を結びつけ、サービスの信頼性や性能に焦点を当てます。"トイル"は、SREの文脈では「手作業で継続的に発生する、重要でない作業」を指します。これには、サービスの安定性に寄与しないルーチンな作業や手動のプロセスなどが含まれます。

SREにおける「トイルの削減」は、以下の目標に焦点を当てる取り組みを指します。

  1. 自動化: 重要な作業や手順を自動化することで、手動での介入が減り、エラーの発生確率も低減します。これにより、サービスの信頼性が向上します。

  2. 監視とアラートの改善: より効果的で正確な監視ツールとアラートシステムの導入により、問題が発生する前に問題を検知し、適切な対処ができるようになります。誤検知や過度なアラートによる混乱も減少します。

  3. 自己修復機能の導入: サービスの問題が発生した場合、自動的に修復する機能やプロセスを導入することで、復旧までの時間を短縮し、人間の介入を最小限に抑えます。

  4. プロアクティブなアプローチ: 予防的な措置や改善策を積極的に実施し、将来の問題を未然に防ぐことができるようにします。

トイルの削減は、SREが本来の目的であるサービスの信頼性向上に貢献します。これにより、エンジニアはより価値のある作業や開発に集中でき、サービスのユーザー体験や安定性を向上させることが可能です。


トイルの削減における課題

トイルの削減の一つである「自動化」にはプログラミングスキルが必要です。
インフラエンジニアもプログラミングできますが、「自動化」は開発者も交えて行うことが良しとされています。
SRE留学を通じて開発者の方がインフラチームに来てくれる場合は良いのですが、そうでない場合、開発者と予定を調整する必要があります。
普段の仕事もある中、開発者と予定調整するのはなかなか大変なので、インフラチームだけでAIモブプログラミングを通してトイルの削減を行っています。

SRE留学については以下をご覧ください。 techblog.openwork.co.jp

AIモブプログラミングとは

ChatGPTやGitHub Copilotを使って開発することをAIペアプログラミングと呼ぶそうです。
それにならってモブプログラミングでAIを使うことを勝手にAIモブプログラミングと呼んでます。
(開発でAIを使うのが当たり前になってきているので、わざわざ命名する意味ないかもしれませんが…)

トイルの削減をAIモブプログラミングで実施するメリット

  • オブザーバーにアドバイスを求めてたところをAIが肩代わりしてくれる。
  • ChatGPTやGitHub Copilotの使い方を共有しあうことでチーム全体のAI活用力が上がる。
  • 他の人の目もあるのでAIの間違いに気づきやすくなる。
  • トイルの削減に必要なプログラミングスキルが緩和されるため、トイルの削減の敷居が下がる。
  • 特定個人だけトイルの削減を頑張る状況になりにくい。

また、定期的な予定にすることでトイルの削減が着実に進む。といった効果も得られます。

トイルの削減をAIモブプログラミングで実施するデメリット

  • リソース効率の低下(フロー効率は上がる)

と書きましたが、ペアプログラミング/モブプログラミング自体が抱えているデメリットですね。
それ以外は特に思いつきませんでした。

まとめ

トイルの削減はやらないといけないけど後回しにされがちで、なかなか進まない種類のタスクだと思います。
そういった面倒なタスクは誰かと一緒にやったり、AIによって敷居を下げることができるのでAIモブプログラミングを活用してみてはどうでしょうか。

最後に

当社ではインフラエンジニアを募集しています!
ご興味ある方は是非!
www.openwork.co.jp