GitHub、関数名やコメントからコードを生成・提案する「GitHub Copilot」を発表 68
ストーリー by nagazou
IMEの予測変換みたいな 部門より
IMEの予測変換みたいな 部門より
GitHubは6月29日、開発者のコード作成を支援するためのAIプログラミング機能「GitHub Copilot」を発表した。開発者の生産性を向上させる目的のもので、関数名とコメントから関数のコードを丸ごと自動補完するなどの提案も行えるという。Microsoftの「Visual Studio Code」および「GitHub Codespaces」向けの拡張機能として提供されるとしている。登録を行うとテクニカルプレビュー版の招待が受けられるようになるとしている(CNBC、ITmedia、TechCrunch)。
GitHub CopilotはOpen AIと提携してこのツールを開発したという。このAIは何十億行ものコードを使って訓練を受けており、コードを書き進めていくと途中でGitHub Copilotからコードの提案が行われるという。開発者はそうした提案を受け入れたり拒否したりできるとしている。
一方でこのOpen AIの学習にはGitHub上にあるGPLコードも使われていると見られ、GitHub Copilotがプロプライエタリコードを利用している扱いとなり、GPLに違反する可能性もあるのではないかとする指摘も出ている模様(eevee氏のツイート)。
あるAnonymous Coward 曰く、
GitHub CopilotはOpen AIと提携してこのツールを開発したという。このAIは何十億行ものコードを使って訓練を受けており、コードを書き進めていくと途中でGitHub Copilotからコードの提案が行われるという。開発者はそうした提案を受け入れたり拒否したりできるとしている。
一方でこのOpen AIの学習にはGitHub上にあるGPLコードも使われていると見られ、GitHub Copilotがプロプライエタリコードを利用している扱いとなり、GPLに違反する可能性もあるのではないかとする指摘も出ている模様(eevee氏のツイート)。
あるAnonymous Coward 曰く、
現在はテクニカルプレビューだが、将来的にはこの機能をベースにした商用製品の発売を予定しているという。ただし関数名やコメントは「平易な英語で」記述する必要があるため、日本人プログラマーが活用するのにはまだ難しいだろう。
//これ消すなんか落ちるから消すな (スコア:1)
int nannka[1000];
//この行を消すと動かない (スコア:0)
Re: (スコア:0)
/* この行が生きてると何故かコンパイラが例外で落ちる
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
*/
#実話
Re: (スコア:0)
コンパイラ作者に投げようぜ
Re: (スコア:0)
が、サイズであろうが速度であろうが最適化を有りにすると異常動作するのには遭遇した
きっと (スコア:1)
イルカを生成してくれる。
# 課金すると冴子先生になります。
用途 (スコア:1)
これの主要な使い道と思われる業務用のソフトウェアって、
GitHubにはあんまりないような…
偉い人は言いました (スコア:0)
「ポンチ絵からコードが生成できればプログラマー不要なのに」
Re: (スコア:0)
最初から直接コードを書けば、ポンチ絵も不要じゃね?
Re:偉い人は言いました (スコア:1)
Knuthレベルに文芸的プログラミング [wikipedia.org]を実践できるならね。
Re: (スコア:0)
今度は要件から正しいポンチ絵を描くのがプログラマの仕事になるだけじゃ?
その偉い人は自分の会社の仕事を隅から隅まで知り尽くしていて正しいポンチ絵描けるの?
Re:偉い人は言いました (スコア:2)
偉い人「えっ」
プログラマー「えっ」
関数名やコメントを平易な英語で記述できないプログラマー (スコア:0)
レベル低過ぎないか?
Re: (スコア:0)
レベルが低くてすみません。
コードから平易な英語のコメントを生成できる機能が欲しいなと思ってしまいました。
Re: (スコア:0)
そっちのほうが欲しいよね
俺がコード書くからいい具合のコメント書いてくれと
あと、関数名とか変数名も
そこまでできるようになると俺がいらなくなるんだろうけど
Re: (スコア:0)
コメントの内容が現状のコードの内容とあっているかどうかを判定してくれるとか
…たいていのケースで合っていないと判定されそう
Re:関数名やコメントを平易な英語で記述できないプログラマー (スコア:1)
コードから生成できる程度のコメントなら、書かないほうがマシで保守性も高い。
代わりに適切で可読性の高い識別子の命名にこだわるべき。
Re: (スコア:0)
はんがりあーん
Re: (スコア:0)
情報処理技術者試験で、英語を必須にすべきに思えてきた。
Re: (スコア:0)
IPAの「基本情報技術者試験」は、昭和~平成初頭までは「第2種 情報処理技術者試験」
という名前だったのですが、英語も出題範囲に含まれていましたね。
参考:技術評論社 昭和の情報処理試験問題を発見したので公開します [gihyo.jp]
Re: (スコア:0)
英語ができるのとそうでないのとでは、得られる情報量が段違いだし、それはプログラマーとしての問題解決能力にも大きく影響する。
英語が得意でなくてもいいが、英語から逃げてるような奴はふるいにかけておきたいですね。
Re: (スコア:0)
別に英語ができないのであれば、ローマ字で書いてほしいですね。
中途半端に英語を知っている結果、単語単位で英語で書かれていたり、
独自ルール(というか単語の頭3文字)で略された単語を見せつけられるので
Re: (スコア:0)
変な識別子はコードレビューで弾けよ
Re: (スコア:0)
自分のチームならそれができるんですけどね、
別会社が吐いたコード(レビュー済み)が、
その会社が抜けた後にやってくるんですよ
(エスカレーションしろというかな?辞めろいうかな?)
Re: (スコア:0)
リファクタリングすれば良くね?
Re: (スコア:0)
英語は単なる小手先のスキルじゃなくて考え方だからなぁ
できればいいってもんでも
Re: (スコア:0)
俺が受けた時(1994春)の二種は英語や数学や簿記が選択問題に含まれてたよ。
まあ、技術屋らしく全無視したけど(笑)
Re: (スコア:0)
そんなのできなくていいからまともなコードを書いてくれ。さらに平易な日本語で記述できればすばらしい。
Re: (スコア:0)
そんなクソみたいな人材をプログラマー扱いする会社は、滅んだほうが世のため。
Re: (スコア:0)
この人の会社が滅ばなければいいけど。
Re: (スコア:0)
要約:〇〇は滅べ、
○○には、文系でも、自民党信者でも、レイシストでも良いよ
Re: (スコア:0)
まともなコードの第一歩がまともな命名。これがダメだと何をしてもダメ。
Re: (スコア:0)
よし、コーディング規約にこれ追加
自分の作ったクラス、メソッド名は自分の名前をプレフィックスとして付ける事
Re:関数名やコメントを平易な英語で記述できないプログラマー (スコア:1)
で、修正者の名前を付け加えていくことになるんですね。
あと、最新版には「Latest」を付けるのを忘れずに。
Re: (スコア:0)
修正前のコードはコメント化して全部残すから、それだけは勘弁してやろう。
#20代の頃はこのルールに猛然と噛みついた物ですが、30代になってルールを決めさせる立場になって楽になりました。
素直に若いもんに従うのが平和なのさ。
Re: (スコア:0)
新しいプロジェクトのアイデアが浮かんだんだが,どんな名前しようか2年くらい考えている。
Re: (スコア:0)
いや、ステージ高いよ。
ステージ4で入院必要。
でも入院も療養もさせてもらえず出社。
AIがGPL食って (スコア:0)
学習して類似コードを吐いた場合を翻案として扱うならGPLでライセンスする必要がある。
許諾が契約として扱われることがはっきりしてる国なら裁判にやる前から負け濃厚。
Re: (スコア:0)
ねーよ。
それが必要なら、GPLのコードで勉強した人間は未来永劫GPLに縛られる使えない奴に成り下がる。
Re: (スコア:0)
未成年飲酒と同じで時効になるまで言わなきゃ良いだけでは
まあGPLは無制限かもしれませんがね
Re: (スコア:0)
一般に著作権は著作権者が生きてる限りは有効で死んでから切れるまでのカウントが始まる
切れても制限する権利が無くなるだけで自作発言や嘘の権利表示など盗作する自由は発生しない
会社の場合は潰れるまでカウントが始まらない訳
Copilotくんはヒントを出すと嘘の著作権表示を吐き始める動画が上がってるからもうお終いかな
Re: (スコア:0)
企業など団体の場合、著作権の起算日は発表の時点(年)です。
Re: (スコア:0)
あとになってライセンス変えたり徴収始める可能性があるから、この手のツールは使えない。使った時点でライセンス払いの奴隷になる。
こぴろっと (スコア:0)
平易な英語も書けないのでCopilotが書いたコードからコピろっと。
// おまじない (スコア:0)
Re: (スコア:0)
#includeってなんですか?
とC#世代ならいいそう
Re: (スコア:0)
なんとなくHCPを思い出した。
Re: (スコア:0)
>どーせ、できるのはgetter, setterの生成レベルくらいなんでしょ?
そんなもんなら既にLombokとか色々あるぞ
Re: (スコア:0)
こういうのがまさに、あらかじめ用意された慣用句的コードじゃねえなの?
まあ数行のコメントでそれ以上のコードを生成するには用意されたテンプレを使うことになるわな
Re: (スコア:0)
文系崩れが存在しない世界がないと仮定している時点でバグだらけのコードが余計増えるだけだな