ユーザー投稿: この AI コーディング ツール CodeFuse は素晴らしいです

この記事はユーザーによる寄稿であり、内容は著者の見解のみを表しています。

著者: Cang He 氏、Dachang の元シニア Java エンジニア、Alibaba Cloud のエキスパートブロガー、CSDN 2023 Rising Star、土木工学のトランスコーディング、現部門テクノロジーリーダー、インターネットテクノロジーと職場体験の共有に注力。

 

みなさんこんにちは、カン・ヘです。AI時代には、数多くの素晴らしい製品ツールが急速に登場し、それらの効率化ツールが科学技術の進歩を大きく促進してきました。特にプログラミングの分野では、GitHub CopilotからCodeGeeX、Tongyi Lingmaに至るまで、様々なツールが際限なく登場しています。今日は、私が最近発見した優れたプログラミング支援ツール、CodeFuse を皆さんと共有したいと思います。 

 

1.CodeFuseとは何ですか

CodeFuse は、GitHub Copilot と同様のコーディング アシスタントで、Ant Group が自社開発した基本的な大規模モデルをベースに微調整した大規模なコード モデルです。

CodeFuse には、コード補完、コメントの追加、コードの解釈、単体テストの生成、およびコード最適化機能があり、開発者がより迅速かつ簡単にコードを作成できるようにします。

IntelliJ IDEA に GitHub Copilot をインストールするとチャット機能が呼び出せないことがわかっていますが、この機能はまだテスト段階ですが、CodeFuse ではチャット機能を直接呼び出すことができ、コードをうまく説明できます。

 

2. CodeFuseのダウンロードとインストール

現在、CodeFuse はまだ内部テストの段階にあり、Cang He 氏も内部テストの資格を取得していますが、まだ申請していない方は、CodeFuse 公式 Web サイトから直接申請し、関連情報を入力して審査を待ちます。 . 一般的なレビューサイクルは 1 ~ 3 日です。

クローズドベータに申し込む

申請後、社内テストの資格を取得後、直接プラグインをダウンロードできます。

まだ社内テスト段階のためプラグイン市場には投入されておらず、プラグインアプリケーション市場で直接検索することもできません。

プラグインをダウンロード

IntelliJ IDEA を例として、[プラグインのダウンロード] をクリックしてダウンロードします。

アイデアプラグインをダウンロード

ローカルストレージ

次に、アイデアを開き、ダウンロードしたプラグインを選択してインストールします。

アイデアプラグインのインストール

インストールが完了したら、idea を再起動します。

インストールが完了しました

私のアイデアでは、GitHub Copilot、CodeGeeX、Tongyi Lingma がインストールされていることがわかります。他のプラグインと比較するために、コード補完部分では、実験が客観的であることを保証するために、一度に 1 つのプラグインだけを有効にしています。そして本当です。

 

インストール後、デフォルトでコード補完を実行するかどうかを設定できます。

コード補完を設定する

後でログインする必要があります。サイドバーをクリックしてログインした後、ショートカットキーなどを設定できます。

ログイン完了

 

3. CodeFuseの機能と比較評価

1. コード補完

他のすべてのコーディング アシスタントと同様、コード補完は最も基本的なコア機能です。実験の客観性と信頼性を確保するために、単一補完方式を採用し、最初に他のプラグインのコード補完をオフにします。

GitHub Copilot コード補完をオフにします。

GitHub コパイロットのコード補完をオフにする

Tongyi Lingma コード補完をオフにします。

Tongyi Lingma コード補完をオフにする

CodeGeeX コード補完をオフにします。

CodeGeeX コード補完をオフにする

現時点では、コード補完は CodeFuse によってのみ有効になっています。最初に空のクラスを作成し、何も書かず、改行を押すだけで次のように表示されます。

空のクラスのデフォルトの補完

プロンプト コードの後に​​中国語のショートカット キーに対応したプロンプトがあることがわかります。

ショートカット キーに関するわかりやすいヒント

プロンプト エンコーディングを使用するには Tab キーを押してください。CodeFuse は main メソッドを直接完成させませんが、コア行のみを完成させ、メソッドの他の括弧を省略します。GitHub copilot と比較すると、これはプログラマのコーディング習慣に沿っており、デフォルトの改行補完方法もアイデアに沿っていると思います。このアイデアでは、メソッドの左括弧を記述した後、Newline キーを押して右括弧を直接完成させます。実際には 1 行を生成するだけで済みます。

CodeFuse の単一行補完

CodeFuse の単一行入力プロンプト

現時点では、GitHub Copilot コード補完をオンにし、他のすべてのプラグイン コード補完をオフにします。GitHub Copilot が完全な main メソッドを直接プロンプトし、デフォルトのステートメントを出力していることがわかりますが、個人的には、シナリオによっては負担になると思います。CodeFuse は改行時に次の文を要求しますが、これはよりフレンドリーだと思います。

GitHub Copilotの起動完了

単一行のコード補完モデルは GitHub Copilotよりも高速ですが、これは GitHub Copilot のリモート モデルが依存している大規模なモデルが openai であるためと考えられます。

単一行のコード補完

複数行のコードの場合は、補完することもできます。コメントを直接書いてメソッドを直接生成することもできます。CodeFuse では、単一行のコード補完と複数行のコード補完は完全に区別されています。

