SVX日記

2004|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|12|
2025|01|

2025-01-02(Thu) ヴァリアブル・ジョイスティック「JS-2V」をさらに改良

  ホームセンタのバラ売りを買ったのだが、ケース内に長さの違うネジが混在しているのに気づかず、イザ締めようとした時に気づいてビックリ。1本はギリギリの長さだった。確認しなかったのは悪いが、ちゃんと元に戻しとけよな。まぁ、表面からは見えないからこれでよしとする。なんか、レイトレーシングCGっぽいな。ネジの頭にボールが映り込んでいるしw。

  画像の説明

  トラスネジは表面に頭が突出することを前提に、そこそこ美しさに配慮したタイプのネジだ。んが、実際の業務用の筐体では、内側のフレームにネジ止めするので、表面にはネジ頭が出ないのが正解なのだな。でもまぁ、自分のプレイスタイルでは、さほど邪魔になるわけでもないのでこれでよしとする。

  画像の説明

  一方で、裏のレバーの8/4方向の切り替えプレートを止めているネジを、手回し可能なものに交換した。実際に使ってみると想像以上に頻繁に切り替えが必要だったので。さほどガッチリと締め上げる必要のないネジなので、手回しで問題ないし。これはだいぶ大きな改良だな。

  ちなみに、トラスネジは28x4円。手回しネジは10本で128円。

  今回のアケコン製作の動機の大半はドルアーガだったのだが、なんかすっかり腕が落ちていてリハビリ中だ。老化するよりも早く杵柄を確立しなくては。ところで、複数の場所で見かけるのが「ドルアーガの上手い人はカッコいい」という記述だ。ドルアーガを知らない人がそう思う訳はないので、それなりにドルアーガをプレイしてきた人でそう思う人が多い、ということなのだろうが……ムッチャわかるんだよな、これ。何度か書いたが「起きうる理不尽気味な不運を咄嗟の状況判断で可能な限り抑え込んでいく」という、その奇跡のようなゲームバランスを知るからこそ、上手い人にリスペクトを感じてしまうのだ。宝箱の出し方の覚えゲー、という見方は側面のごく一部なのだ。ホント、1984年に出たとは思えない、始祖にしてオーパーツのようなゲームなんだよなぁ。


2025-01-04(Sat) 友人とのやりとりを自動化するXalebot-tmo

  先日、亀岡にドライブした夜に「AIとSF」というアンソロジを買って読み始めたのだが、その中の「没友」という作品には唸らされた。人とのやりとりをAIによる代理応答に任せることや、バーチャルに旅行することが当たり前になった時代。旧い友人とのやりとりの末、一緒にバーチャルな旅行に出かけたのだが、カフェで友人が語り出したエピソードから驚愕の事実を知る……という話。

  「没友」は「ぼっとも」と読むのだろう。「ボット」と掛けているわけだ。友人への返信を「ボット」に任せるなんて、なんとも失礼な話だが、メールでのやりとりに限れば、AIによる代理応答は既に実用域なんじゃないだろうか。仕事のどうでもいい相手からのメールなんて、AIに勝手に回答させておけばいい。ヘタすりゃ、こっちが死んでいても、相手は気づかずに給料は支払われ続けるかもね、などとカミさんと冗談交じりに話していた……のだが、ん? それって、別に冗談でもなんでもなく、既に実現可能なのでは? 先日に作ったXalebotを少し改造する程度で。名付けて「Xalebot-tmo」。「tmo」は「Thoughtless Mail Operator」の略。「ザレぼっとも」と読む。

  というわけで、取り組んでみたところ、改造というよりは、AIに与えるプロンプトとメール文面のカスタマイズ程度で済んでしまった。こんな感じ。

# 各プロンプト
@configs[:prompt] = {}
 
#configs[:prompt][:ex_q] = '以下の文章から、名乗りを含む挨拶部分、引用部分を除き、質問内容だけを抜き出してください。'
#configs[:prompt][:ex_a] = '以下の文章から、名乗りを含む挨拶部分、引用部分を除き、回答内容だけを抜き出してください。'
#configs[:prompt][:is_q] = '以下のような問い合わせがありました。'
#configs[:prompt][:is_d] = '以下の回答を行いました。'
#configs[:prompt][:mk_a] = 'それに対する回答案の作成を%sお願いします。'
 
@configs[:prompt][:ex_q] = '以下の文章から、引用部分を除き、内容をそのままの抜き出してください。'
@configs[:prompt][:ex_a] = '以下の文章から、引用部分を除き、内容をそのままの抜き出してください。'
@configs[:prompt][:is_q] = '以下のようなメールがありました。'
@configs[:prompt][:is_d] = '以下の返信を行いました。'
@configs[:prompt][:mk_a] = <<MK_A
それに対して返信内容の作成を%sお願いします。
なお、以下の例文に近い口調でお願いします。
「ふるたです。
 
はいはい、OKですよ。金曜ね。
 
ヤベシは休暇なのだよね。到着時刻はいつ?
時間によっては、自分がちょっと早退してもいいけど。
呑みは例によって、しげか月姫がいいな。
できることなら、カラオケは呑みより先にしたい。
 
ちなみに、金曜なら犬川くんは誘えばくるかもしれんが、
例のカラオケ問題があるから、ちと微妙かも。
 
ということで。
 
15時に抜けて、ホテルに迎えに行き、カラオケ2時間、
18時頃からしげで焼き鳥、締めはその辺でコーヒーって感じかな。
 
まー、彼の場合、たぶんそういうんじゃないんだよな。
 
15時始めだと、一緒に職場抜けるわけにもいかんし、まぁ、今回は誘うのはヤメとくか。
ヤベシがゴリゴリに押すなら考えなくもないけど。
 
