AIパーソナル・ラーニング
と実践的なガイダンス
サイバーナイフ用ドローイングミラー

AutoDevスケッチで次世代のAIプログラミングツールと革新的なプラクティスを深く掘り下げる

人工知能(AI)技術は、かつてないスピードでソフトウェア開発のあらゆる側面に浸透しており、特にAIプログラミングツールの進化は目を見張るものがある。本稿では、新世代のAIプログラミング・ツールの動向を分析し、それらを以下のように組み合わせる。 オートデヴ・スケッチ を実践し、よりスマートで効率的なAI支援プログラミング体験を構築する方法を探る。

 

AIプログラミングツール2.0:トレンドを先取りする

CursorやGitHubなど、開発者に人気のあるAIプログラミング・ツールは数多く市場に出回っている。 コパイロット 編集、ウインドサーフ クライン などである。これらのツールを分析することで、AutoDev Sketchチームは新世代のAIプログラミング・ツールのいくつかの主要な特徴をまとめた:


blank

AIプログラミングツールの機能は大きく変化しており、もはやコード補完やコード予測といった初歩的な補助機能にとどまらない。新世代のツールはよりスマートな方向に進んでおり、例えば、より複雑なAIの自動コーディングと検証の実行を試みている。 トークン 資源である。さらに、新たな傾向として 非同期AIコーディングAIがバックグラウンドで継続的に働くことで、開発者とのコラボレーションが深まり、よりスムーズな開発が可能になる。

これらの観察に基づき、AutoDev Sketchチームは、AIプログラミング・ツール2.0の中核機能は以下の3点に集約されると考えている:

エージェント・ドリブン:より深い意図の理解

エージェント・ドライバー は、AIプログラミング・ツール2.0の中核をなすものである。これは、新しいツールが、強力な基礎モデルの推論能力にさらに大きく依存することを意味する。プログラミング・ツールによって提供されるコンテキスト情報への、より高速で正確なアクセスと組み合わせることで、AIは開発者の真の意図をよりよく理解し、開発者の期待によりよく応えるコードを生成できるようになる。エージェントの自律性と計画能力により、AIはユーザーの命令に受動的に応答するだけでなく、複雑なプログラミング作業をより効率的に実行できるようになる。

blank

デベロッパー・エクスペリエンス・ファースト:スムーズなマインドストリーム体験の創造

開発者の経験を第一に は、AIプログラミング・ツール2.0の設計における重要な原則である。新しいツールは、開発者の日々のワークフローによりよく統合され、コード編集、予測、自動テストにおいて、開発者のマインドフロー体験を最大化するために、より熟考された機能を提供する必要がある。例えば、Cursorのようなツールは、IDEにおける開発者の様々な操作動作を組み合わせ、開発者の精神的負担を軽減する多数のメカニズムを提供し、エラーやリトライなどのシナリオをエレガントに処理することで、コーディングプロセスにおいて開発者の集中力を維持し、効率的な作業を行えるように努めている。

blank

自動検証:コード品質の保証

自動検証 AIプログラミング・ツール2.0に不可欠な要素である。これは、AIが生成したコードのビジネスロジックの品質と正しさを自動的に検出・検証し、AIの幻覚によって引き起こされた問題を、例えばパッチのような技術を使って自動修正するツールの能力を指す。自動検証メカニズムの導入は、AIの幻覚による悪影響を根本的に減らし、コードの信頼性を確保することを目的としている。例えば、Cursorは多数の実用的なLintツールとターミナル端末を統合し、開発者に豊富な自動コード検証手段を提供している。

blank

上記のコア機能に加えて、いくつかのAIプログラミング・ツール2.0は、他の優れた設計パラダイムを示す:

  • フォールト・トレラントな相互作用開発者の負担をさらに軽減するために、「生成-チェック-ロールバック」の3段階のメカニズムを導入しているツールもある。この仕組みは、AIがコードを生成した後に開発者がコードをチェックし、必要に応じてロールバックすることで、試行錯誤のコストを削減する。
  • シナリオ・フォーカス特定のシナリオにおける効率と精度を向上させるために、いくつかのツールは、シナリオに焦点を当てた設計思想を採用し始めている。例えば、コードレビューや脆弱性の修復といった特定のシナリオでは、異なるシナリオの特定のニーズを満たすために、カスタマイズされた対話プロセスやツールが提供されている。

