Skip to main content
QUICK REVIEW

[論文レビュー] What is it like to program with artificial intelligence?

Advait Sarkar, Andrew Gordon|arXiv (Cornell University)|Aug 12, 2022
Spreadsheets and End-User Computing被引用数 46
ひとこと要約

本論文は、LLM支援プログラミングが従来のプログラマー支援とどのように異なるかを検討し、信頼性と使いやすさを論じ、LLMsを用いたエンドユーザーのスプレッドシートプログラミングに関する報告を行う。

ABSTRACT

Large language models, such as OpenAI's codex and Deepmind's AlphaCode, can generate code to solve a variety of problems expressed in natural language. This technology has already been commercialised in at least one widely-used programming editor extension: GitHub Copilot. In this paper, we explore how programming with large language models (LLM-assisted programming) is similar to, and differs from, prior conceptualisations of programmer assistance. We draw upon publicly available experience reports of LLM-assisted programming, as well as prior usability and design studies. We find that while LLM-assisted programming shares some properties of compilation, pair programming, and programming via search and reuse, there are fundamental differences both in the technical possibilities as well as the practical experience. Thus, LLM-assisted programming ought to be viewed as a new way of programming with its own distinct properties and challenges. Finally, we draw upon observations from a user study in which non-expert end user programmers use LLM-assisted tools for solving data tasks in spreadsheets. We discuss the issues that might arise, and open research challenges, in applying large language models to end-user programming, particularly with users who have little or no programming expertise.

研究の動機と目的

  • LLM支援プログラミングが既存のプログラマー支援のパラダイムとどの程度一致するか、あるいは逸脱するかを評価する。
  • Copilot のような実世界のツールにおけるコード生成型LLMの能力、限界、および信頼性上の懸念を要約する。
  • プログラマー向けの主要な使いやすさの問題を特定するため、使いやすさ・設計研究および体験報告をレビューする。
  • LLM支援ツールを使用する際のエンドユーザープログラミングやスプレッドシート作業への影響について論じる。

提案手法

  • LLM支援プログラミングに関する公開されている体験報告を統合する。
  • AI支援ツールと伝統的手法を比較する使いやすさ・設計研究を活用する。
  • コード生成モデルの安全性、信頼性、セキュリティに関する影響を論じる。
  • LLM支援プログラミングを検索、コンパイル、ペアプログラミングなどの比喩と比較する。
  • スプレッドシートにおけるエンドユーザープログラミング研究の知見を要約する。

実験結果

リサーチクエスチョン

  • RQ1LLM支援プログラミングと従来のプログラマー支援(例:コンパイル、ペアプログラミング、検索と再利用)との核心的な類似点と相違点は何か?
  • RQ2実際にコード生成のためにLLMsを使用する際に生じる使いやすさ、信頼性、安全性の課題は何か?
  • RQ3非伝統的な分野(例:スプレッドシート)のエンドユーザプログラマーはLLM支援プログラミングをどのように体験しているか?

主な発見

  • LLM支援プログラミングはコンパイル、ペアプログラミング、検索経由のプログラミングといくつかの性質を共有するが、技術的な可能性とユーザー体験には根本的な違いがある。
  • コード生成モデルは関数の本体やテストケースを生成できるが、訓練データからコピーしたり、誤ったり、対象外のコードを生成することがある。
  • 使いやすさの研究はプロンプトの設計とデバッグを主要な課題とし、タスク時間の短縮の可能性がある一方で正確性に対する効果は様々である。
  • エンドユーザープログラミングの研究は意図の特定、コードの正確性、理解、非専門ユーザー向けのオンボーディングとツールの改善の必要性を示している。
  • GitHub Copilot のような商用ツールは初期点とAPI発見の利点を示すが、効果はプロンプトの質と生成コードのユーザー対応に依存する。
  • 信頼性と安全性の懸念には脆弱性の伝播、過度の依存、AI生成コードのコードレビューとテストの必要性が含まれる。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。