0 から 10 までの乱数を生成します。素数であってはなりません。

 

2. コードの説明

コードの説明

選択したコードを右クリックするか、サイドバーで直接「/explain」をクリックします。現在、GitHub Copilot ではチャット機能が利用できないため、説明コードを表示するこのサイドバーは依然として非常に役立ちます。

/explain をクリックしてコードを説明します

 

3. コメントの生成

コメントの生成は、コメントが必要なコードを右クリックしても生成されます。公式の説明書を読んだところ、メソッド関数の生成はより完璧なようです。

: 現在、モデルのアノテーション生成機能は関数レベル全体を比較的完全にサポートしているため、関数レベルでのアノテーションの生成を優先することをお勧めします。

コードコメントを生成する

ここで私は、製品が Tongyi Lingma のインタラクションを学習し、メソッド内で直接操作できることを提案しますが、右クリックのコストはまだ少し高いです。

Tongyilingコード生成コメントメソッド

 

4.片面を生成

同様に片面生成が必要なコードについては、「片面生成」を右クリックすると右欄にCodeFuseで生成された片面が表示され、片面コードをテストクラスに直接挿入することができ大変便利です。

CodeFuse は片側を生成します

 

5. コードの最適化

最適化する必要があるコードを右クリックすると、CodeFuse によって生成された最適化の提案が表示されます。
このコードを最適化してもらいます。

@Before
public void before() {
    //可以为null
    Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("127.0.0.1", 7890));
    HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor(new OpenAILogger());
    httpLoggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
    v2 = OpenAiClient.builder()
    .apiKey("xxxxx")
    .connectTimeout(50)
    .writeTimeout(50)
    .readTimeout(50)
    .interceptor(Arrays.asList(httpLoggingInterceptor))
    .proxy(proxy)
    .apiHost("https://api.openai.com/")
    .build();
}

 

CodeFuse は最適化の提案を生成します

最適化の提案に従ってコードを直接生成することを選択できます。

最適化の提案によりコードが直接生成されます

元のコードを直接置き換えることも、コードをコピーすることもできます。最も良い方法は、前後のコードを比較して、CodeFuse によって何が変更されたかを確認することです。これは非常に直感的です。

CodeFuse によって何が変わったのかを見てみましょう。

生成された最適化されたコード:

@Before
    public void before() {
        // 可以为 null
        Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("127.0.0.1", 7890));
        HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor(new OpenAILogger());
        httpLoggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
        String apiKey = "xxx";
        int connectTimeout = 50;
        int writeTimeout = 50;
        int readTimeout = 50;
        String apiHost = "https://api.openai.com/";
        v2 = OpenAiClient.builder()
                .apiKey(apiKey)
                .connectTimeout(connectTimeout)
                .writeTimeout(writeTimeout)
                .readTimeout(readTimeout)
                .interceptor(Arrays.asList(httpLoggingInterceptor))
                .proxy(proxy)
                .apiHost(apiHost)
                .build();
    }

現在、GitHub Copilot のこの機能はアイデアでは使用できません。

GitHub Copilot では利用できない機能

大規模なモデル コードの理解機能と静的ソース コード分析機能に基づいて、CodeFuse は選択されたコード フラグメントの分析と理解をサポートし、最適化と改善の提案を提示します。また、改善の提案に基づいてコード パッチを直接形成することもできるため、より良いコードの作成に役立ちます。 . .

4. まとめ

CodeFuse はまだ内部テスト段階にありますが、テスト結果は依然として素晴らしく、特にコード UI スタイルとサイドバーのインタラクション、およびカスタム構成のサポートは比較的フレンドリーです。

イノベーションによって推進されるこの時代において、CodeFuse などのツールの登場は、プログラミング プロジェクトの開発プロセスを加速するだけでなく、プログラミングの世界に新たな可能性をもたらします。テクノロジーの最先端を進みたいと願う開発者にとって、CodeFuse は間違いなく、試して深く探求する価値のある貴重なリソースです。

MySQL 5.7、Moqu、Li Tiaotiao... 2023 年に「停止」される (オープンソース) プロジェクトと Web サイトの総まとめ. Kingsoft WPS がクラッシュ. Linux の Rust 実験は成功. Firefox は チャンスを掴めるか... 10 の予測オープンソースについて 中学校が「インテリジェント・インタラクティブ・カタルシス・デバイス」を購入 - これは実際には任天堂 Wii のシェルだ Redis の父「Ruiping」、LLM プログラミング: 全知全能&& 愚か 「ポスト・オープンソース」の時代は到着しました: ライセンスの有効期限が切れているため、一般公開はできません Vim 9.1 がリリースされ、フロントエンド サークルの Bram Moolenaar 2024 年「新年の戦い」に捧げられました: React は穴を掘りますが、埋めることはできません、ドキュメントに依存する必要がありますそれらを満たしますか? チャイナユニコムブロードバンドが突然アップロード速度を制限し、多くのユーザーから苦情が寄せられ、 パスカルの父ニクラス・ヴィルトが死去した。
{{名前}}
{{名前}}

おすすめ

転載: my.oschina.net/u/6942768/blog/10560465