市場で人気のあるAIコーディング2.0ツールのほとんどは、VSCodeプラットフォームに基づいています。しかし、VSCodeは本質的に単なるエディタであり、そのAPIの制限はAIコーディングツールの機能をある程度制限し、より高度な機能の実現を妨げている。そのため オートデヴ Sketchチームは、より強力な統合開発環境(IDE)上にAIコーディングツールを直接構築した方が良いのではないかと考え始めた。

 

AIコーディング・ツール2.0に関するAutoDev Sketchチームの考え

AutoDev Sketchチームは、ユーザー行動に関する社内調査を実施し、典型的なIntellij IDEAユーザーは、次のようなユーザー行動をとることがわかりました。 カーソル CursorのようなAIコード生成ツールはコーディングを支援するために使用されるが、最終的にはコードのテストとデバッグのためにIDEAに戻る。その理由は、Cursorのようなツールはある程度開発効率を向上させることができるが、この効率向上はエディタとIDEの機能差によってもたらされる経験ギャップを完全に補うものではないからだ。言い換えれば、IDEのヘビーユーザーにとって、IDEAが提供する強力な機能と完全なエコシステムは、依然として代えがたいものなのです。

その結果、AutoDev Sketchチームは、IDEを最大限に活用し、優れたAI支援プログラミング体験を実現するために、AIコーディングツール2.0を開発する最善の方法について深く考え始めました。

思考1:編集者は経験を重視し、IDEは生態を重視する

blank

AutoDev Sketchチームは、エディターとIDEの長所と短所を簡単に分析しています:

VSCode

  • 驚くべき利点VSCodeの最大の強みは軽量で柔軟性が高いことで、開発者は迅速にプロトタイプを作成し、機能を反復することができる。
  • 相対的不利VSCodeには豊富なプラグイン・エコシステムがありますが、プラグインの品質にはばらつきがあり、多くの機能は開発者による再開発や再設計が必要です。また、VSCodeは言語サーバプロトコル(LSP)、デバッグアダプタプロトコル(DAP)、モデルコンテキストプロトコル(MCP)などの機能を提供していますが、VSCodeには強固なプラグインエコシステムがないため、開発者は多くの機能を再開発して再設計する必要があります。エムシーピー)などのプロトコルがあるが、深い生態学的統合を達成するにはまだ限界がある。

Intellij IDEAシリーズ

  • 驚くべき利点Intellij IDEAファミリーの最大の利点は、すぐに使える機能と高品質の公式プラグインです。これらのプラグインは、AIコーディングツールのインテリジェンスをサポートする高品質のコンテキスト情報を提供します。
  • 相対的不利VSCodeと比較すると、Intellij IDEAは開発コストが高く、開発速度が遅く、ドキュメントが相対的に不足しているため、AIコード生成の精度に影響を与える可能性があります。

その結果、AutoDev Sketchチームは、AIコーディングツール2.0は、エディタ以上にIDEの強力なツールエコシステムとプラグイン機能を活用すべきであると考えている。

反省2:IDEAプラグインエコシステムを利用してエンドツーエンドの自動化を構築する

blank

Intellij IDEAは、開発ツールの既存のエコシステムの優れた例である。特にバックエンドAPI開発のシナリオでは、IDEAは「設計、開発、検証」に必要なツール・エコシステムを完璧に統合しています。例えば

  • 設計段階Swagger、PlantUML、Mermaidなどのツールは、APIの設計や文書化で開発者を助けてくれる。
  • 開発段階HttpClient、Curl、データベースプラグイン、その他のツールはAPI開発の効率を向上させます。
  • 校正段階JUnit、Playwright、SonarLintなどのツールは、コードの品質とシステムの安定性を保証します。

これらの豊富なプラグインにより、AutoDev SketchチームはAI用の統一されたインターフェースを構築し、AIにより的確なプロンプト、より強力なツールセット、そしてエンドツーエンドの開発プロセスを自動化するための優れたコード検証メカニズムを提供することができます。

反省3:AIの錯覚を減らすための質の高いコンテキストの構築

blank

