観雀堂日録

炎天下 痩せた雀が 低く飛ぶ

AIではなく逆に人間が手を動かした方が良い。

AIが苦手なのは、職人的な緻密さである。AIが得意なのは、人間らしい大まかさである。

AIが登場した時、ある人がこう言っていた。絵を描いたり、音楽を作ったり、人間がやりたいことがAIは得意であって、人間がやってほしい作業はやってくれない、と。

これはAIに対する第一印象とでもいうべき、ごく浅い感想なのであるが、しかしなかなか含蓄があったのだと今になって思う。

システム開発でも、全体的なアーキテクチャを考えたり、実装方法を複数提案したりと、設計は割とAIは得意なのである。しかし、コーディングをやらせると速さこそ速いものの、品質は低い。これが、今思えば実にAIらしい。作業は苦手なのだ。要は雑なのである。

しかし、大まかに作るとか、色々な案を出す、批判するといった、人間らしい創造的な仕事は得意なのである。

それで自分は思うのだが、作業は人間が担い、人間らしい創造性はAIに担ってもらったらどうか。これは何か一つの逆説のようだが、自分の実感である。

Switchで「EASTWARD」をプレイ

EASTWARDは前々から気になっていた。理由はPixelアートが評判になっていたからだ。Katana Zeroをプレイした私は、滑らかに動くPixelアートにすっかり魅了されていた。Pixelアート起因で「Kingdom Two Crowns」なんかもかつて買っていて、ゲームはうまく遊べなかったが持っていた。

さて、EASTWARDだが、悪い評判はレビューを読んで知っていた。ゲーム部分がそんなに魅力的でないと。しかし、Pixelアートマニアになってしまっている私は、いつの間にか、ニンテンドーストアで購入ボタンを押していた。

遊んでみて、なかなかの厳しさを感じた。アクションパズルの登場人物たちが繰り広げるお芝居を一々見ないといけないのだ。いや、それの何がいけないのかについて、説明が必要だろう。

まず、私はゲームにおいてストーリーをすっかり忘れる方である。どうやってそのゲームで敵を倒すか、それしか考えられないのだ。つい先日遊んだメトロイドヴァニアの「エンダーリリーズ」もストーリーが良かったらしいのだが、日記や登場人物の語る台詞から浮かび上がる「世界の真実」みたいなものが全く分からず、何のことか分からないままゲームをクリアしていた。要するに、場面々々の雰囲気は味わえるものの、世界観とか過去に起きた出来事の断片を繋ぎ合わせて物語全体を理解、みたいな奴が無理である。

ドラクエぐらい単純にしてもらっても、まだ良く分からん事があるので、要するにゲームのストーリーが理解できない。だが、自分は決してそれを残念には思わない。勿論、人が楽しむように自分もストーリーを楽しめたらと思わないではない。しかし、私はゲームがしたいのであり、物語はなんとなく分かればいいのだ。私はゲームの中で、弾を避けたり、刀を振り回したりしたいのである。

しかし、EASTWARDは私の好みとは違っていた。このゲームは物語を追いながら、途中途中でアクションゲームをやる作りだった。それで物語がかったるかった。しかも、物語が暗い。マジかよ。割と皆んな死んじゃうのも若い人が考えた衝撃ストーリーだと思ってしまった。実際の脚本家は年寄りかもしれないけど、何と言うか、ストーリーを追うプレーヤーに衝撃を与えようと試みている気がしたのだ。

だが、一つ前評判と私の体験で違っていることがある。それはアクションパートが面白かった点である。私はゲーム内パズルの難易度が相当低くても面白く感じる方である。アクション部分も、敵をフリーズさせて攻撃するという流れが分かりやすく、楽しめた。このゲームは決して駄作ではない。現に賞も受賞しているらしい。

私が思うのは、あまり難しく考えず、のんびりプレイすればいいタイプのゲームだと思う。小学生でプレイしていたら、ストーリーも楽しめたかもしれない。

 

EASTWARD公式サイト

https://eastwardgame.com/ja/

せせらぎ公園

10月に入って10日ばかり過ぎた日曜日、午後3時半を回った頃、妻と二人で家を出た。良く晴れていて暑いぐらいであった。尻手駅のホームに立つと、空が抜けるようであった。

f:id:nogitsune413:20261012001306j:image

10分ほど待ってから乗った電車は空いていた。武蔵小杉駅で下車した。改札を出ると流石の武蔵小杉で大変な人出だ。

東急多摩川線に乗り換える。初めての乗り換えなので多少まごつきながらも、お目当てのホームに辿り着く。一つ特急をやり過ごし、急行に乗る。新丸子駅を通り過ぎてすぐ多摩川駅。わずか二駅であっという間に目的地の多摩川駅に着いた。

