見出し画像

PyCon JP 2024にチームで参加してきました(後編)

こんにちは!LIFULL senior 技術広報チームです。

2024年9月27〜29日に開催された「PyCon JP 2024」に、エンジニアグループ全員で参加してきました。
参加したメンバーが、それぞれの視点で書いた参加レポートをご紹介します。
今回は後編です(前編はこちらからご覧ください)



望月(なんでもエンジニ屋さん)

自己紹介

こんにちは。LIFULL senior の望月です。
LIFULL 介護の初期のシステムから開発に携わり、サーバインフラの構築、アーキテクチャ設計、
バックエンドシステムやフロントエンドシステムの設計・開発、デプロイシステムやモニタリングシステムの構築など、
幅広い業務を担当しています。

PyCon JP 2024 に参加して

LIFULL senior ではPythonを、主にバックエンドAPIシステムやDjangoを使ったWebアプリケーション開発に使っています。

Pythonといえば、データ分析や機械学習の分野でも広く使われている言語です。
私はデータ分析や機械学習に関しては初心者ですが、初心者にもわかりやすいセッションもいくつかあり、とても勉強になりました。

今まで自分が知らなかったPythonの使い方やライブラリ、ツールなどを知ることもできましたし、
新しい分野へ興味を抱くきっかけにもなったので、PyCon JP 2024に参加してよかったと思います。

特に機械学習に関しては、 自分でもこれらを活用できないか?と意欲が湧いた時間となりました。

印象的だったセッション

AI-powered Automatic Replies in Customer Support: Precision-Focused Approach at Mercari

メルカリがAIを活用し、ユーザーからの問い合わせを自動で返信するシステムに関するセッションでした。

ユーザーからの自然文の問い合わせに、現在の状況のメタデータ(問い合わせ者の属性、取引の状況、発送状況、商品の状況など)を付け加え、
それらをTransformerに処理させることで、問い合わせの特徴を推論します。
そして、推論された結果にマッチした返信用のテンプレートを使って自動返答を行う、というものでした。

メルカリではこのシステムを導入することで、月間800時間の作業時間を削減しているそうです。
いやー、すごい!

彼らがスマートだなと思うのは、問い合わせの解析にAIを使い、返信用文章の生成にはテンプレートを使っていることです。

大規模言語モデルのようなAIを取り扱うと、どうしてもAIに文章の生成までを任せたい気持ちになります。
しかしご存知の通り、ChatGPT などの言語モデルは、時に不適切な文章を生成することがあります。

現時点における生成AIの技術は、まだまだ完璧ではなく、AIの生成物は人間によるチェックが現状必要です。
それを彼らは知り尽くしているのでしょう。
AIの得意分野とそうでない分野を見極め、使い所を考えているのだと感じました。

Transformer は、ChatGPT や BERT などの自然言語処理のモデルに使われる技術(GPT の "T" は Transformer の "T" です)で、現在の自然言語処理では主流の技術です。

私が参加した別のセッションでも ChatGPT 関連の話がありましたし、現在の技術トレンドが見て取れるのも PyCon JP の魅力の一つですね。


Re:PandasAI:生成AIがデータ分析業務にもたらすパラダイムシフト【増補改訂版】

こちらは、ChatGPT によるデータ分析の自動化に関するセッションでした。

大まかに仕組みを解説すると、

Python のデータ分析ライブラリである Pandas をコントロールする Python コードを、ChatGPT に生成させる

というものです。

これの何がすごいって、データの可視化が誰でもできるようになるってことです。
エンジニアは PandasAI に渡すデータソースの設定をするだけ。
あとは、白雪姫に出てくる魔法の鏡のように

「PandasAIよPandasAI。○○県で最も売上のある商品を教えてくれ」

とか

「去年と売上を比較して、最も売上高が下がっている店舗を教えてくれ」

なんて感じで質問をすると、データが可視化されて表示されるって訳です。素敵!

データ解析が誰でもできるようになれば、各ステークホルダの視点から様々な角度でデータを見れるようになるはずです。
今まで気がつかなかった新たな問題点や施策が見つかるかもしれません。

そんなことが簡単にできるようになる、生成AIが持つ自由度の高さを感じたセッションでした。

今後の展望

みなさんは、The Bitter Lesson をご存知でしょうか?

