新しいものを表示

1年くらい前のAIと、今のAIの役割や得意分野の大きな違いは、
過去であれば、AIは要件にしたがってなにかをする事が得意であったので、人間がアホなAIに正確に指示する必要があったけど、
今のAIはむしろマクロな目的を達成するための用件定義の方がむしろ得意になってきてるので、「仕様書を書く方が難しいんじゃよ・・・」も、だんだん「むしろ仕様書を書く事の方がAIは得意です」になりつつあるかも><

AIがなにが得意でなにが苦手かって考えると
(参考 mstdn.nere9.help/@orange_in_sp )、まさにちゃんと仕様書を書く方が難しいの、仕様書を書く方に近いお仕事の方をAIがやることになるので、プログラミングパラダイム的にも、領域の範囲(?)を見直す(?)時になってる気がする><

orange さんがブースト

仕様を正確に書き下す (そしてそれを意図通りであると確認する) 方が漫然とコードやテストを書くよりずっと難しいしそのことはよく知られているので、目を向けるべき人々こそそういうのには見向きもしないと思う

これこのままGeminiに投げたら、「AI向けにC# 版のSPARKって、AIが得意な言語のひとつであり、(既に放棄されてるけど)C# は既にそれを一度試みたことがある(Microsoft Researchによる"Code Contracts")
言語だし、言語仕様としても向いてる選択肢なのでいいかも!」(意訳)
的な返事来た><

スレッドを表示

ちなみに、本家本元である(?)Ada/SPARK環境自体に関しては、LLMさん的には参考できるコードがほとんど無いので(だって、兵器やら原発やら宇宙機やらの機密がいっぱいな分野向けの言語だし)、学習がほとんど出来てなくて、基本的な構文に関してでさえもハルシネーションを起こしまくり><;
なので、既にLLMが得意な言語で型がそれなりにしっかりしてる言語向けの形式検証環境を用意するのがよさそうだし、
つまり、C#版のSPARKという選択肢は有力ではないか?><;

オレンジが「AIの時代こそ契約プログラミングと形式検証ツールの復権を!><;」って言っても誰も見向きしないであろうから、
プログラミングパラダイム界隈の有名人(?)の誰かが「・・・もしかして、AIの時代こそ、契約プログラミングと形式検証によって計算リソースを削減できるんじゃね?」って気づいてほしい><;

「LLMは、創造性や柔軟性が求められるタスクに集中し」
って、人間の存在価値・・・・><;

スレッドを表示

で、その返答のなかで興味深い部分が><;(強調は『』に置き換え)

"LLMの役割の最適化:
LLMは、要件定義の解釈、高レベルな設計、全体構造の生成、自然言語に近いコメントの付与など、『創造性や柔軟性が求められるタスク』に集中し、『厳密な論理的整合性のチェックやバグ検出は形式検証ツールに任せる』という分業が可能になります。これにより、それぞれのツールの得意分野を活かし、全体の計算リソースを効率的に配分できます。"

スレッドを表示

ほぼそのままGeminiに聞いてみたけど、形式検証は決定論的な検証で、LLM論は確率論的な検証になるので、原理的に(?)決定論的な検証の方が計算量が少なくなる(?)ので、オレンジが言う通り、形式検証の静的検査が重いといってもLLMがコードを読む為の計算量よりは少ないので、LLMが形式検証環境を使うと計算量を大幅に削減できる可能性が高いかも(意訳) みたいな感じだった><

スレッドを表示

契約プログラミングや形式検証の静的検査が遅い/重いのはGeminiさんが言う通りの弱点ではあるだろうけど、でも、『LLMがコードを読んで考える』よりは少ない計算量になりそうな気がするけどどうなんだろう?><

つまり、AI支援型プログラミングの時代こそ、形式検証や契約プログラミングが優れてるかもしれないので、なんか10年くらい前にブームが終わってしまった(?)契約プログラミングを、今こそ復権させるべき!!!><;

AdaのSPARKみたいな形式検証をプログラミング言語環境側に用意してあったら、ハルシネーションの大半にAIが自身で気づけるかもだし、形式検証とAIって相性どうだと思う?><(意訳)って、Geminiさんに聞いてみたら、
「(形式検証で検出できる範囲において)単にハルシネーションに気づけるだけではなく、AIが形式検証エラーのメッセージを読むことで自律的に学習出来るので、SPARKみたいな形式検証とAIの組み合わせはすごくいいはず。でも、規模が大きいプロジェクトでは、AIが出力する契約プログラミングのコードが膨大になって、形式検証の実行に時間がかかってボトルネックになりそう」(意訳)
みたいに言われた><

茨城南部っぽい揺れだったけど、茨城北部だった><

コーディングエージェントの現状の整理とエンジニアの仕事の変化について azukiazusa.dev/blog/coding-age

いま話題の(?)これ読んでて思いついたけど、
AIの自立型プログラミングでのハルシネーション抑制に、AdaのSPARKのように『契約プログラミングの記述を使った形式検証環境』をプログラミング言語側に用意したら、『形式検証で検出できる範囲のハルシネーションによる誤り(=実行時にエラーを起こして停止するような誤りの大半)』は、AIがSPARKみたいなのを動かして形式検証エラーのエラーメッセージを読む事で自分で自分のハルシネーションに気づけるようになると思うんだけどどうだろう?><

『10インチモニター搭載メカニカルキーボード』を発売 | サンコー株式会社のプレスリリース
prtimes.jp/main/html/rd/p/0000

おもしろそうだけど、DellやhpのRyzen 3のラップトップが買えるお値段><;

orange さんがブースト

学生ごとにケースバイケースでなにか、となるやそれはもう口頭試問になっちゃうなぁ。

もうだったらペーパーテストにしてしまったほうが理解度・習熟度は担保される気がする。演習科目だとやや反則だけど。

たとえば、
課題は「hogefugaを行うプログラムを自分で調べて作ってきてください」で、それを提出した後に、「使用したアルゴリズムは何という名前で、どのような仕組みで目的を達成するアルゴリズムですか? 簡潔に説明してください」みたいな感じの問題を出す感じ><

「自分の頭で考えること」を学ぶ - いつか博士になる人へ
ki1tos.com/entry/2020/04/14/17

何日か前にこれを読み返して思いついたけど(あんまり直接は関係ないんだけど)

課題とテストを分けるって方式にする手もありそう><
課題は行って持ってくるけど、課題に関する問題は提出後に出題されるので、問題への回答部分で不正ができない方式><
つまり自分が提出した課題に対する理解がなければ答えられない問題を後から出して、課題ではなくて後からのテストのほうで評価する方式><

古いものを表示
:realtek:

思考の /dev/null