AIの錯覚を最小限に抑え、コード生成の精度と信頼性を向上させるために、AutoDev Sketchチームは、高品質のコンテキスト情報を構築することが重要であると考えています。バックエンド開発を例にとると、AutoDev Sketchチームは、以下の3つのエンジニアリングプラクティスを通じて、エージェント駆動型AIコーディングツールのコアを構築することができます:

  • ソフトウェア工学 コンテキスト工学このプロジェクトの目的は、依存関係、データベース情報、フレームワーク情報など、プロジェクトに関する主要なコンテキスト情報を取得することです。AutoDev Sketchは、プロジェクトの構成とコードを分析し、次のようなコンテキスト記述を自動的に抽出します:「このワークスペースは、Gradle+Java+JDK_18を使用しています」、「このプロジェクトは、MariaDBを使用しています」、「あなたは、Spring Boot 2.7.10、Spring MVC、JDBCを使用してビジネスロジックを構築するプロジェクトで作業しています。project uses MariaDB", "Spring Boot 2.7.10, Spring MVC, JDBCを使ってビジネスロジックを構築するプロジェクトに取り組んでいます。".
  • ファンクション・コール・エンジニアリング(OpenAI)このプロジェクトでは、AIモデルがさまざまなシナリオで関数を呼び出す能力を継続的に最適化し、さまざまなツールやAPIとのAI統合の効率を向上させることに重点を置いている。
  • キュー・ワード・プロジェクト(クロード)さまざまなAIモデルに対して、AutoDev Sketchチームは、開発者の意図をよりよく学習し理解できるようにモデルを導く思考連鎖プロンプトを提供します。

高品質の文脈情報は、最適化されたキューワード戦略と相まって、AIイリュージョンの発生を大幅に減少させることができ、その結果、ユーザビリティ、ユーザ受容性、コード精度など、AIコーディングツールの主要な指標を改善することができる。

 

AutoDev SketchのAIコーディング・ツール2.0ハンズオン

AutoDev Sketchチームは、この分析と思考に基づき、次世代AIコーディングツールAutoDev Sketchの構築に着手した:高品質なシステムキュー+大規模言語モデル(LLM)推論機能+IDEのコンテキスト認識AutoDev Sketch。この3つを有機的に組み合わせることで、AutoDev Sketchは開発者の意図を深く理解し、それをインタラクティブなSketchビューに変換することができ、よりスマートで自然なAI支援プログラミング体験を実現します。

blank

1.質の高いコンテクストとツールのリンケージの構築

blank

AutoDev SketchはIDEAプラグインエコシステムと深く統合され、高品質のコンテキスト認識とツール機能を提供します。例えば、AutoDev SketchはDatabaseコンポーネントを統合しており、AIに統一されたデータベース操作機能を提供し、開発者がより効率的にデータベースを操作できるようにコンテキスト情報とツールとしてカプセル化しています。AutoDev Sketchは、以下の3つのステップでAIとデータベースの深い相互作用を実現します:

  1. システム・プロンプトの強化ユーザがデータベースに接続すると、AutoDev Sketchは自動的にシステムプロンプトにデータベース接続情報を追加します(例:"Workspace context: Project using MariaDB 11.5.2-MariaDB")。
  2. ツールコールAIは、ユーザーがデータベースを操作する必要があると認識すると、積極的に データベース 道具を使いこなす /データベース:スキーマ などのAPIを使ってデータベースのスキーマ情報を取得し、コード生成を支援する。
  3. SQLインタラクションと検証AutoDev Sketchは、AIによるSQLコードの生成をサポートするだけでなく、AIが直接データベースと対話し、生成されたコードの正しさを検証することもできます。将来的には、AutoDev Sketchは、コードの品質をさらに保証するため、より完全なSQLコード検証メカニズムも提供する予定です。

AutoDev Sketchには、Databaseコンポーネントの他に、HttpClient、SonarLintなどの便利なIDEAプラグインが統合されており、開発者により包括的な開発、テスト、コード品質検証機能を提供するように設計されています。

2.豊富なツールセット:自動化導入のラストワンマイルの橋渡し

開発者のエクスペリエンスをさらに向上させるため、AutoDev Sketchはツールの統合をより深く追求しています。CursorのようなVSCodeベースのAIエディターとは異なり、AutoDev SketchはIDEのネイティブ機能をフルに活用し、AIが呼び出すためのツールとしてカプセル化しています。以下は、AutoDev Sketchで現在利用可能なツールのリストです:

