AIを使って毎日プロダクトを構築し、リリースする方法
AIはプロトタイピングを高速化する。しかし、リリースを容易にするわけではない。
デモは一度動けばいい。しかし、リリースされたソフトウェアは、見知らぬユーザーのために動作し、不正な入力を処理し、数ヶ月間安定していなければならない。AIは、最初の部分を無料で構築する手助けをしてくれる。エンジニアリングの基準を維持できれば、後半の部分をより速く構築する手助けもしてくれる。
私が実際のプロダクトをリリースするためにAIをどのように活用しているかを紹介する。
秘訣は「問題の定義(フレーミング)」にある。「完了」の状態がどのようなものかを説明できなければ、AIも説明できない。AIは、一見正しそうに見えて、実際には間違っている回答を提示してくるだろう。
私はまず、小さな仕様書を書く。そこで以下を定義する:
- コードが何をしなければならないか。
- コードが絶対にやってはいけないことは何か。
- 正しく動作していることをどうやって確認するか。
私は「機能」を求めるのではなく、「ステップ(手順)」を求める。数千行のコードブロックよりも、小さな変更の方が優れている。すべての行を読み、信頼できなければならない。
私の日常的なワークフロー:
• まずは動かすこと。 完璧な計画よりも、動く不格好なバージョンの方が多くのことを教えてくれる。 • 早めにテストを書くこと。 コードと一緒にテストを書くようAIに依頼する。そのテストを注意深く読むこと。 • 残すコードのすべての行を読むこと。 コードの1行を説明できないなら、マージしてはいけない。 • 退屈な80%の部分に活用すること。 ボイラープレート、スキーマ、マイグレーションなどはAIに任せる。 • 新しいツールを学ぶこと。 新しいライブラリやドメインを素早く理解するためにAIを使う。 • 悪いアイデアを切り捨てること。 アプローチが失敗するかどうかを確認するために、薄いバージョン(プロトタイプ)を作る。これなら1週間ではなく1時間で済む。
AIは最後の20%で失敗する。こここそが、あなたの判断力が最も重要になる場面だ。
あなたが責任を持つべきこと:
- アーキテクチャとデータモデル。 AIが提示するスキーマは、後々問題を引き起こす可能性がある。
- セキュリティ。 認証や個人データの管理をAIに任せきりにしてはいけない。
- 一貫性。 AIは異なるスタイルでコードを書く。コードベースの整合性を保つのはあなただ。
- 検証。 AIはしばしば、自信満々に間違ったことを言う。何も鵜呑みにせず、すべてを検証すること。
混乱を招かずにスピードを維持するためのルール:
- 説明できないものは決してマージしない。
- コンテキストを小さく保つ。プロンプトが大きすぎると、回答の質が低下する。
- AIを「責任感ゼロの疲れを知らないジュニアエンジニア」として扱うこと。もし壊れたとき、深夜2時に呼び出されるのはあなたなのだから。
- レビューのための時間を確保すること。構築は安価になった。確実性を担保することこそが、コストのかかる部分である。
タイピングが安価になれば、判断力の価値はさらに高まる。エンジニアの本当の仕事はタイピングではない。問題を定義し、アーキテクチャを選択し、何を作る価値があるかを決めることだ。
AIはエンジニアリングを容易にするのではない。思考そのものを仕事にするのだ。
Source: https://dev.to/manoharnegi/how-i-use-ai-every-day-to-build-and-ship-3oob
Optional learning community: https://t.me/GyaanSetuAi
