
日本語で指示を入力すると、コードを生成するAIが登場 99
ストーリー by nagazou
日本語対応 部門より
日本語対応 部門より
yume 曰く、
有限会社ASRealは「AI Programmer」を発表した(窓の杜)。
日本語で指示を入力すると、コードを生成するAIだそうだ。
現在対応する言語は以下11種。
・SQL
・Python
・HTML & CSS
・スマートコントラクト
・C++
・PHP
・Go
・R
・Perl
・Ruby
・正規表現
試しに「2次元座標上で、任意の2つの座標を指定すると、その中間の座標を返す関数」のような指示をすると、ちゃんと機能するコードを生成した。
一方、「テトリスを作って」というような、ざっくりとしすぎる指示はうまく処理してくれなかった。
これ (スコア:3)
正しく生成されているか確認するのに
結局コード解析しないといけない気が・・・
Re:これ (スコア:1)
「2次元座標上で、任意の2つの座標を指定すると、その中間の座標を返す関数」のテスト関数を作って。
「2次元座標上で、任意の2つの座標を指定すると、その中間の座標を返す関数」のテスト関数が正しく動いてるか確認する関数を作って。
以下略……
Re: (スコア:0)
テストがちゃんと書けてれば、コード解析なんてしなくてもいいんじゃない?
Re: (スコア:3, すばらしい洞察)
むしろ、テストをAIに書かせて、抜けのないようにしたい。そのうちできるようになるのでは。
Re: (スコア:0)
エクセルの計算結果を電卓で検算する人「はぁ?」
C++だと、特に指定しない限り、変数は int ? (スコア:2)
ヘロンの公式を使って、正しく実装してくれたけど、変数の型が、すべて int なのは……。
¶「だますのなら、最後までだまさなきゃね」/ 罵声に包まれて、君はほほえむ。
小松左京・作「こちら“アホ課”」 (スコア:2)
品質保証部「ところで『論理的思考が全く出来ない奴の指示でもコード化出来るか??』とか『論理的思考が全く出来ない奴の指示をコード化出来ないなら出来ないで、コード化出来ない原因を解析出来る適切なエラーログが出るか??』は試したのか??」
設計部門「わかりました。そのケースをテストしますので……」
スラドに聞け!!
このテストケースに必要な人材は?
新人が作るレベルのコード (スコア:1)
「1から10000までの合計値を求める」で作られたコードが以下。
var total = 0;
for (var i = 1; i <= 10000; i++) {
total += i;
}
console.log(total);
間違っては無いけど、非常に素朴で単純な組み方。
うん、まだ私たちの仕事はなくなりそうにない。
# とか思っててお客が「これでいいじゃん」とか言いだしたら困るなぁ
Re: (スコア:0)
インプットに対して正確にアウトプットが得られればお客なんてそれでOKじゃね? どうせ、お客はソースコードなんて確認しないよ。
Re: (スコア:0)
現実には性能とかコーディング規約を守ってとか、もっと注文が多い。
つかコードレビューしないの。
Re: (スコア:0)
コーディング規約はフォーマッタ使えよ
人間が気を付けて守るとか平成でも時代遅れっしょ
性能は仕方ないだろうね
Re: (スコア:0)
フォーマッタで(?)
Java コーディングスタンダード CERT/Oracle 版
https://www.jpcert.or.jp/java-rules/ [jpcert.or.jp]
Re: (スコア:0)
最適化はコンパイラが色々とやってくれる
AOTならそのパターンだと console.log(50005000) になる
JITだと愚直に処理しちゃうけど
Re: (スコア:0)
ファイル名が「氏名.docx」のファイルが複数ある。
これを、「通し番号.docx」にリネームする。
なんか使える場面がありそう。
Re: (スコア:0)
私たちの仕事が1から10000までの合計値を求める優れたコードを書くことなら、AIに取って代わられるのはすぐなんじゃない。
Re: (スコア:0)
「1から-5まで足す」だとこうなった。
int sum = 0;
for (int i = 1; i = -5; ++i) {
sum += i;
}
これはこれでAIっぽくないやり口な気がする。もうちょっと、そこの解釈で転けるかぁ、みたいな斬新なやつを期待したんだけど。
Re:新人が作るレベルのコード (スコア:1)
i = -5 のところ、 < が消えてるけど、いずれにしても即死ワロタ。
Re:新人が作るレベルのコード (スコア:1)
無限ループは死んでないじゃない。
ループに1回も入らずに終了するから「即死」だよ。
Re: (スコア:0)
というかこんなもんこれ以上どこカイゼンすんだよw
Re: (スコア:0)
Lisp
1から100までの合計値を数学の公式を使って求める
(+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100)
うーむ。
こんなの書いてくる新人がいたら匙を投げる。
Re:新人が作るレベルのコード (スコア:1)
SQLも負けてないぞ。
1から100までの合計値を数学の公式を使って求める
SELECT SUM(1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63+64+65+66+67+68+69+70+71+72+73+74+75+76+77+78+79+80+81+82+83+84+85+86+87+88+89+90+91+92+93+94+95+96+97+98+99+100) AS '合計'
Re: (スコア:0)
なぜかLispの選択肢が2つある
Re: (スコア:0)
あ、ほんとだ。
下のほうのLispに同じの投げたら、またも期待外れが返ってきた。
1から100までの合計値を数学の公式を使って求める
total = 0
for i in 1..100
total += i
end
puts total
どう見てもLispじゃない。
Re: (スコア:0)
下の方のLispで何度か繰り返したら、期待したアルゴリズムがでてきたが、
やはりLispじゃなかった。
1から100までの合計値を数学の公式を使って求める
(1 + 100) * 100 / 2 = 5050
Re:新人が作るレベルのコード (スコア:2)
そのやり方にしたって「公式」ではない気がする。
Re: (スコア:0)
12種類のpentominoを6x10の箱に詰める。
(setq box '(6 10))
(setq pentominoes '(
(1 1 1 1 1)
(1 1 1 1 0 1)
(1 1 1 0 1)
(1 1 1 0 1 0)
(1 1 0 1 1)
(1 1 0 1 0 1)
(1 1 0 0 1 1)
(1 0 1 1 1)
(1 0 1 1 0 1)
(1 0 1 0 1 1)
(0 1 1 1 1)
(0 1 1 1 0 1)))
(setq result (fit-pentominoes box pentominoes))
8-queenは
Python「円周率」 (スコア:0)
正規表現「メールアドレスをチェック」 (スコア:0)
メールアドレスをチェックします。
\w+@\w+\.\w+
うーーーーん。
# 意地悪な質問ではあるw
Re: (スコア:0)
もう少し詳しく条件を与えてみた。
Python「マチンの公式で円周率を求める。」
わはは。
Re: (スコア:0)
お題: ニュートン法で123の平方根を求める
解答: Newton's method for finding the square root of 123
あっはい
Re: (スコア:0)
円周率を求める
var pi = 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279
どういうこと? (スコア:0)
このツール自体にAIが含まれているってこと?
それとも、ただのフロントエンドで、”日本語で指示を入力”したものがどこかに送られてコードが返ってくるってこと?
PC内のデータぶっこ抜かれるおそれあるやんw
Re: (スコア:0)
AIより頭悪そうなコメントだな
コメント (スコア:0)
たまに出力結果にコメントが混じったりサンプルデータ的なものが加えられていたりしていることがあって、学習データが透けて見えるのが面白い。
よくあるアルゴリズムのコードを Javascript で出力させると結構頻発する。
Re: (スコア:0)
伝説のprintf("これを入れておくとちゃんと動作する")ははたして見られるのでしょうか。
Re: (スコア:0)
/* このコメント行を削除すると正常に動作しない */
えらい人はいいました (スコア:0)
このポンチ絵からコード生成できる?え?そういう機能じゃない?
よし、勝った! (スコア:0)
のだろうか……
音声データから指定した周波数範囲を抽出する関数を作れ
void extractFrequencyRange(double* data, int n, double lowerFreq, double upperFreq)
{
// YOUR CODE HERE
}
誰かこのC++のコードの解説を頼む (スコア:0)
スラドでもうないが出てくる確率を求める
double スラドでもうないが出てくる確率を求める(double p, int n)
{
double result = 1.0;
for(int i=0; in; i++)
{
result = result * (1.0 - p);
}
return result;
}
巡回問題 (スコア:0)
地図上の都市を一回づつ訪れるのにかかる時間を最小にするためのルートを探す
var map = [
['City1', 1, 2, 3, 4, 5],
['City2', 6, 7, 8, 9, 10],
['City3', 11, 12, 13, 14, 15],
['City4', 16, 17, 18, 19, 20],
['City5', 21, 22, 23, 24, 25]
];
function findRoute(map) {
var shortestRoute = [];
var currentCity = 'City1';
var nextCity = '';
var currentCityIndex = 0;
var nextCityIndex = 0;
var currentCityTime = 0;
var totalTime = 0;
shortestRoute.push(currentCity);
while (shortestRoute.length map.length) {
var currentCityTimes = map[currentCityIndex];
for (var i = 1; i currentCityTimes.length; i++) {
if (i === currentCityTimes.length - 1) {
nextCity = map[0][0];
nextCityIndex = 0;
currentCityTime = currentCityTimes[i];
} else {
nextCity = map[i][0];
nextCityIndex = i;
currentCityTime = currentCityTimes[i];
}
if (shortestRoute.indexOf(nextCity) === -1) {
break;
}
}
shortestRoute.push(nextCity);
totalTime += currentCityTime;
currentCity = nextCity;
currentCityIndex = nextCityIndex;
}
return [shortestRoute, totalTime];
}
Re: (スコア:0)
AIプログラムができるだけ長いコードを生成する質問を探す
var longCode = AIProgram.FindQuestion(x => x.Code.Length);
~というアルゴリズムを実行するコードを作れ (スコア:0)
既に存在する教科書的なルーチンを作ってくれたって
(実用上は)意味がない。
例えば、もっとも効率の良い圧縮ルーチンを作れ、
というお題を与えたってコードは出てこないだろう
(そんなの答えてくれたら、それは'強いAI'だ)
単純作業をコーディングしてくれるだけでも意味があるのかもしれないが
そんなの指示文言考えてあれこれ試している間に自分で書けるわな
言語ごとに出力が違う (スコア:0)
これ言語によって全然出力が違うな
最適なふるさと納税額を計算するプログラム (スコア:0)
「雇用先からの源泉徴収前の収入と金利等による源泉徴収前の収入を入力すると最適なふるさと納税額を計算する」
で出力されるpythonコードは以下でした
Employer_input = int(input("Enter your employer's withholding amount:"))
Interest_input = int(input("Enter your interest income:"))
print("Your total withholding amount is", (Employer_input + Interest_input), "yen.")
Re:最適なふるさと納税額を計算するプログラム (スコア:1)
全収入をふるさと納税に突っ込むという意図なら、「地方自治体にとっては」最適なふるさと納税額で合ってる。
シンギュラリティ (スコア:0)
「日本語で指示を入力すると、コードを生成するAIを作って」
で生成されたコードで同様に繰り返せばシンギュラリティを超えるんじゃないか
Re: (スコア:0)
マジレスすると、そんなどうでもいいことにリソース使うよりもっと優先度の高いことに使ってくれ
原発再稼働を丁寧に説明する
沖縄基地移設を丁寧に説明する
とかな
Re: (スコア:0, すばらしい洞察)
反対する人はどんな丁寧な説明しても聞かないのでリソースが無駄になる
Re: (スコア:0)
「丁寧な説明を行った」という実績はタテマエのために必要なので。
丁寧な説明の対象になってる人が納得しなくても、それ以外の多数を納得させるための必要コスト。
Re: (スコア:0)
まるで関係のないストーリーで無理やり政治の話題に持っていきたがる人の思考回路の解説をお願いしたいかな。