【イベントレポート】 第0回AIエージェントソフトウェア開発勉強会
2024年10月4日、AIエージェント開発の最前線を探る「第0回AIエージェントソフトウェア開発勉強会」が有志により開催され、多くのエンジニアや開発者が集まりました。弊社からはAIコンサルティング部所属の小野が登壇、最新のAIツールや実践的な開発手法についての議論が交わされ、AI技術の可能性を感じさせる魅力的なイベントとなりました。参加できなかった方のために、その熱気と内容を詳しくレポートします。
背景 : AIエージェント ソフトウェア開発とは?
AIエージェントソフトウェア開発は、大規模な言語モデル(LLM)を搭載したAIエージェントを使用して、ソフトウェア開発ライフサイクルのさまざまな段階を自動化および最適化する、急速に進化するソフトウェア開発分野です。これらのAIエージェントは、コード生成、要件収集、UI設計、テスト、ドキュメント化などのタスクを実行できるなど、新しい開発パラダイムを切り開いています。
今回は話題のAider というコード生成AIエージェントを中心に各登壇者がそれぞれ事例を紹介しました。
弊社からは機械学習エンジニアの小野が登壇し、Jupyter NotebookをAiderで自動的にAPI化する手法について解説しました。また、弊社も会場準備や懇親会等で開催を支援させて頂きました。
勉強会公開当初、このようにニッチの領域で本当に人が集まるか心配していましたが、結果的に満員御礼となり、当日立ち見が出るほどの大盛況でした!
会場について
2024年4月、渋谷に「SHIBUYA STARTUP OASIS」(OASIS)がオープンしました。この施設は、株式会社BOOTの橋田一秀氏が立ち上げた、起業家やスタートアップ関係者のための無料コミュニティスペースです。
OASISとは
OASISは、起業家をはじめ、ベンチャーキャピタルやエンジェル投資家など、スタートアップに関与する方々が無償で利用できる施設です。ここでは、起業準備や事業構想についての相談、他の起業家との交流、さらには投資家との偶発的な出会いの機会が提供されている話題の施設です。
OASISでは現在、多様な活動が実施されています。経験豊富な起業家や投資家と30分間の個別相談ができる「OASISオフィスアワー」や、スタートアップと学生をマッチングする「インターンスクランブル」などのイベントが開催されています。
OASISは、アクセスがよくおしゃれで大変魅力的な場所だったので、また機会があれば訪れたいと思いました。
興味のある方はSHIBUYA STARTUP OASISのHPやtwitterを是非ご覧ください。
登壇内容について
社内のデータ分析案件やkaggleでモデリングしたまま眠ってしまったNotebookたちをAiderでモジュール化しAPI化するまでの軌跡
※このセッションのみ録音できてなかったためスライドの概要をLLMでまとめました。
Aiderの特徴
高度な言語モデルを活用したオープンソースのコーディングアシスタント
ターミナル上でのペアプログラミング機能
Gitリポジトリとの連携
Aiderの活用事例
今回提示した主な課題とAiderによる解放
担当者不在や既存プラットフォームへのモデル統合の困難さ
POC後のJupyter Notebookの再利用性の低さ
Aiderで眠っていたコードの復活を目指す
Aiderを活用した機械学習基盤の改善
Jupyter NotebookからPythonファイルへの変換
コード生成と整理(複数ファイルへの分割)
FastAPIを使用したWebアプリケーション構築
テストスイートの作成
詳細なREADME.mdの生成
実際の適用事例:暗号資産デリバティブ取引分析
Twitterのセンチメントスコアを活用した価格変動の予測
Aiderを使用したダッシュボード化と視覚的分析の実現
今後の展望と課題
社内でのAider利用推進
ノートブックの自動モジュール化、API化の検討
トークン制限への対応
結論
Aiderは機械学習プロジェクトの再利用性を向上させ、効率的な開発環境を提供する強力なツール。ただし、API開発の前提知識が必要。
Aiderの使い方 | Sakana AIのAI-ScientistでどのようにAiderが活用されているか紐解く
続いてのセッションでは、株式会社ズカンドットコムのCTOである直江さんが登壇しました。彼は自己紹介で、「最近、子供向けのタブレットアプリ『AIぬりえ』を開発しています。ここで生成AIを活用し、LLMも積極的に使っています」と、最新の取り組みを紹介。また、経済産業省の「AKATSUKIプロジェクト」でプロジェクトマネージャーを務めるなど、多岐にわたる活動を展開していることを明かしました。
「AIサイエンティストは怖くない」のメッセージ
直江さんは、「今日伝えたいのは、AIサイエンティストは怖くないということです。論文以外も作れそうだ、というところに行き着きます」と語り、AI技術の民主化と実用化について熱く語りました。
Aiderの特徴と活用法
Aiderは、プログラマブルに使えるAIエージェントツールで、ターミナルやPythonから直接操作できるのが大きな特徴です。直江さんは、「他のエージェントツールはIDEに組み込まれているものが多いですが、AdierはPythonからも実行できる唯一無二の存在です」と、その独自性を強調しました。
さらに、Aiderは「スクリプティングAider」という機能を持ち、コマンドラインやPythonスクリプトから操作することで、複数のプロジェクトで一貫した設定を共有できます。これにより、開発者は自分のワークフローに合わせてAiderをカスタマイズし、効率的に開発を進めることができます。
実践デモ:Flutterアプリを使ったAiderの活用
デモでは、Flutterで開発した挨拶アプリを題材に、Aiderを使ったリアルタイムのコード編集を披露しました。直江さんは、「今日は本当に行き当たりばったりでやっています」と笑いながら、実際の開発プロセスをライブで見せてくれました。
具体的なデモ内容は以下の通りです:
コードの自動修正:アプリのプロフィールページにアバターの枠を追加するタスクを、Aiderに自然言語で指示。Aiderは関連するファイルを自動的に特定し、必要なコードを修正しました。
コンベンションファイルの活用:プロジェクトごとのコーディング規約やディレクトリ構造を記載した「CONVENTIONS.md」ファイルをAiderに読み込ませることで、生成・修正されるコードがプロジェクトのルールに従うように設定。
コミットメッセージの自動生成:コードの変更だけでなく、その変更内容に応じたコミットメッセージもAiderが自動生成。コミットメッセージのスタイルもカスタマイズ可能で、開発チームのルールに合わせることができます。
Architectモードの紹介:最新機能である「Architectモード」を活用し、LLMの性能を最大限に引き出す手法を紹介。これは、コードの編集方針をLLMに考えさせ、その指示に基づいてコードを修正する2段階のプロセスで、より高品質なコード生成が可能になります。
Aiderを用いたAIサイエンティストの手法
直江さんはさらに、AIサイエンティストがAiderをどのように活用しているかについても詳しく解説しました。
自律的な実験の実施:Aiderを使って、AIエージェントが自律的に実験を設計・実行するプロセスを紹介。例えば、並列クイックソートとマージソートの性能比較を行い、異なるデータサイズやCPUコア数での性能を自動的に測定。
データ解析と結果の可視化:実験結果を自動的に解析し、グラフ化。結果の傾向やパフォーマンスの違いを即座に把握できるようにしました。
研究ノートの自動生成:実験の進捗や結果を「研究ノート」として自動的に記録。これにより、考察や次の実験計画を効率的に進めることができます。
論文執筆の支援:最終的には、Aiderを活用して論文の各セクション(イントロダクション、背景、手法、実験結果、結論など)を自動生成。特に引用文献の正確性を保つために、LLMと論文データベースAPIを組み合わせて信頼性の高い情報を取得する手法も紹介されました。
実装のポイントとテクニック
ファイルの直接編集:Aiderはローカル環境のファイルを直接編集できるため、開発中のコードに即座に反映可能。
段階的なプロンプト設計:一度に大きなタスクを任せるのではなく、セクションごとにプロンプトを設計することで、LLMの集中力を維持し、高品質なアウトプットを得る。
ノートの活用:進捗や重要なポイントをノートに記録し、後の作業や考察に活用する。これにより、大きなアウトプットを出しやすくなる。
参加者へのメッセージとまとめ
直江さんは、「AI技術は日々進化していますが、それを活用するツールも進化しています。Aiderを使えば、専門的な知識がなくても高度なAI開発が可能です。重要なのは、恐れずに新しい技術に触れ、自分のプロジェクトに取り入れることです」と締めくくりました。
AI初心者でも始められた!Aiderとともに進めるライブラリアップデートの第一歩
続いて、株式会社リンクアンドモチベーションの中上さんがライトニングトークを行いました。彼は自身を「AI初心者」と称しつつも、「やりたくないことをAIに押し付けちゃおうかなと思った」と、ユーモアを交えてAiderの導入経緯を語りました。
大量のコード修正をAiderで効率化
中上氏は、古いプロダクトのライブラリアップデートに際し、膨大なコード修正が必要であることに直面。「148ファイル、200箇所の修正は手作業では無理」と判断し、Aiderのスクリプティング機能を活用しました。
実際にプロンプトを工夫しながら、コードの一括修正を自動化。結果として、約70%の作業をAiderが代行し、「めちゃめちゃいいじゃん!」と、その効果に驚きを隠せない様子でした。
テストコードの自動生成も可能に
さらに、テストコードの自動生成にもAiderを活用。「自動テストがない状況だったので、テストコードを一から書くのは大変。Aiderにお願いしてみたら、かなりの部分を自動生成してくれた」と、その便利さを強調しました。
AIとの共生で開発効率を向上
中上氏は、「AI初心者でも、Aiderを使えば簡単に開発効率を上げられる。できない部分もあるけど、それも可愛く思えてきた」と、AIツールへの親近感を表現。最後に、「小さなことからAIを使ってみると、その効果と楽しさが実感できる」と締めくくりました。
LangGraphでソフトウェアを操作する
最後に、斎藤さんが登壇し、LangChainのフレームワークを用いたソフトウェア操作について発表しました。
LLMでソフトウェアを制御する可能性
齊藤さんは、自動運転の分野でLLM(大規模言語モデル)が活用されている事例に触れ、「LLMでソフトウェアを操作するのは面白い」と感じたことから、独自の実験を開始したと語りました。
具体的な実装と課題
Playwrightを活用したブラウザ操作:LLMを使ってChromeブラウザを自動操作し、ウェブスクレイピングを行う試みを紹介。
スクリーンショットによる要素認識:ブラウザのスクリーンショットをLLMに渡し、クリックすべき要素や入力すべきフィールドを特定。
課題と解決策:実装の過程で「文字化けやランタイムエラーなどの課題に直面した」と述べ、既存のチュートリアルや論文を参考にしながら問題解決を図ったことを共有。
エージェント構築のポイント
齊藤さんは、独自のエージェントを構築する際のポイントとして以下を挙げました:
ワークフローの明確化:LLMに何をさせたいのか、具体的なタスクと手順を明確に定義する。
既存のリソースの活用:公式のチュートリアルや既存のエージェントを参考にすることで、開発効率を上げる。
実験的アプローチ:課題解決のために実験的な手法を取り入れ、失敗を恐れずに試行錯誤する。
イベントを通じて感じたAI技術の可能性
今回の勉強会を通じて、AIエージェント開発の最新情報や実践的なノウハウが数多く共有されました。初回にもかかわらず、参加者同士の活発な交流や質疑応答が行われ、AI技術への関心の高さがうかがえました。
特に、「AIサイエンティストは怖くない」というメッセージや、「小さなことからAIを使ってみよう」という呼びかけは、多くの参加者の心に響いたようです。
次回開催への期待と参加の呼びかけ
主催者からは、「今後も定期的に勉強会を開催し、ベストプラクティスを共有していきたい」との発表がありました。次回の開催情報やスピーカーの募集も予定されており、さらなる盛り上がりが期待されます。
「AI技術をもっと活用したい」「最新の開発手法を知りたい」という方は、ぜひ次回の勉強会にご参加ください。新たな発見や出会いが待っています!
懇親会の様子
今回勉強会を盛り上げるために使用したアプリ
今回のAIエージェントソフトウェア開発勉強会では、主催者がライフワークとして開発している「あいさつ」アプリを初めて導入しました。このアプリは、対面イベントでの初対面のご挨拶をスムーズにすることを目的としています。
アプリのコンセプト:
「あいさつ」アプリは、参加者同士の交流を促進するために作られたツールです。事前にプロフィールや興味・関心を登録しておくことで、当日どんな人が参加しているのかが分かり、話しかけやすくなります。また、お互いに「あいさつ」を交わすことで、SNSの交換がスムーズに行えます。
主催者の想い:
このアプリは、主催者自身がイベントで感じていた「初めての人に話しかける小さなストレス」を解消したいという想いから生まれました。ストレスのないコミュニケーションを目指し、ブロックチェーン技術を活用してあいさつの履歴を残すことで、将来的には心温まる社会的信用スコアとして機能することを目指しています。
イベントでの活用状況:
プロフィール登録者数: 18人
顔写真登録率: 約66%(参加者の2/3が顔写真を登録)
総あいさつ数: 115回
参加者の反応:
• SNS交換がスムーズに: 名刺交換やQRコードの読み取りなしで、簡単にSNSを交換できたという声がありました。
• 話しかけやすかった: 事前にプロフィールや興味を知ることができたため、交流会で話しかけるハードルが下がったとの意見が多くありました。
• 共通の趣味で意気投合: 趣味を登録していたことで、思いがけない共通点が見つかり、「WOW」な体験ができたという参加者もいました。
「あいさつ」アプリの導入により、参加者同士の交流がより活発になり、新たなつながりが生まれる場となりました。主催者のライフワークであるこのアプリが、イベントのコミュニケーションを円滑にし、多くの参加者から好評を得たことは大きな成果です。今後もこのアプリを活用し、より多くの人々がストレスなく交流できる場を提供していくことが期待されます。
今後の勉強会について
次回以降も定期的に勉強会を開催していきます。今後の勉強会の日程については以下で告知しておりますので是非メンバー登録をお願いします。
またXのコミュニティーを開設いたしました。AiderをはじめとしたAIエージェントソフトウェア開発関連のツイートを定期的にしてまいりますよければこちらもフォローお願いします。登壇者も大募集してますので是非以下のリンクからご連絡ください。