$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AIと協業する開発の進め方
Search
Kohei Tabata
January 31, 2025
Programming
0
150
AIと協業する開発の進め方
Kohei Tabata
January 31, 2025
Tweet
Share
More Decks by Kohei Tabata
See All by Kohei Tabata
営業活動なしで継続的に案件を受注する方法 / how to get a contract without sales as a freelance
nerd0geek1
2
960
生体データを取り扱うアプリ開発の勘所
nerd0geek1
1
130
動線改善とステータス可視化で家庭内のストレスを軽減した話
nerd0geek1
3
4.4k
家庭をプロジェクトとして運営した話
nerd0geek1
2
4.3k
fastlaneの勉強会を主催して学んだこと、得たこと、悩んだこと
nerd0geek1
1
1.1k
みんなで育てるprecheck
nerd0geek1
1
790
matchとは?match導入のメリット
nerd0geek1
4
600
Improve your workflow with Sketch plugin
nerd0geek1
3
1.5k
Looking back try! Swift 2017
nerd0geek1
0
650
Other Decks in Programming
See All in Programming
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
410
2年のAppleウォレットパス開発の振り返り
muno92
PRO
0
120
Cap'n Webについて
yusukebe
0
150
AIコーディングエージェント(Gemini)
kondai24
0
280
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.4k
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
140
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
470
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
180
PostgreSQLで手軽にDuckDBを使う!DuckDB&pg_duckdb入門/osc25hi-duckdb
takahashiikki
0
170
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
620
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
39
26k
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
130
Featured
See All Featured
Un-Boring Meetings
codingconduct
0
160
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Highjacked: Video Game Concept Design
rkendrick25
PRO
0
250
How to Talk to Developers About Accessibility
jct
1
86
Facilitating Awesome Meetings
lara
57
6.7k
sira's awesome portfolio website redesign presentation
elsirapls
0
91
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
0
960
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1k
How GitHub (no longer) Works
holman
316
140k
Raft: Consensus for Rubyists
vanstee
141
7.3k
The untapped power of vector embeddings
frankvandijk
1
1.5k
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週間で追加された機能も多い。 – 最新の情報は、キミの目で確かめてくれ!