自分とは何か。
これは作品を通して描かれる。
大体のメンタルモデルが目的・行動の中で行き着く悩みの果てだった。
自分を求める中で、
あるものは人を家族、あるものは友を想い、あるものは異性を想う。
皆それ相応の歪さを持つが、理解し合おうとする。
その中で、わたしに近いと感じたメンタルモデルが、ハルナだった。
史実、金剛型3番艦 戦艦榛名がモデルとなっている。
- 神戸の川崎造船所で建造された民間造船所初の国産戦艦です。
- 度重なる大規模改装により高速戦艦へと生まれ変わり、太平洋戦争では
最前線で過酷な任務をこなしながら終戦まで生き抜いた歴戦の艦
- 太平洋戦争ではマリアナ沖海戦やレイテ沖海戦など数々の激戦に参加しました。
らしい。
(私自身今は神戸住なのでますます親近感が沸いた。どこかに資料館はないものか。)
私の中学、高校時代はそのような史実を擬人化するという遊びが当時は流行っていた。
その中の作品の一つが冒頭タイトルにもある蒼き鋼のアルペジオである。
作品におけるハルナは、
作中、”知らないワード”と”それに関連する行動”が結びつく際、
「タグ添付。分類、記録」と言う。
ドジっ子属性があり、ちょっと抜けているところがある。かわいい。
また、普段の装いは、身長とほぼ同じくらい、顔の半分も出でない
ロングコートに身を隠している。
子供の様な体つきをコンプレックスとしているのだろう。
そんな、彼女も気を許すと日常パートでは、コートを脱ぎ、
”年相応に見える態度”を見せるようになる。
このメモリスキルが欲しい。
なぜこの話を持ち出したか。
それは、わたしもハルナのように、
自分の言葉、今の自分しか残せない言葉でメモリしておきたい。
わたしは、自分の言葉を適切なタイミングで引き出すことが不得手のようだ。
言いたいことはあったのに、引き出すことができず、そのまま流れてしまう。
そうして失ったものも多いだろう。
入出力系統を、自分のフィジカルではなく、
外部システムとしてローカルに構築したい。そして望むタイミングで引き出す。
という仕組みを持つことが、わたしの目標だ。
幸い、技術が追いつきつつあり、同じようなことを実践できそうだということに
希望を見出した。
作中のハルナがやっていたことを想像するに以下の通りだ。
- 本当に忘れたくない記憶を自分のメモリではなく、ローカルな外部メモリにタグ付分類保存する。
→半永久的に残して置ける。再生できる。
最も『友達』という言葉を人間の少女『刑部蒔絵』との交流を通して学んだ。
彼女の心境の変化もそれからだったように思う。
関連知識を人に説明したい。
わたしが把握している範囲の事柄で、今ある技術についてを話すとこうなる。
当然 AIだ。
※※※
ここで話すのは、
現時点でのローカルなLLM開発に関連する話を含む愚痴で、
実際に組んだとかを話すものではないことをご了承いただきたい。
※※※
今日主流になっているChatGPTやClaudeと言った自由度の高いAIツールは、
LLM(大規模言語モデル)を軸に実装されている。
端的にLLMとは、確率論的に文章入力を読み解き、分類し、並べて、
それっぽい文字列を出力することに長けているデータの塊だ。
正直この話をする上では、あらゆる言語問わず理解する力に優れているという点を抑えておくだけでいい。
また、話を一気に飛躍させると、PC上の機械的なプログラムを動かす権利をLLMに
渡してしまうことで、確率論的にそれらのプログラムを実行させることが可能。
ということだ。
ただこのLLMのみでは、機能として、精度よく実行できない。
今、世間のAIプログラマと呼ばれる人たちの多くの悩める理由が、
この制御部をコントロールする仕組みを作ることにあると思っている。
この総称を、ハーネスエンジニアリングと言うらしい。
脱線するが、今AIを取り巻くエンジニアリングとして様々な言葉が乱立している。
プロンプトエンジニアリングやコンテキストエンジニアリング、
そしてハーネスエンジニアリングだ。
一般にAIを使う人からは縁遠い言葉で、知る必要もないかもしれないが、
AIの裏側を見ている人は、日々更新されている言葉に
てんやわんやさせられている。
AI指示
話を戻して、AIに指示をしたとする。
「タグ添付。分類、記録」と。
冗談だ。そこまで抽象化した指示ではおそらくまだできない。
作中では、視覚情報など五感の情報も一緒に、この指示のみで、
かなりを分類・記録されているのだろう。
マルチモーダル的仕組みはできつつある中でも、そこまで高度なことは
実用問題まだだ。
ただ、今有り合わせのものでできそうなことを一例として考えるなら、
こうだろうか?
例 /tag-save-text "ファイル名.md" or "データベース名" "保持したい文章"
この処理を行うのに、LLMとそれを取り巻く制御部は何をしているか。
すべて分解していかねばなるまい。
①LLMの自然言語の理解力
ここには近年目覚ましいものがある。
まず、どうしたい。どうしてほしい。を
LLMは、LLMが持つ特有のばらつきによって、分類できる。
このばらつきにこそ、確率論的がある。 LLMを使う理由、肝の部分だ。
LLMに対する文字列入力では、文字列を単語や一文字単位に分解し、
関連性の高い文字をばらつきをもって見つけ出すことをしている。
また、LLM制御パラメータの一つに、"temp"(直訳は温度)が存在し、
出力のばらつきを制御している。
このあたり気になった方は、関連書籍やOllamaの公式Documentを
読んでみてほしい。
これらによって、今までのAIには実行不可能だった作業が可能になり、
機能を渡すことができるようになった。
②スキルの実行
次に、先頭の/tag-save-textでのLLMへの直接的な指示が可能な点。
この様なスラッシュコマンドが
日本のAIツールを使う界隈で注目され始めたのは、2026年初頭からだろうか。
(ツールであればもっと前から合った気はするが)
この、Skillsという概念。
端的に言えば、プロンプトエンジニアリングされたもの、
指示命令(プロンプト)の一覧表と言える。
(作品的に言えば、アドミラリティ・コードになるのかな。)
あるファイルに自然言語ベースの命令文 または、
特定の処理を行うプログラム本体を用意して置き、
命令文をトリガーとして実行するものだ。
トリガー機構は、〇〇してという指示を表す文字列と
機械的処理を紐づけるためにある仕組みになる。
また、機械的は、確率論的とは対照に、100%エラー等の例外が発生するしない
限りは、決められた機能通りの動作する処理を言う。
AIツール上ではスキルやプラグインなどと呼ばれ、LLMの機能を拡張する使い方が示されているものになる。
/tag-save-textが、
LLMで文字列の情報を分類して指定する箇所に保存する機能であるならば、
- LLMがプロンプトを読み込み、コマンドや機械的処理を実行する。
- 実行結果を文字列として、LLMが再度読み、次のコマンドや機械的処理を実行する。
この繰り返しが裏で行われている。処理の流れは以下の通りだ。
①LLMと取り巻く制御部が、tag-save-textを指示されたら、機械的に
関連ワードが書かれたファイルのあるフォルダを見に行く。
②ファイルを見たら、指示文通りに事を運ばせようと、
機械的、確率論的、両方の性質を利用して処理を進めていく。
③"ファイル名.md or データベース名"で指定しているメモリへ、
ファイル名ならそのファイルに、データベースならそのテーブルへと
保存する。
④完了した旨を伝える文字列をUI上に表示する。
このトリガーの連続的挙動が今日のAIをAI足らしめている理由だろうか。
コマンドを打つ以上、これまでの操作方法と変わらない点は
いまだ発展途上だとも言えるところだ。
先ほども、「タグ添付。分類、記録」を指示文として抽象的だ、と揶揄したが
もしローカルなLLMを、企業で導入する場合、自然言語で実行する際の
限界について、利用者側へ理解を求める必要がある。
・コマンドをそのまま導入できない。
・独自のカスタマイズ性(属人化)が生まれる。
・モデルの性能不足(モデル自体の安全性、計算資源) 等
クラウドなAIツールサービスのように圧倒的性能で物を言わせることも
難しいため、エンジニアサイドとしては、頭を悩ませる課題も多い。
(Bedrockなども択なのだろう)
今回踏み込まなかったが、ガードレールやRAG、ハードウェア系と言った
さらなるLLM周りの話やハーネスエンジニアリングとしての仕組みの
作り込みの話、セキュリティ周りの話やもいつかしてみたい。
不備、補足等あったらコメントにも、期待します。
オチ
オチなどない。
改めてハルナと自分を重ねてみた時、幼稚だなと思った。
正直なところ、わたしの行動の源泉は、増える喜びではなく、失う恐怖からだ。
ハルナのやっていることを、都合のいいように解釈して、ただただ欲するのみだ。
ただ、今回この記事を書くにあたり、同じ思いをしている人を、仕組みで救いたい。とも思った。
そのあたりの想いも、いつか記事にしてみたい。
だからこそ、今日のAIに縋り付いてでも勉強する。自分のためであり、同じ境遇に悩む人へ。
その仕組みが完成するまで、私は怠ることはしない。と綺麗事でまとめてみる。