宿は了解しました。そこ、歌のレッスンに行くときに通る道のすぐ脇だわ。」
MK_A

  最後、返信内容の作成指示がちょっと長いが、メールの文面を自分っぽくするために、過去に自分が返信した2通のメールの文面を渡しているからだ。今回は、適当に手動で見繕って固定的に与えているが、返信する相手によって、実際に過去に自分が返信したメールの文面を呼び出して渡すことも容易に実装できるだろう。

  で、ChatGPTの、今回は最新に近い「o1-preview-2024-09-12」を使って動作事例を作ってみた。それが以下である。

  画像の説明

矢部です。
 
7/29の10時〜7/30の12時半まで名古屋金山でお仕事でいます。
もしよろしければ、7/30の13時頃からあそびませんか?
遊べるようであれば、7/30の宿泊を取りますので早めにご連絡いただけると嬉しいです。
 
よろしくお願いします。

  名前は仮名の矢部くんにしてあるが、ほぼ実際に過去に友人から受け取ったメールである。で、自動生成された返信が以下。

ふるたです。
 
はいはい、OKですよ。7/30ね。
13時から遊べるとのこと、いいですね。ランチでもしながらゆっくり話そうか。
その後、もしよければカラオケでも行きます?できれば最初にカラオケ行きたい派なんだよね。
呑みは夜にでも、いつもの「しげ」か「月姫」がいいかな。
 
ところで、犬川くんも誘ってみる?でも例のカラオケ問題があるから、ちょっと微妙かもね。
まぁ、ヤベシが強く望むなら考えるけど。
 
宿泊の件、了解しました。早めに予約しておくと安心だね。
当日を楽しみにしてます。
 
ではでは。

  先に例示した文面に内容が引きずられすぎている傾向はあるが、意図はちゃんと消化されていて特段の矛盾はない。自分(オレ)から見ると文面のクセはちょっと違うが、数十行程度の例示でこの文面なんだからデキすぎレベルだろう。

矢部です。
 
返事ありがとうございます。
日曜日のホテルは伏見駅近く(ホテルハルミトンブラック)です。
なので、待ち合わせ場所は伏見駅近くがうれしいです。
待ち合わせ時間は13時頃を希望します。
お昼は各自済ませるか、一緒に食べるかどちらにしましょうか?

  さらに、ほぼ実際に過去に友人から受け取ったメールを返信してみる。で、自動生成された返信が以下。

ふるたです。
 
はいはい、OKですよ。7/30の13時、伏見駅ね。
宿も了解しました。ホテルハミルトンブラックか、あそこは場所的に便利だよね。
ランチは一緒にしましょうか。お腹も空くだろうし。
伏見の近くに美味しいパスタのお店があるんだ。そこに行ってみない?
その後は、カフェでゆっくりお茶でもしながら話そう。
 
そういえば、犬川くんも誘おうかと思ったけど、日曜は予定があるかもしれないし、今回は見送っておくよ。
ヤベシがぜひというなら連絡してみるけど。
久しぶりに会えるのを楽しみにしてるよ。
では、当日は13時に伏見駅で待ち合わせましょう。
 
よろしく!

  現実の自分(オレ)には「伏見の近くに美味しいパスタのお店」の心当たりはないが、返信内容としては特段の矛盾はない。よく見るとホテル名のタイプミスまで修正されている。これ、実際に友人の矢部くん(仮名)が受け取っても気づかないだろうな。

矢部です。
 
お昼を一緒に食べる件は了解しました。
私の方でも2,3見繕っておきます。
その後の予定はノープランなのでお任せします。
大須まで足伸ばすのもありかもしれませんが、暑そうなのでどうですかね。
夜の食事場所はフルタのお任せに甘えてもいいですか?

  さらに、ほぼ実際に過去に友人から受け取ったメールを返信してみる。で、自動生成された返信が以下。

ふるたです。
 
ヤベシ、お昼一緒に食べるの了解。
こっちでもいくつかお店をピックアップしておくよ。
 
午後はノープランとのことなので、涼める場所を考えておく。大須もいいけど、確かにこの暑さは厳しいかもね。
夜の食事場所は任せてくれてOK。良さそうな店を探しておくよ。
 
宿は伏見のハミルトンブラックね。そこ、よく通る道だよ。
じゃあ、当日は13時に伏見駅で待ち合わせで大丈夫かな?
 
当日、楽しみにしてるよ。

  ちょっと最後の確認が繰り返されているが、明確な確認がなされなかったからか? なんにせよ、許容範囲ではないかと思う。うーむ、実際に代理応答させていれば、約束をすっぽかすことになるが、代理応答としては完走してしまったと言えるんじゃないだろうか。

  これ、実際に友人に対して使うつもりはないけれど、こんな簡単な仕掛けであっても、相手側からすれば十分に自分(オレ)が存在しているように見えるわけで、それこそ、こっちが死んでいても気づくことは難しい。それって、ネット上に自分(オレ)が存在していると言っても、もはや過言ではないのではないか。

  今やSF的な「肉体を捨ててサイバースペースで生きる」という概念に新鮮さを感じることはないけれど、どうやって「精神をサイバースペースに転送するのか」という疑問に対しては、現実が先に結論を出してしまった気がする。つまり「AIに『クセ』を覚え込ませること」がそれなのだ。

  昔「ザ・フライ」という映画を観て「肉体の物質転送」が、実は「複製」と「削除」との2ステップで実装されていたならば、転送先の自分は「他人にとっては自分でも、自分にとっては他人ではないか?」という発想でSFを書いたことがあるのだが「肉体を捨ててサイバースペースで生きる」ってのも、なんだかそれに似たような薄ら寒さを感じるなぁ。