
こんにちは。大田です。
最近、弊社ではAI活用と生産性というキーワードでムーブメントが起きております。(個人的に)
さらに最近、社内ポータルサイトが公開されまして、情報共有が加速するムーブメントも起きております(個人的に)
過去のブログでも生産性について触れてますが、今回も少し触れたいと思います。
過去のブログはこちらからご覧ください。
生産性とスキルと開発と
パーキンソンの法則
「仕事は、与えられた時間をすべて使い切るまで膨張する」と、英国の歴史家・政治学者であるシリル・ノースコート・パーキンソンが提唱した法則です。
https://ja.wikipedia.org/wiki/パーキンソンの法則
簡単に言うと「締め切りまで時間があると、人はその時間いっぱいまで使ってしまう」だそうです。
皆さん思い当たることはありませんか?
自分は思い当たる節がたくさんあります。
例えば、期日が長い場合、ついつい「これもあったほうがいいな」「ここはリファクタしよう」と開発工数を膨らませてしまったり、会議時間が1時間予定されていると、なんとなく1時間目一杯使ってしまおうとしたり。
日常生活でも、例えば給与が上がると生活水準も上がるなど、これもこの法則で、「支出の額は、収入の額に達するまで膨張する」と言われています。
子供だと、おやつを300円なら300円まで、500円までなら500円まで目一杯使ってしまいます。(うちの子供は。なんなら超えてるけど🥺)これもパーキンソンの法則かもしれません。しらんけど😊
ついつい長め多めにバッファをとってしまいがちな人は意識的に時間を短くすると生産性があがるかもしれません。しらんけど😊
AIの活用
AIの進化はすごいですね。ずっと群雄割拠が続いてます。
エンジニア界隈で言えば
(kevinという名前だったら...)
https://github.com/cline/cline
といったツールがすごいらしくて、何がすごいかというと、テキストで仕様などを伝えるとAIが自走してコードをバリバリ書いてくれるというものです。
利用コストや正確性など、観測してる限りはまだ発展途上な感じですが、(特にコスト面はもっと下がってほしい🥺)開発グループとしても少数精鋭なのでこういったAIツールを駆使して生産性を高めなければと思い、日々情報を定点観測しております。
AIを使いこなすということはこういったツールの特性を理解し、適切な命令と設定で最高なアウトプットを引き出すことかーと思うと、今後は違うスキルセットも求められてくるのだなーと思います。
以前はタイピングが早い人やエディタを使いこなせている人を見て「生産性高いなー」と思ってましたが、これも時代ですね🥺
あとMCP(Model Context Protocol)というすごいことが起こっています。
ざっくりいうと、AI同士をつなげるプロトコル(通信・制御のためのルール)で、JSON形式などでまとめてモデルに渡すことで、より正確でコンテキストに沿った応答を実現できるそうです。例えば下記の動画では、MCPでFigmaのデザインをコードに再現しているようです。
進化がすごすぎて追いつけてないです🥺
最近やっとOpenAIのAPIを使って社内用のアプリケーションを作ってみたところなのに。
最後にjsonで返してもらったりすることろが少し苦戦しましたし、なるほど、でも、よーわからん。が現状です🥺
tools = [ { "type": "function", "function": { "name": "product_catalog_overview", "parameters": { "type": "object", "properties": properties, "required": [item for item in obj.extract_fields], }, }, }, ] chat_response = client.chat.completions.create( model="gpt-4o", messages=messages, tools=tools, response_format={"type": "json_object"}, )
「response_format」に「json_object」を指定してるけどプロンプトに「json」って文字列がないと怒られたり。
とはいえ今後も試行錯誤して実装しない限り知見は増えませんので、色々作って全社の生産性を高めたいと思います。
思い返せば、何故に弊社ではPythonをメイン言語として利用しているかというと、今から7年前でしょうか。
以前は機械学習が話題になってまして、TensorFlow(テンソルフロー)やPyTorchといったライブラリがありましたが、主にPythonが利用されていました。
その頃からPythonにオールインを決め込み学び始め、WEBアプリをいくつも作ってきました。
今回のOpenAIの組み込みも公式のサンプルも提供されていてとてもスムーズに進めることができました。
弊社はGoogleWorkspaceなのでGeminiにオールインする日が近いのでは。と個人的にはGoogleに期待しております。(1日でも早い日本語対応よろしくお願いいたします)
情報の活用が権限なども考慮してもシームレスですから。
次は、社内ポータルサイトの技術的な内容と経緯を簡単に紹介したいと思います。
なぜ社内ポータルサイトを立ち上げたいと思ったか?
スプレッドシート、スライド、ドキュメントなどGoogleDrive上に情報が溜まっている状態ですが、良くも悪くもどこに何があるのか探しづらいという課題がありました。
Googleサイトを使ってみたり、Githubのissueを活用してみたり、Workonaを使ってみたり、OpenProjectを導入したりmondayを検証してみたり、Sotckを導入したり、Notionを活用したり、といった様々なことを取り組んできました。
ポータルサイトというハブ的な、それらをリンクする中心的な情報源があればたどり着くことができるだろうと考えていました。
どうやって構築したか?
スクラッチで作るという選択肢は工数の観点からありませんでした。
世の中にあるサービスを活用するという選択肢は、カスタマイズ性の観点からありませんでした。(コスト面も人数に比例するので取りたくない選択肢でした)
そこでCMSについて改めて調査し、Drupalを採択しました。
(言語がphpということもあり抵抗はありました)
公開まで
Drupalで構築まではできましたがそれ以降の動きが止まってしまいました。
堤さんはじめコーポレートの方々の協力で正式に公開するところに至りました。
特に堤さんはFigmaを使いこなし、サイトマップを作り、MTGで進行もしてくれるなど、ウェブディレクションをこなすスーパーウーマンですか?と思いました。
ただただ「どのようにしたら皆が快適にアクセスできるようになるか?」という問いがあったと思いますし、その一心でいいものに仕上げてくれたのだと感じております。
社内ポータルサイトを立ち上げたい方は、堤さんまでご相談ください。
カスタマイズ可能なポータルサイトですので、今後もたくさんパワーアップして生産性がブチ上がるのが楽しみですし、そのようにしていきたいです😊
Drupalを採択してどうだったか?
DrupalはPHPで作られたオープンソースのCMSです。PHPの経験はあれど、Drupalの経験はありませんでした。「まぁなんとかなるかー。とはいえ時間かかるかもなー」と、知見が溜まるまではそれ相応の覚悟をしていました。
しかし、そこは近年のAIの進化。ChatGPTに聞けばある程度答えてくれました。日本語の情報源が少ない中、助かりました。
ある程度というのは、バージョンが古かったり、必ずしも正しいことを返してくれるわけではないですが、それでもAIとドキュメントを並行して進めることで、やりたいことができました。
といっても、殆どをケビンが開拓してくれてます。ケビンは英語でAIに質問してるからアドバンテージが大きいのかもしれません。I don't know though.
5年経ってたんだけど
ポータルサイトに在籍期間を表示させるカスタマイズをして、「あぁ私も5年経ったのだな」と再認識しました。と、同時に私は何を成し遂げたる事ができただろうか。この5年間で。と恐怖が襲ってきました。
基幹システムにも着手して全社の生産性をブチ上げて、その思いを払拭していきたいと思います。
最後までお読みいただきありがとうございます。