AIはあなたの代わりに考えてはくれない。そして、それは良いことだ。

多くの人は、AIがシニアソフトウェアエンジニアのように振る舞うことを期待している。アーキテクチャを選定し、ベストプラクティスを選択し、セキュリティを単独で管理することを求めているのだ。

この期待は間違っている。

LLMはプロンプトに基づいて次のトークンを予測する。それはあなたの指示に従うものだ。

SOLID原則を求めなければ、AIはそれを使用しない。 Repository Patternを求めなければ、AIはそれを作成しない。 シンプルなAPIを求めれば、AIは複雑なレイヤードシステムを構築することはない。

指示が曖昧だと、AIは物事を推測する。その推測が問題を引き起こす。

AIは、あなたが望まないライブラリを選択するかもしれない。不要な依存関係を追加するかもしれない。ベンダーロックインを引き起こすかもしれない。

AIは、あなたが求めたことを正確に実行すべきものだ。

プロジェクトにログを追加したいとき、私は「ログを追加して」とは言わない。

私はこう言う。「Serilogを使用してください。公式ドキュメントに従ってください。ライブラリのベストプラクティスに従ってください。既存のプロジェクトパターンに合わせてください。」

これでAIにコンテキストが与えられる。AIはライブラリ、ドキュメント、そしてパターンを理解する。

これはコードの品質にも当てはまる。新しい機能だけを求めれば、技術的負債は増大する。これはAIのせいではない。コードレビューやプロジェクトの再編成を求めていないからだ。

私のプロジェクト「Tiny Theft Auto」では、成長を自分自身で管理した。最初は1つのHTMLファイルから始めた。規模が大きくなると、具体的なコマンドを与えた。

  • SRPを適用して。
  • クラスをファイルに分割して。
  • 構造を再編成して。
  • コードレビューを実行して。
  • 改善すべき箇所を見つけて。

決定を下したのは私だ。AIはタスクを実行した。

プロフェッショナルの現場では、企業ごとにログ、テスト、オブザーバビリティに関する特定のパターンがある。AIがこれらのパターンを推測することを期待してはいけない。ドキュメントやテンプレートをこちらから提供する。そうすることで、AIが勝手にアーキテクチャを捏造するのを防ぎ、既存の標準を実装させることができる。

マインドセットを変えよう。

思考をアウトソーシングするのではなく、労働をアウトソーシングするのだ。

アーキテクチャを決めるのはあなただ。 スケーラビリティを決めるのはあなただ。 ベストプラクティスを決めるのはあなただ。 ライブラリを決めるのはあなただ。

AIは、これらの決定をより迅速に実行するのを助けてくれる。AIは選択を行うエンジニアではない。自分が何を構築したいのかを知っている人にとっての、生産性のマルチプライヤーなのだ。

Source: https://dev.to/andredarcie/a-ia-nao-vai-pensar-por-voce-e-isso-e-uma-coisa-boa-5jj

Optional learning community: https://t.me/GyaanSetuAi