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

バイセルでの AI を用いた開発の取り組み ~ Devin, Cursor の活用事例・知見共有 ~

バイセルでの AI を用いた開発の取り組み ~ Devin, Cursor の活用事例・知見共有 ~

umaidashi

March 04, 2025
Tweet

More Decks by umaidashi

Other Decks in Programming

Transcript

  1. バイセルでの AI を用いた開発の取り組み ~ Devin, Cursor の活用事例・知見共有 ~ 株式会社 BuySell

    Technologies テクノロジー戦略本部 開発2部 在庫管理チーム 25卒 大石悠真 バイセルでの AI を用いた開発の取り組み @umaidashi18 1
  2. ‍ 自己紹介 大石 悠真 (初登壇 ) 株式会社 BuySell Technologies テクノロジー戦略本部

    開発2部 在庫管理チーム 25卒 明治大学商学部 / 42Tokyo バックエンドエンジニア Go X: @umaidashi18 GitHub: @umaidashi バイセルでの AI を用いた開発の取り組み @umaidashi18 2
  3. 目次 1. 話さないこと・話せないこと 2. これまでのバイセルの AI 活用 3. Devin の導入

    4. AI Agent / Tool を跨いだ Knowledge の共有 5. テストの記述 by Devin 6. PR Review by Devin 7. 動作確認 by Devin 8. アンケート結果 9. AI との協働 / 開発プロセスの変化 10. 最後に、これから挑戦したいこと by 人間 目次 @umaidashi18 4
  4. これまでのバイセルの AI 活用をざっくり BuySell Buddy の開発 Devin の導入 導入してちょうど1ヶ月 利用履歴の記録・毎日の知見共有会

    Cursor Business プランの導入 情報共有 Slack チャンネル AI活用の推進 今週末(3/7)に「1日AIを使い倒そうDay」を行う これまでのバイセルの AI 活用 @umaidashi18 7
  5. Devin に任せたこと(1/2) カテゴリ 内容 ドキュメント作成 - READMEを描いてもらった - コーディングルールを抽出してもらった セキュリティ対応

    - next脆弱性についてチェック 依存関係やCI/CD管理 - dependabot 更新タスク Devin の導入 @umaidashi18 11
  6. Devin に任せたこと(2/2) カテゴリ 内容 テスト関連 - STG動作確認代行 テスト観点と操作手順をプロン プトで指示 -

    テストの新規追加、不足してるテストの拡充 実装・修正・開発系 - マイクロサービスを同時に立ち上げて疎通確認 - FE/BE を同時に立ち上げて動作確認 - 既存ページを参考にコーディング コミュニケーション・コラボ レーション系 - コーディングルールに則していない箇所を挙げて もらった→人間が修正 - Slackのメッセージを読み取って、タスクを進めて もらった Devin の導入 @umaidashi18 12
  7. AI Agent / Tool を跨いだ Knowledge の共有 by 在庫管理チーム AI

    Agent / Tool を跨いだ Knowledge の共有 @umaidashi18 13
  8. 問題点 在庫管理チームでは、 Devin, Cursor (+Cline) を同時に使用している それぞれの公式が推奨している rules の定義の仕方は異なる Devin

    : Knowledge や Playbook Cursor : .cursor/rules/* Cline : .clinerules しかし、それぞれのツールで同じ rules をコンテキストとして使いたい AI Agent / Tool を跨いだ Knowledge の共有 @umaidashi18 14
  9. 解決策 .cursor/rules/* をマスタとして、 Devin, Cline にはそこを読ませる docs/ai/rules/* の中を参照してという指示はうまくいかなかった、 、 Devin

    > Knowledge Before Starting Work Be sure to read .cursor/rules/project-structure.mdc to understand the project structure before starting any tasks. Also, read .cursor/rules/coding-guide.mdc to understand the coding guidelines before proceeding with any implementation. 人間も .cursor/rules/* をドキュメント/オンボーディング資料として使ってい る AI Agent / Tool を跨いだ Knowledge の共有 @umaidashi18 15
  10. 問題2 Devin が、 GitHub Actions で動いている CI のテストの結果を待ちはじめ、ACU を 食い尽くす

    解決策 Devin の開発環境でテストを回す Devin > Knowledge You should run tests locally and ensure they pass before creating a PR. You can run tests using make test . テストの記述 by Devin @umaidashi18 18
  11. PR Review の仕組み 自動レビュー PR がレビュー可能な状態になった時に、GitHub Actions で Devin API

    を叩く レビュー観点として .cursor/rules を読ませている workflow.yaml にプロンプトを記述 PR Review by Devin @umaidashi18 21
  12. 現状と課題 精度 かなりよさそう エッジケースなどを考慮してくれた レビューコメントについて会話できないか模索中 コスト 平均使用ACUが1($2)を超えている coderabbit や PR

    Agent のような他サービスと比較検討の必要性あり Waitlist の GitHub Copilot も良さそう → 森川さんのPR Agent x Gemini 2.0 も試したい PR Review by Devin @umaidashi18 22
  13. 手順 Cosmos プラットフォームの基盤サービス「Account」に、Devin のアカウントを 作成 STG 環境は IP 制限がかかっているので、Devin の

    IP アドレスをホワイトリストに 追加 Devin の Web アプリケーション上で、認証情報を Secret に登録 Devin に STG 環境のURL・認証情報を指定して、STG 環境へアクセス テスト項目をプロンプトで指示 テスト項目ごとに、操作ステップを明示的に書き、それに従ってテストを行 う 動作確認 by Devin - STG @umaidashi18 25
  14. 「完全情報ゲーム」の考え方 AIをシステム開発に活かすコツ、全部書く - kmagai 前提: 「完全情報」に近いほど、AIの精度が高くなる IMO: 完全情報とは「どうしたいか」だけではなく、 「どうやるか」まで明確にする必要がある 完全情報ゲームにするために、ドメイン知識(世の中にない情報)を集める必要

    がある 調べるコストより自分で実装したほうが早ければ自分でやる 例:ビジネスロジック系 逆に、完全情報な領域で自分に知識がない場合は効率的に任せられる 例:バグ修正、アルゴリズム系 AI との協働 / 開発プロセスの変化 @umaidashi18 36
  15. AI Agent のコントロールのしやすさ Agent 制御しやすさ 特徴 Cursor Agent △ -

    素直だったり無視したりする - 人間の都合の悪い方に向きがち Devin ◦ - 完全情報ゲームには強い - 完全情報ゲームといえないタスクには不向き Cline ◎ - config でコントロールしやすい - 人間が適宜軌道修正しながら実装できる Windsurf ◎ - Cline とほぼ同じ - Cursor Agent より制御しやすい AI との協働 / 開発プロセスの変化 @umaidashi18 37
  16. 1. MCP Server の利用 Postgres(ちょっと触ってみた) Local での開発では、自然言語でSQLを組み立てられる sqlc のような生sqlからメソッドを生成するライブラリに活用できるか STG

    や PRD のDB(Cloud SQL)に繋ぐことで、例えば、特定のバーコードの在庫 情報について自然言語でアクセスできる 問い合わせの一次対応などに活用できるか マイクロサービス間の連携 マッピング情報やスキーマの情報を MCP Server として提供 マイクロサービス間の連携が MCP Server 経由で可能になるのでは 最後に、これから挑戦したいこと by 人間 @umaidashi18 40