blank

例えば、こうだ。走るそして手戻り 歌で応える 構造 AutoDev Sketchは、AIが開発者の意図をより正確に理解し、開発者の期待により近いコードを生成できるように設計されたツールにそれらを包み込み、AIが生成したコードの自動採用を可能にする。

3.多様なスケッチビュー:流動的な開発マインドストリームの構築

blank

AIがコードを生成した後、AutoDev SketchはコードをインタラクティブなSketchビューにレンダリングします。このSketchビューは、開発者がAIが生成したコードをよりよく理解できるように設計されており、開発者の全体的なエクスペリエンスを向上させるために、これに基づいてさらに編集や反復を行うことができます。よりスムーズな開発マインドフローを実現するため、AutoDev SketchはSketchビューにおける様々なシナリオでのインタラクションの可能性を十分に考慮しました:

  • 多彩なパッチ/ディフ・ハンドリングSketchビューは、複数のPatchとDiffの取り扱いをサポートし、開発者がコードの変更を簡単に確認、適用できるようにし、コードの品質を保証するLintチェックなどの機能を統合しています。
  • フロントエンド・アプリケーションWebViewプレビューフロントエンドのアプリケーション開発シナリオでは、開発者が開発サービスを起動すると、AutoDev Sketchは自動的にWebViewウィンドウを開き、アプリケーションの実行状況をリアルタイムで表示します。
  • セキュリティ・チェックへの依存AIが依存関係ファイルを生成する際、Sketchビューは依存関係のセキュリティチェックを提供し、開発者が潜在的なセキュリティリスクをタイムリーに特定し、対処できるようにします。
  • その他の相互作用の可能性例えば、コードの構造化表示、コードスニペットの高速実行など、開発効率とユーザーエクスペリエンスをさらに向上させる機能を提供します。

このような継続的なインタラクション設計を通じて、AutoDev Sketchは開発者の精神的負担を最小限に抑え、全体的な開発効率とユーザー体験を向上させることを目指しています。

 

まとめ:AIコーディングツール2.0の未来に迫る

blank

要約すると、AI Coding Tools 2.0の中核機能は、研究開発知識ベースとツール・エコシステムの深い統合、開発者のコーディング・マインドフローの継続的最適化、多様なAIモデル・アーキテクチャのサポートという3つの主要分野に要約できる。

  1. 研究開発エコシステムの活用将来のAIコーディングツールは、インテリジェントなコード生成や支援機能を真に実現するために、既存の研究開発ツールチェーンや知識ベースとより緊密に統合される必要がある。
  2. デベロッパー コーディング マインドストリームをフォローするAIコーディングツールは、継続的な自動改善と最適化を通じて、開発者によりスムーズで効率的なコーディング体験を提供することを目指すべきである。
  3. マルチモデルアーキテクチャーのサポート多様な開発ニーズに対応するため、将来のAIコーディングツールはマルチモデルアーキテクチャを採用する必要がある。例えば、コードプランニング、コード理解、コード補完などのタスクをそれぞれ担当する異なるAIモデルを使用する。

AutoDev Sketchの探求と実践を通じて、開発者は次世代のAIコーディングツールの構築方法についてより明確に理解できるようになったと信じています。AutoDev Sketchチームは、継続的な技術革新と製品の反復を通じて、開発者のよりスマートで使いやすいAIプログラミングツールを作成し、AI主導のソフトウェア開発の新時代を共に迎えられることを願っています。

AutoDev Sketchにご興味のある方は、AutoDev Sketchをご覧ください。

シーディーエヌワン
無断転載を禁じます:チーフAIシェアリングサークル " AutoDevスケッチで次世代のAIプログラミングツールと革新的なプラクティスを深く掘り下げる

チーフAIシェアリングサークル

チーフAIシェアリングサークルは、AI学習に焦点を当て、包括的なAI学習コンテンツ、AIツール、実践指導を提供しています。私たちの目標は、高品質のコンテンツと実践的な経験の共有を通じて、ユーザーがAI技術を習得し、AIの無限の可能性を一緒に探求することです。AI初心者でも上級者でも、知識を得てスキルを向上させ、イノベーションを実現するための理想的な場所です。

お問い合わせ
ja日本語