パスワードを忘れた? アカウント作成
15812771 story
プログラミング

日本語で指示を入力すると、コードを生成するAIが登場 99

ストーリー by nagazou
日本語対応 部門より
yume 曰く、

有限会社ASRealは「AI Programmer」を発表した(窓の杜)。
日本語で指示を入力すると、コードを生成するAIだそうだ。

現在対応する言語は以下11種。
・SQL
・Python
・HTML & CSS
・スマートコントラクト
・C++
・PHP
・Go
・R
・Perl
・Ruby
・正規表現

試しに「2次元座標上で、任意の2つの座標を指定すると、その中間の座標を返す関数」のような指示をすると、ちゃんと機能するコードを生成した。

一方、「テトリスを作って」というような、ざっくりとしすぎる指示はうまく処理してくれなかった。

  • by junichi308 (15687) on 2022年10月05日 13時19分 (#4339031)

    正しく生成されているか確認するのに
    結局コード解析しないといけない気が・・・

    ここに返信
    • by Anonymous Coward on 2022年10月05日 13時36分 (#4339045)

      「2次元座標上で、任意の2つの座標を指定すると、その中間の座標を返す関数」のテスト関数を作って。
      「2次元座標上で、任意の2つの座標を指定すると、その中間の座標を返す関数」のテスト関数が正しく動いてるか確認する関数を作って。
      以下略……

    • by Anonymous Coward

      テストがちゃんと書けてれば、コード解析なんてしなくてもいいんじゃない?

      • Re: (スコア:3, すばらしい洞察)

        by Anonymous Coward on 2022年10月05日 16時03分 (#4339208)

        むしろ、テストをAIに書かせて、抜けのないようにしたい。そのうちできるようになるのでは。

    • by Anonymous Coward

      エクセルの計算結果を電卓で検算する人「はぁ?」

  • 3辺の長さを入力して、三角形の面積を算出する。

    ヘロンの公式を使って、正しく実装してくれたけど、変数の型が、すべて int なのは……。
    --
    ¶「だますのなら、最後までだまさなきゃね」/ 罵声に包まれて、君はほほえむ。
    ここに返信
  • 品質保証部「ところで『論理的思考が全く出来ない奴の指示でもコード化出来るか??』とか『論理的思考が全く出来ない奴の指示をコード化出来ないなら出来ないで、コード化出来ない原因を解析出来る適切なエラーログが出るか??』は試したのか??」
    設計部門「わかりました。そのケースをテストしますので……」

    スラドに聞け!!
    このテストケースに必要な人材は?

    • 政治家
    • 一代で会社を自分の会社をデカくした経営者
    • いわゆる「コミュ力」が高くて、体育会系の文化にドップリな人
    • twitter上の有名人
    • 自己認識が「理性的な現実主義者で合理主義者」の人なら誰でも
    ここに返信
  • by Anonymous Coward on 2022年10月05日 13時42分 (#4339054)

    「1から10000までの合計値を求める」で作られたコードが以下。

    var total = 0;

    for (var i = 1; i <= 10000; i++) {
        total += i;
    }

    console.log(total);

    間違っては無いけど、非常に素朴で単純な組み方。
    うん、まだ私たちの仕事はなくなりそうにない。
    # とか思っててお客が「これでいいじゃん」とか言いだしたら困るなぁ

    ここに返信
    • by Anonymous Coward

      インプットに対して正確にアウトプットが得られればお客なんてそれでOKじゃね? どうせ、お客はソースコードなんて確認しないよ。

      • by Anonymous Coward

        現実には性能とかコーディング規約を守ってとか、もっと注文が多い。
        つかコードレビューしないの。

        • by Anonymous Coward

          コーディング規約はフォーマッタ使えよ
          人間が気を付けて守るとか平成でも時代遅れっしょ

          性能は仕方ないだろうね

    • by Anonymous Coward

      最適化はコンパイラが色々とやってくれる
      AOTならそのパターンだと console.log(50005000) になる
      JITだと愚直に処理しちゃうけど

    • by Anonymous Coward

      ファイル名が「氏名.docx」のファイルが複数ある。
      これを、「通し番号.docx」にリネームする。

      import os

      path = "."
      files = os.listdir(path)
      i = 1

      for file in files:
      os.rename(file, str(i) + ".docx")
      i += 1

      なんか使える場面がありそう。

    • by Anonymous Coward

      私たちの仕事が1から10000までの合計値を求める優れたコードを書くことなら、AIに取って代わられるのはすぐなんじゃない。

    • by Anonymous Coward

      「1から-5まで足す」だとこうなった。

      int sum = 0;
      for (int i = 1; i = -5; ++i) {
      sum += i;
      }

      これはこれでAIっぽくないやり口な気がする。もうちょっと、そこの解釈で転けるかぁ、みたいな斬新なやつを期待したんだけど。

    • by Anonymous Coward
      これでいいじゃん
      というかこんなもんこれ以上どこカイゼンすんだよw
    • by Anonymous Coward

      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)

      うーむ。
      こんなの書いてくる新人がいたら匙を投げる。

      • by Anonymous Coward on 2022年10月05日 15時36分 (#4339185)

        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 '合計'

      • by Anonymous Coward

        なぜかLispの選択肢が2つある

        • by Anonymous Coward

          あ、ほんとだ。

          下のほうのLispに同じの投げたら、またも期待外れが返ってきた。

          1から100までの合計値を数学の公式を使って求める

          total = 0

          for i in 1..100
              total += i
          end

          puts total

          どう見てもLispじゃない。

      • by Anonymous Coward

        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は

  • by Anonymous Coward on 2022年10月05日 13時34分 (#4339042)
    print("円周率は3.14です")
    間違ってはいない。
    ここに返信
    • メールアドレスをチェックします。

      \w+@\w+\.\w+

      うーーーーん。
      # 意地悪な質問ではあるw

    • by Anonymous Coward

      もう少し詳しく条件を与えてみた。
      Python「マチンの公式で円周率を求める。」

      from math import pi
      print(f"Pi is equal to {pi:.3f}")

      わはは。

    • by Anonymous Coward

      お題: ニュートン法で123の平方根を求める
      解答: Newton's method for finding the square root of 123

      あっはい

      • by Anonymous Coward

        円周率を求める

        var pi = 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279

  • by Anonymous Coward on 2022年10月05日 13時35分 (#4339044)

    このツール自体にAIが含まれているってこと?
    それとも、ただのフロントエンドで、”日本語で指示を入力”したものがどこかに送られてコードが返ってくるってこと?
    PC内のデータぶっこ抜かれるおそれあるやんw

    ここに返信
    • by Anonymous Coward

      AIより頭悪そうなコメントだな

  • by Anonymous Coward on 2022年10月05日 13時48分 (#4339064)

    たまに出力結果にコメントが混じったりサンプルデータ的なものが加えられていたりしていることがあって、学習データが透けて見えるのが面白い。
    よくあるアルゴリズムのコードを Javascript で出力させると結構頻発する。

    ここに返信
    • by Anonymous Coward

      伝説のprintf("これを入れておくとちゃんと動作する")ははたして見られるのでしょうか。

      • by Anonymous Coward

        /* このコメント行を削除すると正常に動作しない */

  • by Anonymous Coward on 2022年10月05日 14時18分 (#4339093)

    このポンチ絵からコード生成できる?え?そういう機能じゃない?

    ここに返信
  • by Anonymous Coward on 2022年10月05日 14時25分 (#4339096)

    のだろうか……

    音声データから指定した周波数範囲を抽出する関数を作れ

    void extractFrequencyRange(double* data, int n, double lowerFreq, double upperFreq)
    {
            // YOUR CODE HERE
    }

    ここに返信
  • by Anonymous Coward on 2022年10月05日 14時55分 (#4339127)

    スラドでもうないが出てくる確率を求める

    double スラドでもうないが出てくる確率を求める(double p, int n)
    {
    double result = 1.0;
    for(int i=0; in; i++)
    {
    result = result * (1.0 - p);
    }
    return result;
    }

    ここに返信
  • by Anonymous Coward on 2022年10月05日 14時56分 (#4339128)

    地図上の都市を一回づつ訪れるのにかかる時間を最小にするためのルートを探す

    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];
    }

    ここに返信
    • by Anonymous Coward

      AIプログラムができるだけ長いコードを生成する質問を探す

      var longCode = AIProgram.FindQuestion(x => x.Code.Length);

  • by Anonymous Coward on 2022年10月05日 15時12分 (#4339149)

    既に存在する教科書的なルーチンを作ってくれたって
    (実用上は)意味がない。
    例えば、もっとも効率の良い圧縮ルーチンを作れ、
    というお題を与えたってコードは出てこないだろう
    (そんなの答えてくれたら、それは'強いAI'だ)
    単純作業をコーディングしてくれるだけでも意味があるのかもしれないが
    そんなの指示文言考えてあれこれ試している間に自分で書けるわな

    ここに返信
  • by Anonymous Coward on 2022年10月05日 15時14分 (#4339154)

    これ言語によって全然出力が違うな

    ここに返信
  • by Anonymous Coward on 2022年10月05日 15時19分 (#4339164)

    「雇用先からの源泉徴収前の収入と金利等による源泉徴収前の収入を入力すると最適なふるさと納税額を計算する」

    で出力される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.")

    ここに返信
  • by Anonymous Coward on 2022年10月05日 15時34分 (#4339182)

    「日本語で指示を入力すると、コードを生成するAIを作って」
    で生成されたコードで同様に繰り返せばシンギュラリティを超えるんじゃないか

    ここに返信
typodupeerror

弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家

読み込み中...