Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cline&CursorによるAIコーディング徹底活用―Live Vibe Coding付き

Cline&CursorによるAIコーディング徹底活用―Live Vibe Coding付き

More Decks by PharmaX(旧YOJO Technologies)開発チーム

Other Decks in Technology

Transcript

  1. (C)PharmaX Inc. 2025 All Rights Reserve 2 自己紹介 上野彰大 PharmaX共同創業者・CTO/AX事業部長

    好きな料理はオムライスと白湯とコーラ マイブームはLLMとRust X:@ueeeeniki
  2. (C)PharmaX Inc. 2025 All Rights Reserve 5 医療アドバイザーに体調 のことをいつでも気軽に相 談できる

    相談型医療体験 30種類以上の漢方薬からあ なたに合ったものを月毎に 提案 パーソナライズ漢方薬 定期的に漢方をお届けし、 一人ひとりに寄り添うかか りつけ医療を提供 継続的なかかりつけ 一生涯にわたって寄り添うかかりつけ漢方薬局「 YOJO」
  3. (C)PharmaX Inc. 2025 All Rights Reserve 7 YOJOで稼働する OTC医薬品相談 AIエージェント

    患者さまからの一次対応をすべて AIエージェントが行う(裏側では 100近いのプロンプトが稼働) 基本的にはメッセージを自動送信し、必要があれば薬剤師に承認を求める 一次的な漢方選択や、こちらから送信する体調確認などもエージェントが自律的に作成 薬剤師に重要な 返信や判断の確認を依頼 一次的な漢方選択なども行う 薬剤師が返信する場合もある AIエージェント 薬剤師 ユーザー AIが人に指示をするような体験
  4. (C)PharmaX Inc. 2025 All Rights Reserve 8 PharmaXの生成AI領域での強み 複雑な情報処理可能な AIエージェントの作成

    多くのAIを協調させる自社独自のナ レッジにより、 これまで専門家にしかできなかったよう な複雑な情報処理を自動化 生産性の向上による 人件費の削減 安全性向上のノウハウ 不正確な回答が許されない領域で 生成AIの回答を厳密に評価し、 誤った回答を生成させないノウハウを 蓄積している 高信頼性AI開発 ソリューション 医療ドメイン知識 医療分野の専門知識と生成 AIの技術 を融合し、 中長期の生成AI活用ロードマップの構 築からPoCまで対応可能 医療×生成AIの 戦略的アプローチ 医療×生成AIで新たな価値を創造
  5. (C)PharmaX Inc. 2025 All Rights Reserve 9 弊社とAX事業のミッション・ビジョン 患者満足度世界一 Mision

    AIと医療者が連携し、最適な医療とセルフケアをいつでも誰にでも届け られる未来を創る AX事業 Vision
  6. 10 (C)PharmaX Inc. 2025 All Rights Reserve We're hiring!!! •

    AXカンパニーのカンパニーCTO • AXカンパニーのPdM などを募集しております!! 医療・ヘルスケア業界で AIエージェントを実装していく toB事業を行うAXカンパニーを立ち上げました
  7. (C)PharmaX Inc. 2025 All Rights Reserve 12 • Roo Code

    ◦ 弊社で最も使われているツール ◦ Cursorよりも”グイグイ感”が強く、より開発スピードは速いように感じるが一方で、その分暴走する & 不安定になる確率も少し高いように感じる • Cursor ◦ スコープが絞られており、与えるファイルも自分で指定できる場合は、 Cursorが最も安定性は高い ◦ エンジニアの”補助ツール”な的側面が最も強い • Devin ◦ ”人間味”を最も感じる ◦ 独立した1まとまりのまるっとタスクを任せるのには向いている気がする 上野(弊社)の AIコーディングツールの使い分け 私は下記のようにAIコーディングツールを使い分けている
  8. (C)PharmaX Inc. 2025 All Rights Reserve 13 コーディング AIエージェントの Cline

    / Roo Code 弊社もClineに最も賭けていると言っても過言ではないが、最近はガッカリが勝っている https://zenn.dev/mizchi/articles/all-in-on-cline
  9. (C)PharmaX Inc. 2025 All Rights Reserve 14 • IDE型:GitHub Copilot

    Agent, Cursor agent, Cline, Roo Code, ◦ 私の観測範囲では、現時点では使っている人が一番多そう ◦ 開発者が進捗を確認し、対話的に作業を進める • CLI型:Claude Code, OpenAI Codex ◦ 私は正直簡単なアプリケーションを作らせたことしかないが、開発者はあえてこのパターンを選択す る必要があるのか疑問(エージェントが MCPで使うとかありそう) • リモート環境(非同期)型: Devin, Cursor background agent, ChatGPT Codex, GitHub Copilot Coding Agent, Google Jules ◦ 指示したら非同期にエージェントがタスクを遂行 ◦ 現時点では不安定だが、今よりも格段に精度が向上したらこの形式が主流になる気もする ◦ PCからの作業にとらわれないので、格段に活用の場も広がりそう コーディングエージェントの設計パターン コーディングエージェントには大きく分けて下記のようなパターンがある 参考:『コーディングエージェントを作っているけどうまくいかなかった話〜あるいは二ヶ月本気でコーディングエージェントと向き合った話』
  10. (C)PharmaX Inc. 2025 All Rights Reserve 16 Roo Codeのコードの解説 Roo

    Codeもある程度のルール /ワークフローが定義されている 1. 基本的な役割定義: ◦ Rooという名前の高度なスキルを持つソフトウェアエンジニアとして定義されている 2. ツールの定義と使用のルール: ◦ read_file, search_files, list_filesなどのツールが利用可能 ◦ 1メッセージにつき1つのツールのみ使用可能 3. タスク実行の方法論: ◦ ユーザーのタスクを分析し、明確な目標を設定 ◦ 目標を順序立てて実行 ◦ タスク完了時はattempt_completionツールを使用 4. 重要な制約事項: ◦ 質問はask_followup_questionツールを使用してのみ可能 https://github.com/RooVetGit/Roo-Code/tree/main
  11. (C)PharmaX Inc. 2025 All Rights Reserve 20 Roo Codeの仕組みと問題点 •

    対話型コンテキストによる問題 ◦ ツールを使用した結果はユーザーの発言( AIのアクションへの反応)として扱われる ◦ 会話が積み重なったようになっていき、過去の指示を忘れ、最新の指示にも従ってくれなくなっていく ◦ 問題となっている過去の会話を取り消すこともできない • ファイル更新形式の失敗が頻発する ◦ ファイル更新はdiffを作るモードがあるが、 Sonnet以外は苦手っぽい ◦ diffを作るモードはオプショナルになっている • エディタが占有されるのでユーザーが作業できない ◦ 人間がIDEを使いたいなら別ウィンドウを起動する必要あり ◦ その割に「リファクタリングや型解決など IDE のビルトイン機能を呼び出すわけではない」など IDE型 のメリットが案外ない コーディングエージェントには大きく分けて 参考:『コーディングエージェントを作っているけどうまくいかなかった話〜あるいは二ヶ月本気でコーディングエージェントと向き合った話』
  12. (C)PharmaX Inc. 2025 All Rights Reserve 21 コーディングエージェントに対する期待と現実 • 企業としては、中規模以上のアプリケーションに導入して、人と協働して成果を上げてくれることを期待して

    いるはず ◦ 「おれたちがやりたいことはテトリスを作ることじゃない」はず • 一方で、まだ”失敗”することも多く、どのような場面でどのように使うべきかを模索する必要がある ◦ AIコーディングはルール次第で使いやすさが大きく変わるため、 ルールの整備が肝 ◦ 自社で試行を繰り返したり、実際の他社の事例などを知ることで、ルール整備の工夫や使いどころを 理解する必要がある • もっと使いやすくなってから使おうという姿勢だと遅れを取る ◦ 誰もが何も考えずに依頼を投げて間違いなく完了してくるまでにはあと数年かかる ”完全な”コーディングエージェントの実現はまだ先の話であり、今は生産性を何倍にできるか?が勝負
  13. (C)PharmaX Inc. 2025 All Rights Reserve 23 難しいゲームではあるが、独自のコンテキストは不 要
 =必要な情報がすべて揃っていれば複雑なアプリ

    ケーションも作ることができる 
 なぜテトリスはうまく作れるのか?を考える 参考:『Roo Clineで「一行プロンプト+@」しただけで、約15分でKubernetes上で動くテトリスゲームが無からできました』 テトリスはすでによく知られたゲームであり、 • ゲームのルール・目的
 • ブロックの形状のパターン
 • 操作方法
 • 落下速度
 など必要な情報はすべて事前に揃っている
 テトリスはAIが開発する上で必要な情報はすべて揃っている
  14. (C)PharmaX Inc. 2025 All Rights Reserve 24 開発に必要な情報の種類 開発に必要な情報を事前に揃え、各タスク実行時に必要な情報を過不足なく取ってくることが重要 〇〇をする際には下記のルールに

    従ってください。 • ✕✕✕ • 〇〇〇 • △△△ ✕ 選択 コ ン テ キ ス ト アクション ル | ル 要件定義書 アーキテクチャ図 タスク管理ファイル ER図 関連コード 情報やルールも 選択する 必要がある 情報の認識
  15. (C)PharmaX Inc. 2025 All Rights Reserve 26 Roo Codeのmode Roo

    Codeにはモードが存在し、弊社ではモードごとのルールを細かく設定するという設計思想 各モードで何をするのかを定義
  16. (C)PharmaX Inc. 2025 All Rights Reserve 27 Roo Codeのmodeごとのrules Roo

    Codeにはモードが存在し、弊社ではモードごとのルールを細かく設定するという設計思想 各モードの細かいルールを記載 ・ドキュメント作成のワークフロー など
  17. (C)PharmaX Inc. 2025 All Rights Reserve 29 Roo Codeのmodeのワークフロー Roo

    Codeはワークフローを定義すれば、モードを自動で切り替えるようになっている ワークフローに従って 勝手にモードが切り替わる
  18. (C)PharmaX Inc. 2025 All Rights Reserve 31 • 要件定義書、仕様書、機能一覧、 ER図、アーキテクチャ図

    etcなどの開発ドキュメントを常に最新に保つこ とで、開発に必要な知識を保っている ◦ 当然ながらモノレポの場合は、各プロジェクトごとにドキュメントを準備 ◦ プロジェクトに途中からコーディングエージェントを導入する場合でも、最初にドキュメントを作成して から取り組むようにしている • 会話履歴やADRのような”履歴管理”系のドキュメントは今のコンテキストサイズでは読み込めないので管 理するのをやめてしまった ◦ コンテキストサイズが大きくなったら、意思決定の履歴も読み込んでより精緻な判断ができるように なってくはずなので、作成しておいても損はないかも? • どのようなドキュメントを整備すべきかは随時議論・更新していく メモリーの持ち方に関する工夫 弊社ではメモリーバンクなどを使うのではなく、仕様書などを整備することでメモリーの役割を担う
  19. (C)PharmaX Inc. 2025 All Rights Reserve 32 Roo Codeに関するその他の考察 •

    コンテキストサイズが大きいことは正義 ◦ Roo CodeのオススメはClaude 3.7らしいが、メインはGemin-2.5 Proを使っている ◦ あくまで個人的な感覚としては、性能・精度の差分はほとんど感じない • コーディングエージェント的にはモノレポのほうがコンテキストがまとまっていて、コーディングしやすいかと 思っていたが、各プロジェクトのドキュメントが整備されていればあまり関係ない気もしてきた(人間の理解 のしやすさやデプロイの問題などには踏み入らない) ◦ 例えば、バックエンドとフロントエンドが同じリポジトリ内にあることで、よりコンテキストが分かって コーディングやすくなるかと思っていたが、 APIドキュメントなどを整備することで、各プロジェクトに閉 じても十分コンテキストは理解可能 • できる限り実装・実行環境とドキュメントは近いほうがいい ◦ 各プロジェクトごとにドキュメントを配置するなど ◦ カレントディレクトリの理解があまりにも弱いので、ドキュメントにたどり着けない 弊社ではメモリーバンクなどを使うのではなく、仕様書などを整備することでメモリーの役割を
  20. (C)PharmaX Inc. 2025 All Rights Reserve 33 コーディングエージェントによる開発フロー・体験の変化 • ドキュメントを更新してから開発という流れを徹底するようになった

    ◦ AIに参照させるためのドキュメントが間違っていると、その後の AIによる開発も必ず間違うため、最 初にドキュメントを更新するスタイルが厳格化 ◦ プロジェクトに途中から AIコーディングを導入する場合でも、ドキュメントを作成してから取り組むよう にしている • AIコーディングのルールの振り返り(最低週一)を行うなど、開発前には AIコーディングのルール作りに時 間を使うようになった • ルールが共通化していくことで、少なくとも弊社ではチームや事業ごとの差分は減っていく方向性 ◦ プロジェクトごとのルールを整備する余地はあるが、面倒なので共通化したい コーディングエージェントによってこれまでの開発フローや体験とは大きく変わり、この流れは戻らない
  21. (C)PharmaX Inc. 2025 All Rights Reserve 34 コーディングエージェント課題まとめ 弊社でもかなり試行錯誤中 •

    複数リポジトリへの展開の仕方はまだ固まっていない ◦ ナレッジ・ルール管理用の専用リポジトリを作成 ◦ GitHub Actionを通じて配布 ◦ モノレポ形式でローカル環境を構築する方法も検討中 • 複数のコーディングエージェント間のナレッジ共有 ◦ ロックインされないように複数エージェントで共有したいナレッジはディレクトリを参照させる形式で運 用しはじめている • コーディングエージェント時代に適合したプロダクト開発サイクルの構築 ◦ エージェントを育てていくことが生産性の向上につながるため、プロダクト開発サイクルに組み込んで PDCAを回していきたい
  22. (C)PharmaX Inc. 2025 All Rights Reserve 36 AIコーディングに対する心構え AIコーディングにはこれまでにない心構えが必要 •

    まずは試してみる&失敗を恐れない ◦ プロジェクト開始時から導入する方が簡単なため、簡単なアプリケーションを作ってみることがオスス メ ◦ Git管理を行うことで、失敗しても切り戻せること担保し、とりあえず試してみる ◦ 興味のあるアプリケーション(フリマアプリ、勤怠管理 SaaS、etc)の要件定義をしてみてカジュアルに 作ってみる • 継続的なキャッチアップをする ◦ 特にルール周りの形式的な変更もまだまだ活発に行われているため、ベストプラクティスも変わり続 ける ▪ ルールの整備のしやすさやルールの適用性が差分になるので、今後もどんどん改善されてい く見込み • チームとして投資する姿勢を明確にする
  23. (C)PharmaX Inc. 2025 All Rights Reserve 38 • 待ち行列問題という古来からある問題をシミュレーションして統計的な処理をするプログラムを書いてみた い

    ◦ 各種パラメータをいじれるような UI ◦ シミュレーションした後に統計データも見れるようにしたい • 例えば、レジが埋まって待ち行列が大量に発生しているケースでは、レジ数を増やすと一気に待ち行列が 解消されたりする様を見れることができる 待ち行列問題をシミュレーションできるプログラム AIコーディングにはこれまでにない心構えが必要 参考:『待ち行列システム』