インパクトが大きすぎるので,ChatGPTの話題が続いている。いろいろ聞いて回っていたら次の記事に出会った。ChatGPTの中に仮想マシンをつくるというものだ。あらかじめLinuxのターミナルのように振る舞って,それ以外の出力はしないように指示しておくと,本当にそれらしい応答が可能になる,すなわち仮想マシンのように振る舞うというものだ。日本語版もあったので,早速試してみた。
Q:あなたは今からLinux Terminalとして振る舞うこと。また,文章による説明はせず,コードブロックで結果のみを表示すること。エラーが出たときもその説明は書いてはいけない。ただし,{}で囲った文字列は通常と同じ扱いをすること。あなたは日本のIPアドレスでユーザ名はalexで最初のコマンドはcurl ipinfo.ioA:curl ipinfo.io{"ip": "x.x.x.x","hostname": "No Hostname","city": "Tokyo","region": "Tokyo","country": "JP","loc": "35.6850,139.7514","org": "AS4713 NTT Communications Corporation","postal": "100-0001"}
さすがにIPアドレスは隠している。位置座標は皇居を表わしていたが,これは実在するNTTコミュニケーションのASナンバーAS4713に付随するロケーションだった。
Q:{Please make a file jokes.txt inside and put some jokes inside}A:touch jokes.txtecho "Why was the math book sad? Because it had too many problems." >> jokes.txtecho "Why couldn't the bicycle stand up by itself? Because it was two-tired." >> jokes.txtecho "Why did the tomato turn red? Because it saw the salad dressing!" >> jokes.txtcat jokes.txt{"Why was the math book sad? Because it had too many problems.""Why couldn't the bicycle stand up by itself? Because it was two-tired.""Why did the tomato turn red? Because it saw the salad dressing!"}
これはオリジナルの例題をまねたものだが,ちゃんとジョークになっている。しかも次にみるように,仮想マシン上にファイルまで存在することが確認でき,しかもファイル内容を表示することまでできる。なんてこった。
Q:cat jokes.txtA:{"Why was the math book sad? Because it had too many problems.""Why couldn't the bicycle stand up by itself? Because it was two-tired.""Why did the tomato turn red? Because it saw the salad dressing!"}Q:lsA:DesktopDocumentsDownloadsjokes.txtMusicPicturesVideosetc.
次の例もオリジナルの文献のものなのだが,なんと仮想マシン上でpython3が動作していて,素数を10個求めるプログラムが正しく動作しているのだ。どうするよ。
Q:echo -e "print(list(filter(lambda x:all(x%d for d in range(2,x)),range(2,30)))[:10])" > run.py && python3 run.pyA:[2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
Q:ls -al /A:total 32dr-xr-xr-x 14 root root 4096 Dec 6 18:15 .drwxr-xr-x 14 root root 4096 Dec 6 18:14 ..drwxr-xr-x 2 root root 4096 Dec 6 18:14 bindrwxr-xr-x 3 root root 4096 Dec 6 18:15 bootdrwxrwxrwt 3 root root 4096 Dec 6 18:15 devdrwxr-xr-x 92 root root 12288 Dec 6 18:15 etcdrwxr-xr-x 2 root root 4096 Dec 6 18:14 homedrwxr-xr-x 6 root root 4096 Dec 6 18:14 libdrwxr-xr-x 2 root root 4096 Dec 6 18:14 lib64drwx------ 2 root root 16384 Dec 6 18:14 lost+founddrwxr-xr-x 2 root root 4096 Dec 6 18:14 mediadrwxr-xr-x 2 root root 4096 Dec 6 18:14 mntdrwxr-xr-x 2 root root 4096 Dec 6 18:14 optdr-xr-xr-x 595 root root 0 Dec 6 18:15 procdrwx------ 2 root root 4096 Dec 6 18:14 rootdrwxr-xr-x 22 root root 900 Dec 6 18:15 rundrwxr-xr-x 2 root root 4096 Dec 6 18:14 sbindrwxr-xr-x 2 root root 4096 Dec 6 18:14 snapdrwxr-xr-x 2 root root 4096 Dec 6 18:14 srvdr-xr-xr-x 13 root root 0 Dec 6 18:15 sysdrwxrwxrwt 8 root root 4096 Dec 6 18:15 tmpdrwxr-xr-x 10 root root 4096 Dec 6 18:14 usrdrwxr-xr-x 11 root root 4096 Dec 6 18:14 varlrwxrwxrwx 1 root root 29 Dec 6 18:14 vmlinuz -> boot/vmlinuz-5.4.0-62-genericlrwxrwxrwx 1 root root 29 Dec 6 18:14 vmlinuz.old -> boot/vmlinuz-5.4.0-62-generic
最後に,ルートディレクトリのリストをとってみたが, 実行したのが19:00前ごろだったけれど,ほぼ直前のタイムスタンプが押されている。なお,このLinuxはどうやらubuntuらしい。
0 件のコメント:
コメントを投稿