以下の内容はhttps://memorandums.hatenablog.com/entry/2025/12/11/101433より取得しました。


本:Beyond Vibe Coding: AI Assistant Strategies and Ethics

以下の本を読んでます。Webで読むと翻訳機能が使えるのでざーっと読めます。

learning.oreilly.com

以下、AIにまとめてもらった要点です。

===========================

「バイブ・コーディング」と「AI⽀援エンジニアリング」という2つの主要なアプローチを軸に詳細に説明されています。

1、バイブ・コーディング

バイブ・コーディング(Vibe Coding)は、AIの能⼒を活⽤してコーディングの重労働を処理し、開発者がアイデアやデザイン、ハイレベルな問題解決により集中できるようにする技術です。

  • アプローチと目標: これはプロンプトファーストの探索的アプローチであり、⾃然⾔語で欲しいものを記述することで、⼤規模⾔語モデル(LLM)に実装の詳細を埋めてもらいます。
  • スタイルと最適化: トップダウンで即興的であり、ジャズに似たもので、短期的な速度と探求を最適化します。
  • 理想的な使用例: 新しい製品の⽴ち上げ、プロトタイピング、標準的なCRUD(作成、読み取り、更新、削除)アプリケーションの作成など、スピードとパターン⼀致が深い独創性に勝るすべての領域に適しています。

2、 AI⽀援エンジニアリング

AI⽀援エンジニアリング(AI-Assisted Engineering)は、AIを副操縦⼠として、より構造化され、メソッド化されたソフトウェアを構築する⽅法です。

  • アプローチと目標: 開発者が運転席に座り、AIは明確な制約のもと、ソフトウェア開発の各フェーズに組み込まれます。これは「プラン・ファースト」の開発とも呼ばれ、まず計画を⽴て、明確な意図と制約に基づいて的を絞った⽅法でAIツールを組み込みます。
  • スタイルと最適化: システマティックで反復的であり、クラシック⾳楽の作曲に似ています。その⽬標は、動作するコードを素早く得ることではなく、⾼品質のコードをより効率的に得ることであり、持続的な速度と信頼性を最適化します。
  • 理想的な使用例: 確⽴されたプロセス(コードレビュー、テスト、デプロイパイプライン)を放棄したくないプロの開発者やチームに適しています。

3、開発者の役割の変化と「70%問題」

AIのサポートにより、開発者の役割は根本的に再構築されつつあります。

  • 意図を持ったプログラミング: 開発者は、コンピュータに詳細な指⽰を書くことから、意図や望ましい結果を表現し、AIにコードへの変換を任せる未来へと移⾏しつつあります。
  • 人間の不可欠な貢献: AIはスピード、幅広い知識、たゆまぬ実⾏⼒をもたらしますが、⼈間は方向性、理解の深さ、価値観をもたらします。開発者はAIのアウトプットのキュレーターであり、編集者として、品質、アーキテクチャ、ユーザーニーズの充足を保証します。
  • 70%問題: AIはボイラープレートや定型的な機能など、解決策の約70%を完了できます。しかし、エッジケースの処理、アーキテクチャの洗練、保守性の確保といった最後の30%の難しい部分には、⼈間の専⾨知識が必要です。AIが⽣成するコードは、しばしば⾒栄えが良くても、バグや拙劣な設計判断が隠されている可能性があるため、人間による監視と修正が常に必要です。

4、ツールと実践

AIサポートを効果的に活用するため、ソースでは様々なツールとベストプラクティスが紹介されています。

  • 主要ツール: AI拡張IDEとしてCursor、Windsurf、Clineなどが挙げられており、また、AnthropicのClaude、GoogleのGemini、OpenAIのモデル(ChatGPT)といったLLMが活用されます。
  • 倫理と責任: AIが生成したコードには、セキュリティ上の脆弱性や、トレーニングデータに由来するバイアスが含まれる可能性があるため、徹底したレビューとテストが不可⽋です。特にセキュリティ上重要なコードについては、SQLインジェクションや不適切な暗号化といった脆弱性がないか監査する必要があります。
  • プロンプトの技術: AIとの効果的なコミュニケーションは「プロンプトエンジニアリング」と呼ばれ、AIの出⼒品質に直接影響を与えます。あいまいなプロンプトは、無関係なコードや間違ったコードを⽣み出すため、何を望んでいるのかを具体的かつ明確にすることが成功の鍵です。

このように、提供されたソースは、AIがもたらす開発の加速と、その新しいツールを責任を持って使いこなすために開発者に求められるスキルの進化について深く掘り下げています。

===========================

例えば、「ChatGPTを利用した」くらいの認識でモヤモヤしていましたが、本書で「バイブ・コーディング」と「AI⽀援エンジニアリング」にわけられると言われるとなるほどと思いました。それぞれのユースケースでどう利用していくか?です。

あと、「70%問題」も納得でした。この数字は何かしらの文献から来ているのかと思えば「AIがコーディングを支援する際の生産性向上と限界を象徴的に示す、開発者コミュニティの間で広範に観察され、共有されている経験則として使用されています」だそうです。ベストプラクティス的な話しですね。今後、ソフトウェア工学分野で研究が進むと思います。

あと、Windsurfというツールを知りませんでした。有料サービス(しかもサブスク)なので大学で利用するのがなかなか厳しいです。ポケットマネーでやればいいんでしょうけど。。。企業であれば仕事で使うから会社が提供してくれるっていう話しはあるのでしょうけど。残念です。

最後に、70%をどう見るかですね。

大学の演習でやる程度のコードであれば70%程度でも十分に網羅されてしまいます。つまり、今までのような課題を出して評価していると学生はただ課題文をプロンプトとしてAIに与えるだけで課題が完成してしまいます。

「バイブ・コーディング」ではなく「AI⽀援エンジニアリング」が必要となるようなタスクを与える、場を与える、そういう工夫がこれからの基礎教育の場面で必要となるでしょう。

考えましょう。




以上の内容はhttps://memorandums.hatenablog.com/entry/2025/12/11/101433より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14