エスカレーターを昇り降りして改札を出る。駅前はロータリーも何もなくて、すぐ目の前が公園になっている。せせらぎ公園である。公園に併設されて木造のような外観の大きな建物があった。事前にスマホで調べたところによると、ここには「ふはく」という名前のレストランが入っているはずである。歩いていくと、果たして「ふはく」はあった。自分は少しお腹が減っていたので、ここで食事をしたいと思ったが、しかしうだうだしていると日が暮れるのは目に見えている。今日は日が昇っているうちに散策したい。

せせらぎ公園を歩くと、人が多い。これにはちょっと驚いた。六義園や百花園など、ふと思い立って訪れた散策に良い名所は、大抵の場合人が少なくて、近所の人や遊びに来た人がのんびり散歩しているだけという感じだった。ここの公園にいる人々は、近隣の住民は住民だが、いわゆる散歩に来たというより、友達同士で遊びに来たり、勉強しに来たり、スポーツをしに来たりしているらしかった。人数が多くて、混雑していると言っても良いぐらいである。運動に使える広場がいくつかあり、ボールを蹴ったり走り回る子どもたちがいて、子供を連れてきた親たちがそれを周りのベンチから見守り、それから夫婦か恋人の男女二人連れが歩いたりベンチに座ったりしており、制服姿の学生も数人連れで何組も園内ですれ違った。

こんなに人気のある公園なんてあるんだ。田園調布辺りの、生活にかなりの余裕のあるご家庭の子女が遊んでいるのであろうか。黄昏時が近づいてきて、楓の裏側の空は白さを増していた。

f:id:nogitsune413:20261013022543j:image

せせらぎ館と名づけられた、木造風の大きな建物に入ると、寄付されたと思しき本が棚に並んでいて、誰でも読めるようになっていた。こうやって本を眺めるのは久しぶりだが、なかなかいいものだ。本棚のすぐ隣では、机に教科書らしき本を広げて学生が勉強している。

色々と見ているうちに、午後5時を過ぎてしまい、公園は閉園になった。

f:id:nogitsune413:20261013022914j:image

目星を付けていたレストラン「ふはく」はまだ開いていたので、ここで野菜カレーを食べる。

f:id:nogitsune413:20261013022738j:image

それで自分は満足し、家に帰ろうと思った。

しかし、妻の考えは違った。これでは歩く量が少な過ぎる。せっかく出かけたのだから、もっと歩こうじゃないか、と。

我々は多摩川べりに出て、Googleマップを調べ、どちらが川崎方面かを把握すると、川に沿って歩き始めた。もう日が落ちていた。幅が1メートルちょっとぐらいの、ごく狭い舗道を歩いていった。多摩川べりには街灯があるわけではないので、スマホのライトを点けて懐中電灯の代わりにする。多摩川沿いの舗道も午後六時半頃はまだそれなりに人通りがあり、ランナーと自転車が時々通り過ぎる。ガス橋のたもとまで来た時、自分はそれなりに疲れていた。

それでもなお歩いたが、疲れてきた僕を見かねて、妻が電車に乗ろうと言い、近くの駅を目指すことになった。鹿島田駅を目指すことに決めて、多摩川に別れを告げ、住宅地の路地を縫い、商店街を通り抜けると、鹿島田駅に着いた。南武線に乗って尻手駅で降り、家に着いた。

今日はせせらぎ公園に行ってみた。思ったより狭くて残念だったけど、どんなところか知れたし、行けて良かったと思う。近所でも、知らないところはまだまだありそうだ。

AIを使ったシステム開発で気をつけること

AIを使った開発はとても難しい。特に難しく感じるのは、人はAIに任せたくなるのに、AIは単に仕事が粗いだけでなく、人間ではないので、責任も取らない点である。また、今までの開発でも時々あったが、このような問題がある。

# AIは簡単に実装から単体テストや仕様書をリバースするため、単なる実装の追認でしかない単体テストや仕様書が大量に作られてしまう

単体テストはユーザー要望を満たしていることを確認せねばならないが、実装から生成させると、ただその実装がテストOKになるテストになってしまう。これではダメなのは誰でも分かる話であるが、こういう、本来の意図から外れているのに、それらしいテストが生成されてしまう。換言すると、「役に立っていないのにすっかりそれらしいもの」をAIは作ってしまう。この汚染がヤバい。

ドキュメントにしても、AIは実装からリバースしてくることがあると思う。設計書はユーザー要望を満たすために、どうシステムを作るか書いてあるはずなのに、単に現状の実装を設計書に反映しているだけので、設計書と実装を照らし合わせて検証することができない。堂々巡りになるからだ。

つまり、以下の危険な事態が起き得る。

