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
Kohei Tabata
January 31, 2025
Programming
0
110
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
920
生体データを取り扱うアプリ開発の勘所
nerd0geek1
1
100
動線改善とステータス可視化で家庭内のストレスを軽減した話
nerd0geek1
3
4.3k
家庭をプロジェクトとして運営した話
nerd0geek1
2
4.2k
fastlaneの勉強会を主催して学んだこと、得たこと、悩んだこと
nerd0geek1
1
1.1k
みんなで育てるprecheck
nerd0geek1
1
720
matchとは?match導入のメリット
nerd0geek1
4
570
Improve your workflow with Sketch plugin
nerd0geek1
3
1.4k
Looking back try! Swift 2017
nerd0geek1
0
600
Other Decks in Programming
See All in Programming
タイムゾーンの奥地は思ったよりも闇深いかもしれない
suguruooki
1
550
Unlock the Potential of Swift Code Generation
rockname
0
240
Go1.24 go vetとtestsアナライザ
kuro_kurorrr
2
840
Devin入門と最近のアップデートから見るDevinの進化 / Introduction to Devin and the Evolution of Devin as Seen in Recent Update
rkaga
9
4.7k
Compose Hot Reload is here, stop re-launching your apps! (Android Makers 2025)
zsmb
1
480
技術選定を未来に繋いで活用していく
sakito
3
100
生成AIを使ったQAアプリケーションの作成 - ハンズオン補足資料
oracle4engineer
PRO
3
190
Devinのメモリ活用の学びを自社サービスにどう組み込むか?
itarutomy
0
2k
PHPバージョンアップから始めるOSSコントリビュート / how2oss-contribute
dmnlk
1
990
いまさら聞けない生成AI入門: 「生成AIを高速キャッチアップ」
soh9834
15
4.5k
フロントエンドテストの育て方
quramy
11
2.9k
MCP調べてみました! / Exploring MCP
uhzz
2
2.2k
Featured
See All Featured
A designer walks into a library…
pauljervisheath
205
24k
The Language of Interfaces
destraynor
157
24k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
380
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.2k
Thoughts on Productivity
jonyablonski
69
4.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
135
33k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.1k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.7k
GraphQLとの向き合い方2022年版
quramy
46
14k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
KATA
mclloyd
29
14k
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週間で追加された機能も多い。 – 最新の情報は、キミの目で確かめてくれ!