13
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CodePlanというリポジトリレベルのコード生成AIがあるらしいので、論文を読んでみた

Posted at

はじめに

この記事はディップ Advent Calendar 2023の19日目の投稿です。

「生成AI」という言葉を聞かない日はないくらい有名になりましたね。
GitHub Copilotを使ってコードを書いているのですが、少し工夫するだけで期待通りのコードを提案してくれるので、ググりに行く回数が明らかに減りました。
(リモートワークで仕事をしているので、隣の席の人と会話しながらコードを書いているみたいな感覚になれるのも、かなりうれしいポイントですw)

Copilotを重宝している筆者なのですが、たまに「複数ファイルのコードを一気に生成してくれたらな」と思ってしまうときがあります。

今回は、そんな願いを叶えてくれるかもしれない、「CodePlan: Repository-level Coding using LLMs and Planning」という論文を読んでみました。
少し長い論文だったので、概要のみを紹介します。

CodePlan

概要

CodePlanとは、Microsoft Researchの研究者たちが発表した、LLMを利用してリポジトリレベルのコーディング作業を解決するフレームワークです。

GitHub CopilotやAmazon Code Whispererなどは、周囲のコードのコンテキストからコードを編集を行えますが、適用範囲は行やメソッドなどの小さな範囲です。
CodePlanでは、新しいバージョンへの対応タスクのような、リポジトリ内の複数のファイルに渡る段階的な編集作業を行うことができます。

手法

CodePlanでは、グラフ理論とLLMを組み合わせた手法を用いているようです。

厳密には違いますが、ざっくりしたイメージだと、以下のサイクルを回して、大きな編集タスクを達成するという仕組みです。

  1. LLMによるノード(小さな編集タスク)の実行
  2. 依存関係と影響範囲の分析
  3. 編集プランの修正

スクリーンショット 2023-12-19 11.30.24.png

展望

今後の展望としては、機能強化、影響分析のさらなるカスタマイズなど挙げられていました。
現時点ではC#とPythonのみの実験なので、他の言語やフレームワークなどへの適用はこれからのようです。

さいごに

今回、ざっくりと手法をまとめてみて、人間も近しい思考方法で大きなタスクを解決しているなと感じました。
2023年12月時点では、フレームワークを提案した論文のみなのですが、ぜひ製品化してほしいですね。
Microsoft Researchの研究者たちによる論文なので、GitHubやVSCodeなどとの連携が期待できそうです。

誤って理解しているところがあるかもしれません。
そのような箇所を見つけたら、教えていただけると幸いです。

参照

13
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?