・間違った仕様書から間違った実装ができ、間違った実装を追認する間違った単体テストがある。

これは仕様書ではなく、実装を先に作っても、単体テストを先に作っても話は同じである。

間違ったまま、関連資産が作られる。

この誤りを正せるのは、ユーザー要望の記録しかない。またはユーザーのレビューである。

ここで自分は考える。今まではどうしていたんだ。AI開発が始まる前はどうやって作っていたんだ、と。今までは、慎重に、「これで本当にいいのか」を確認しながら作っていたのだ。実装しながら、考慮漏れを見つけ、テストしながら実装仕様を確認していたのだ。設計書を書きながら、本当にこの設計で良いのか検討していたのだ。

AIに任せることで、我々は検討の機会を捨ててしまったのだろうか。そうではない。検討しないといけないのに、確認しないといけないのに、単にやっていないのである。AIのせいではない。省略できないことを省略できると勝手に決めてしまったのが良くなかったのである。

AIにコードを書かせるのは完全にダメなアイデアではない。しかし、自分の考えでは、AIに代行させるのではなく、AIに相談するぐらいが丁度良いと思う。なぜなら、本番環境で運用するシステムは、ソースコードを何度見返しても、それで不具合を発見できたら、充分元が取れる世界なのだ。

問題はコーディング速度よりも、ずっとシステムの品質に依存しているのである。丸一日かけてソースコードを書いても問題ない、それで不具合のない機能を書けるならば。

そう考えた時、本当にAIを活かすためには、開発速度よりも、システムの品質にフォーカスしたほうが良いことに気づく。

品質を上げるためにAIを使おう。AIにソースコードやドキュメントを荒らされて頭を抱えるぐらいなら、自分で書いたほうがいい。

私はプロトタイプや手元で使うツールまでAIを使うなと言っているわけではない。自分が複雑な事業系のシステムを作るなら、AIを生かすのは開発速度ではなく、システム品質に対してだ。なぜなら、それらのシステムでは品質が重要だからだ。

急に動かなくなっても誰も困らないツールなら、AIに作らせて、殆どレビューしなくても別に良いだろう。ターゲットを見極めよう。そしてAIの使い方をちゃんと考えよう。

新宿駅で食べたカキフライカレー

小田急線の新宿駅の改札を出たところに、お店が何店舗か並んだ区画があり、今から30年ぐらい前、おおよそ1995年頃、その一画にカレー屋さんがあった。C&Cだったかもしれない。親戚の家に遊びに行った夏休みの、帰りの電車を乗り継ぐ途中だったか、カウンターに座ってカレーを食べた。

その時自分は何か商品を選んで頼んだが、もうないと言われた。もう一つ選んだがそれもない。ここは怒ってもいいんじゃないかと思ったが、ともかく更に一品選んで食べた。閉店間際で、最後辺りの客だったのである。

父と一緒にいて、その時にカキフライカレーというのを初めて食べた。カレーのルーの上に牡蠣フライが乗ったカレーである。牡蠣フライの牡蠣は苦みがあり、必ずしも子供がおいしいものではなかったはずだが、フライにしてあることもあり、カレーと一緒に食べておいしかったので、自分はいたく気に入った。その時はたまたま旅の帰路に立ち寄ったのだが、その後新宿に来る機会を掴まえては、自分は牡蠣フライカレーを食べようとした。

それだけでない。家でも牡蠣フライをカレーに乗せて食べてみた。

今度、ココイチが牡蠣フライカレーを出すらしい。ココイチを見つけたらきっと食べてみよう。

寄付

国家の庇護のない人は、どのぐらい脆弱な立場にあるのだろうか。今日の世界で国家は最強の実力を持ち、事実上国家が最高の地位にあり、これより上には何もない。

国際連合は国家の連合であり、世界政府ではない。

このような、強い力を持った組織が国家である。

その国家の庇護を受けない人々がいる。難民である。場合によっては国内避難民である。彼らは国家の外にいる。これが如何に厳しいことであるか。

私は彼らに同情し、寄付を始めた。寄付先はUNHCR、国連難民高等弁務官事務所である。

今は月に7000円寄付している。しかし、以前はこんなに高額ではなかった。5000円だったのだ。

これが7000円に増額されたのには理由かある。もっと寄付してくれという電話が架かってきたのである。彼らの気持ちは分からんでもない。まだ寄付を一度もしたことのない人に頼むより、もう寄付をしてくれている人に頼む方が見込みがあるのだろう。

それで自分も暮らしに困っていないし、子供もいないし、2000円増額することにした。

すると、電話口の方は平伏せんばかりにお礼を述べた。まるでその人の、親か子どもの命を私が救ったかのようだった。