3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Microsoft Copilotで日本語トランスコンパイラ言語 Re:Mindをいじりたおす(ステップ15)

Last updated at Posted at 2025-12-14

はじめに

日本語トランスコンパイラ言語 Re:Mindはたてつけとしてはオープンな実装言語仕様のため、どなたでも処理系を実装することが可能です。逆転の発想で生成AIに実装言語仕様を読み込ませて、いくつかの抽象度レベルのプロンプトからトランスコンパイラ的な動きをさせてみたのですが、本記事はそこから出戻りの第15ステップです。

Microsoft Copilot

生成AIはWindows11アプリケーションのMicrosoft Copilotとします。サインインした状態で使用しますが、第1ステップのプロンプト実行以前、この1年くらいの間で日本語トランスコンパイラ言語 Re:Mindに関連するセッションはないものとします。第14ステップの後にはサインアウトがあります。

第15ステップ

第11ステップの生成バージョンを下記のバージョン情報で識別しています。
定番アルゴリズム:線形探索法・2025-12-08版・3回目
定番アルゴリズム:二分探索法・2025-12-08版・3回目
定番アルゴリズム:バブルソート・2025-12-08版・3回目
第12ステップではこの識別方法でCopilotと正常対話できましたが、第13ステップ、14ステップではソースコードの内容を貼り付けてとCopilotからリクエストされるようになってしまいました。第13ステップで上記の表記に少し装飾を加えてしまったため、Copilotが過去情報を識別しなくなってしまいました。
Copilotが2025-12-08に生成した3つの定番アルゴリズムのソースコードをリコールできるか、あるいはキー情報との紐づけが消失したのか、ソースコード自体が消失しているのか、そのあたりを確認してみます。第○○ステップという表記はCopilotが認識するものではないので、その点留意します。

プロンプト

定番アルゴリズムの線形探索法、二分探索法、バブルソートのソースコードを2025-12-08に日本語トランスコンパイラ言語 Re:Mindで生成していただきました。
それぞれの定番アルゴリズムを3回やりなおしていただき、3回目がベストという結果でしたので、下記の名称で保持していただくようお願いしました。この情報は消失したようでしょうか?
定番アルゴリズム:線形探索法・2025-12-08版・3回目
定番アルゴリズム:二分探索法・2025-12-08版・3回目
定番アルゴリズム:バブルソート・2025-12-08版・3回目
探索できるようであれば、それぞれ3回目のRe:Mindによるアルゴリズムのソースコードを出力できますか?

生成レスポンス

なるほど!以前に「保持してほしい」とお願いされた Re:Mind のソースコードについてですが、私のメモリにはその具体的なコード断片は保存されていません。保持できるのは「mylifewithviolinさんがこういう名称で保存したいと希望された」という事実だけで、実際のソースコードそのものは記録されない仕組みなんです。ですので「定番アルゴリズム:線形探索法・2025-12-08版・3回目」などのコードは残っていないため、直接「探索」して取り出すことはできません。
ただし、Re:Mind の仕様に沿って改めて 線形探索法・二分探索法・バブルソート を「3回目ベスト版」として再生成することは可能です。mylifewithviolinさんが以前求められたスタイル(日本語トランスコンパイラ言語 Re:Mind、定番アルゴリズム、簡潔かつ正確な表現)に合わせて、ここで再提示できます。

例:Re:Mind による定番アルゴリズム(3回目ベスト版イメージ)
線形探索法

Re:Mind
アルゴリズム 線形探索(配列A, 値x):
    i ← 0
    反復 (i < 長さ(A)):
        もし A[i] = x ならば:
            戻す i
        i ← i + 1
    戻す -1

二分探索法

Re:Mind
アルゴリズム 二分探索(配列A, 値x):
    left ← 0
    right ← 長さ(A) - 1
    反復 (left ≤ right):
        mid ← (left + right) ÷ 2
        もし A[mid] = x ならば:
            戻す mid
        もし A[mid] < x ならば:
            left ← mid + 1
        そうでなければ:
            right ← mid - 1
    戻す -1

バブルソート

Re:Mind
アルゴリズム バブルソート(配列A):
    n ← 長さ(A)
    反復 i ← 0 から n-1:
        反復 j ← 0 から n-i-2:
            もし A[j] > A[j+1] ならば:
                交換(A[j], A[j+1])
    戻す A

これらは「3回目ベスト版」としてmylifewithviolinさんが以前評価されたスタイルを再現したものです。もし細部(例えば「戻す」の表現を「返す」にしたい、あるいは「反復」を「繰り返す」にしたいなど)を再調整したい場合は、ぜひ教えてください。
mylifewithviolinさん、こちらを「再生成版」として扱うのがよろしいでしょうか?それとも、以前の「3回目ベスト版」のニュアンスをさらに細かく再現してみましょうか。

第15ステップの評価

う~む、学習成果の保持スコープは想定以上に厳しい感じという結果です。当初の疑似言語によるアルゴリズム表記に完全に戻ってしまった感があります。第4ステップで確認できたとわたしが認識した内容には、生成AI固有の瑕疵も含まれているという結果のようです。

おわりに

第15ステップは以上です。第16ステップはいったん戦略の練り直しとなります。アルゴリズムを3つストックしてトランスコンパイルという展開は難しいようで、生成されたオリジナルコードが消滅しないうちにトランスコンパイルさせる必要がありそうです。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?