Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AIと協業する開発の進め方
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kohei Tabata
January 31, 2025
Programming
170
0
Share
AIと協業する開発の進め方
Kohei Tabata
January 31, 2025
More Decks by Kohei Tabata
See All by Kohei Tabata
営業活動なしで継続的に案件を受注する方法 / how to get a contract without sales as a freelance
nerd0geek1
2
990
生体データを取り扱うアプリ開発の勘所
nerd0geek1
1
150
動線改善とステータス可視化で家庭内のストレスを軽減した話
nerd0geek1
3
4.5k
家庭をプロジェクトとして運営した話
nerd0geek1
2
4.4k
fastlaneの勉強会を主催して学んだこと、得たこと、悩んだこと
nerd0geek1
1
1.2k
みんなで育てるprecheck
nerd0geek1
1
830
matchとは?match導入のメリット
nerd0geek1
4
630
Improve your workflow with Sketch plugin
nerd0geek1
3
1.6k
Looking back try! Swift 2017
nerd0geek1
0
680
Other Decks in Programming
See All in Programming
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
200
Transactional Change Stream Processing With Debezium and Apache Flink
gunnarmorling
1
140
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
7
2k
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
140
CSC307 Lecture 17
javiergs
PRO
0
290
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
6
1.2k
ReactとSvelteのその先、Ripple-TS / Beyond React and Svelte: Ripple-TS
ssssota
3
1.8k
tsserverとは何だったのか、これからどうなるのか
nowaki28
1
420
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
11k
TSKaigi2026-静的解析への投資がAI時代のコード品質を支える ── カスタムESLintルールの設計と運用
hayatokudou
7
1.3k
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.8k
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
11
3.1k
Featured
See All Featured
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
340
KATA
mclloyd
PRO
35
15k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
270
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
710
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
How to build a perfect <img>
jonoalderson
1
5.5k
Designing for Timeless Needs
cassininazir
1
240
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
570
Transcript
AIと協業する 開発の進め方 2 0 2 5 / 0 2 /
0 1 沖 縄 モ バ イ ル ア プ リ 開 発 勉 強 会 K O H E I TA B A T A
自己紹介 • 田畑浩平(@nerd0geek1) • 元iOSエンジニア • 今は都内の医療系スタートアップで、 Flutter x Firebase(Node.js)を用いてプロダクト開発を行っています。
• 最近、主に使っているエディタはCursor。
AI? Browser Use OpenAI Operator
AI x サービス ・Browser Use OpenAI Operatorと同じようにブラウザ上でのAIエージェントの動作を実現する、 Pythonのライブラリ ・OpenAI Operator
ChatGPTなどを開発するOpenAIの提供するAIエージェント。ブラウザを操作する (Gemini) 中国発のAIサービス。 サーバが中国にあること、プライバシーモードの設定がないことなどから、 業務での使用は避けたほうが良いと考えられる。
AI x 開発 完全自立型のAIエンジニア($500/月) 新メンバーのオンボーディング同様、 小さいタスクから渡す、などの配慮が必要 GitHub・Slackと連携可能 CodeRabbit:コードレビューをサポートするAI Cursor:AIが統合されたエディタ。VS Codeをベースとしている。
CLINE:VS Codeのプラグイン。Cursorより柔軟性が高いと言われる。 Windsurf:最近新しく聞くようになったAIエディタ。 opencommit:commit messageを考えてくれるOSS
開発には、何を使えば良い?
なんでも良さそう
なんでも良さそう、と考えた理由 • 自己紹介でも言及した通り、日常的にはCursorを使用している • 今回の登壇に際してCLINEとWindsurfを軽く調査してみたが、 「XXXが飛び抜けて優秀」といったものはなく、どれも同程度に改善が早そう。 – ただし、CLINEはMCP連携を通じて様々な連携が可能とのことなので、そういった点では 頭一つ抜けているのかも(発表日追記 Cursorでも0.45.x系で追加されました…)。
• Rules for AIの仕組みは、いずれも単純なテキストファイルであるため、 移行も簡単にできそう。
Rules for AIって? • ChatGPTの「カスタム指示」と同じく、AIが常に参照すべき内容を記述したもの。 • Cursorであれば、.cursorrules、CLINEであれば.clinerulesが存在している。 – (追記).cursorrulesは、0.45.xから.cursor/rulesに細分化できるようになりました… •
(個人的な考え)Rules for AIに関しては、以下のようにまとめると良さそう。 – Cursorに対する指示であれば、Rules for AIのファイルに記述する – (前提を理解させるための)仕様を解説する内容であれば、documents/といったディレクトリに 集約し、その中のファイルに記述する。 – 具体例を次のページに。
None
つまり? • ある種、新メンバーをオンボーディングで迎える場合と同じ。 • メンバーに関係なく、プロダクトに関する内容(仕様)、技術スタック – ドキュメントに記載する • そのメンバーに期待する、固有の内容 –
Rules for AIに記載する
(たまにポンコツになる)AIとうまくやるために • Sourcery(iOS)やmason(Flutter)で生成できるコードはそちらで生成させる。 – ボイラープレートの元ファイルを読ませてAIに生成させようとしたが、 抜け漏れが発生するなどして、あまり効率的ではなかった。 – ボイラープレートで生成したファイルの一部について、意図に沿った修正を施す、といった アプローチが最も効率的かもしれない。 –
(上記、.cursor/rulesが追加される前に検証した内容であるため、今は変わっているかも)
(たまにポンコツになる)AIとうまくやるために • (実装者として)実装力はあるが、俯瞰的に物事を考えられないメンバーとみなす。 – 要求を明確に言語化すると、なかなか良いアウトプットをしてくれる。 • AIと協業すると、エンジニアよりディレクター的な動き方が多くなる。 – しかし、「Aということを実現したいが、Bという問題に遭遇したため、それを修正したい」と 伝えても「Bは解決できるが、そもそもAに寄与しないアプローチ」を提案することがしばしば。
• そういうものだと考えて、都度フィードバックする。 • Rules for AIに「大目標と目前の解決すべき問題が与えられた場合、アプローチを即座に提案するのではなく、 大目標にそのアプローチが寄与するか、確認してください」といった記述をしても良いかも(未検証)
(たまにポンコツになる)AIとうまくやるために • (壁打ち相手・教師として)6-8割くらい信用できる家庭教師とみなす – AIを使う都合上、ハルシネーションが発生するのはやむをえない。 • そのため、100%信用することはできず、しれっと嘘をつくことがある。 • なので、疑問があればAIを詰めて深堀りすることが大事。 –
その一方、自分が不慣れな領域において、全体像をキャッチアップするには大いに役に立つ
まとめ • AIとハサミは使いよう。 – テストコードの生成や似た機能を参照しながらの実装などではかなり生産性を上げられる – その一方、抽象度が上がった問に対しては、適切なガイドが必要 • 賢いモデルを使えばよしなにやってくれるかもしれないが、その分、費用が… •
進化早すぎ – 先週末に登壇資料を作ってから、この1週間で追加された機能も多い。 – 最新の情報は、キミの目で確かめてくれ!