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
730
matchとは?match導入のメリット
nerd0geek1
4
570
Improve your workflow with Sketch plugin
nerd0geek1
3
1.4k
Looking back try! Swift 2017
nerd0geek1
0
610
Other Decks in Programming
See All in Programming
Vibe Coding の話をしよう
schroneko
14
3.7k
RuboCop: Modularity and AST Insights
koic
2
2.6k
M5UnitUnified 最新動向 2025/05
gob
0
130
fieldalignmentから見るGoの構造体
kuro_kurorrr
0
130
VitestのIn-Source Testingが便利
taro28
8
2.4k
大LLM時代にこの先生きのこるには-ITエンジニア編
fumiyakume
8
3.3k
Embracing Ruby magic
vinistock
2
140
AWS Summit Hong Kong 2025: Reinventing Programming - How AI Transforms Our Enterprise Coding Approach
dwchiang
0
130
Ruby で作る RISC-V CPU エミュレーター / RISC-V CPU emulator made with Ruby
hayaokimura
5
850
読書シェア会 vol.4 『ダイナミックリチーミング 第2版』
kotaro666
0
110
一緒に働きたくなるプログラマの思想 #QiitaConference
mu_zaru
80
20k
Thank you <💅>, What's the Next?
ahoxa
1
590
Featured
See All Featured
Side Projects
sachag
453
42k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
105
19k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Optimizing for Happiness
mojombo
378
70k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
13
840
How to Ace a Technical Interview
jacobian
276
23k
Done Done
chrislema
184
16k
Speed Design
sergeychernyshev
29
930
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
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週間で追加された機能も多い。 – 最新の情報は、キミの目で確かめてくれ!