人間の知識をAIに直接プログラムするよりも、データと計算リソースを最大限活用する汎用的な学習システムが結果として成功を収めている、という苦い教訓です。

現在、プログラミング界隈は、AIの進化によって大きな変化を迎えています。

GitHub Copilot は驚くほど素早く優れたのコードを生成してくれますし、PandasAI のようなデータ分析の自動化は、定型的なプログラムの生成から我々を解放してくれます。
すでにコードの記述に関しては、我々が記述するまでもなく、AIが生成してくれる時代が来ているのだと感じます。

そんな中で、我々エンジニアができることは何でしょうか?

PyCon JP 2024 では、私が知らなかったソリューションやツールを知れました。
その中で、AIが得意とするタスクをAIに任せ、人間が得意とするタスクに集中することが重要だと感じました。

AIは既存のタスクを効率化することが得意な一方、答えのない問題の解決や、新しい挑戦はできません。

新しい分野に興味を持ち、取り入れ、新しい価値を生み出すことは
AIにはできない、人間にしかできない仕事です。

私たちエンジニアができることは、既存のやり方にとらわれず、挑戦することなのかもしれません。
AIを活用し、より良い社会を作っていくことが求められているのだと感じました。


大野

自己紹介

LIFULL seniorでエンジニアをしている大野です。
主にフロントエンド・バックエンドの開発を担当しています。
メインはPHPですが Pythonの開発も行っており、今回のPyCon JP 2024に参加しました。

PyCon JP 2024 に参加して

今年参加するカンファレンスとしては、Developers Summit 2024に続いてPyConで2回目となりますが
Developers SummitでもPyConでも、AI活用の内容がかなり多くなってきていると感じました。
またPyConではグローバルなコミュニティが盛んなせいか、英語のセッションも多く、会場の雰囲気もお祭り感があって楽しかったです。

今回はAI活用以外にも、PythonのAPI開発や自動テスト、ライブラリのバージョンアップなど幅広い内容があり、自分の知識の幅を広げることができました。

印象的だったセッション

実践structlog

このセッションでは、Pythonのログライブラリであるstructlogの使い方について解説していました。

このライブラリはPython標準ロガーとの協調動作や置き換えが可能で、Djangoのミドルウェアとしても利用できる点が魅力的でした。
withブロック内でのコンテキストバインドや、プロセスを超えてコンテキストを渡す方法についても具体的な例が示されており、実際の運用に役立つ情報が多かったです。

ログの出力を考えるのは何かと面倒ですが、適切なログフォーマットとコンテキスト情報の埋め込みが重要であることを再認識しました。
特に、エラー通知が来てもコンテキスト情報が不足していると調査に時間がかかるという点は、実際の運用でもよく発生する問題です。
Djangoの標準ログは見づらく、複数行に分かれてしまうことが多いです。

しかし、JSON形式のログを使用することでCloudWatch Insightでの絞り込みが容易になる点は非常に有用だと感じました。
また、request単位のIDをログに含めることで、異なるシステムからのログも紐づけられる点も大きなメリットです。

このセッションを通じて、ログの重要性とその効果的な実装方法についての知見が得られました。
今後のプロジェクトでも、これらの知識を活用していきたいと思います。

今後の展望

今回のカンファレンスを通じて、AI活用の事例以外にもPythonのAPI開発や自動テスト、ライブラリについて新たな知見を得ました。
structlogを用いたログ管理の効率化や、自動テストの理解を深めることで、エラー調査やテスト駆動開発がより効果的に行えるようになると感じました。
これらの知見を活かして既存の業務プロセスを見直し、開発効率の向上を図ることで、より良いサービスを提供していきたいと考えています。



LIFULL seniorとPyCon

先日公開した記事「LIFULL 介護の式年遷宮を始めました」でも紹介したとおり、現在LIFULL 介護のアーキテクチャを刷新している真っ最中です。
そして、新アーキテクチャはPython + Djangoで開発されています。

LIFULL seniorのエンジニアはみんな、この先ますますPythonとDjangoの知識と経験を重ねていくことが必要です。
そのために、このようなコミュニティとの接点になる機会を増やしていこうと考えています。
私たちのうち誰かがスピーカーとして登壇するなんてことも、そう遠くない未来にあるかもしれません!