AIエージェント

2025/02/11

プログラミングをしているとAIが補助してくれるツールが当たり前になりつつなるなか、次のトレンドはAIエージェント。自律型AIと呼ばれることもあるが、要は指示を与えれば人間のようにコードを書き、作業が完了したらチャットやメールで報告してくれるようなツールのことだ。与えられた指示を細かいステップに分解し、既存のコードを読んだり考えたりして実装する。実装が期待通り動くか確認する。作業を進めていて不明点があれば聞いてくる。まったく新しい技術というわけではないが求めているものに近い体験が提供されていて、注目が集まっている。

AIエージェントのひとつ「Cline」を使ってみた。Clineを紹介している記事では簡単なゲームを作っていたりするが、自分はそれよりも普段の開発をブーストしてくれるかどうかに興味がある。そこでこのブログに検索機能をつけてもらった。「検索ボタンを置いて」「クリックしたらページを遷移して」「検索ページに入力フォームとボタンを追加して」「入力されたキーワードをもとに記事を検索して」、こんな感じでひとつずつ指示を与えると20分くらいで大枠を実装してくれた。最後に細かいデザインやレイアウトを微調整して完了。自分で書くより早いし、脳のリソースをあまり使わずに作れて楽。これでかかった費用は7ドル(1,000円)。趣味のブログをいじるには高い気もするが、仕事で考えればかなり安い。費用を抑える工夫もあるらしく、考えるところは高いAIモデル、実行のところは安いAIモデルと切り替えるなどのテクニックもあるらしい。そう考えると趣味でも十分実用的になりそうだ。

AI活用はプログラミングの分野で特に進んでいると感じるが、これはおそらくAIの開発者自身がエンジニアで、自分の欲しいものが明確に分かっているから。他の仕事でも今後AI利用は活性化していくだろう。画像や音声もあわせて扱えるマルチモーダルの性能も向上しているし、今後の変化が楽しみだ。


いろんな道で卓越しようとしない

2025/02/10

成績やテストの文化に浸かりすぎたせいか、比較級で考えてしまい勝手に苦しくなるときがある。人の数だけ分野があり、そのすべてで良いスコアを出すのは無理なこと。なので助け合う必要がありチームの意義がある。分かっていてもすぐ憧れたり流されたりしてしまう。すべてでNo.1になる必要もないし、さらにいうとある道でNo.1になる必要もない。自分の得意な複数のことで組み合わせNo.1になれればそれで良い。

何を組み合わせるか。それは自分のやりたいことを決めるポイントから始まる。私の場合はWebサービスを作るのが好きで、それはデザイン・人の気持ちの理解・プログラミング・パズル・仕組みの理解などのブロックから構成される。この一つ一つの習熟度を高めていき組み合わせる。さらに業務用ツールとか心地よいツールとか自分なりの分野を追加して勝手に軸をつくる。人に押し付けられたものではなく内面からのもので勝負する。

「強みを組み合わせろ」というメッセージは新しいものではなく、大学の頃にすでに聞いたことがあった。それを聞いたとき半分は腑に落ち、もう半分は何を組み合わせればいいのか疑問だった。強みとはその環境で活きる特徴で、特徴は自分が飽きずにやり続けられること。人生の前半でいろんなことに手を出し自分が楽しめるかどうかを検証し、人生の後半で手に馴染むものを組み合わせていく。今は人生の後半に差し掛かったあたり。これまでに見聞きしたいろんなものを組み合わせて表現できたらそれは楽しい。


読み手にやさしい文章をつくる

2025/02/09

文章にもタイプがあり、このブログに書いてるようなものは自分の頭の中を書き起して整理することが目的で、書くことそれ自体に重心がある。一方仕事やコミュニケーションで書くテキストは相手に伝わることが目的となる。太字や箇条書きでの装飾、画像や動画の添付など使えるものは何でも使ってよく、相手に伝えられれば勝ち。そこで求められるのは文章としての美しさとはまた異なる。

伝わりやすい文章は構造化されている。最初に主題があり、それを分解した各章があり、各章の中身として文がある。例えば何か質問をするとき、最初に質問の内容を短文で書き、続いて詳細な内容、そして自分で試した・考えた内容を添える。伝えるための文章では主語は相手で、相手が理解できなければ意味がない。自分と相手の理解の仕方は違うので、自分の脳内をつらつら書いても相手にとっては読みづらい。自分の知識を一度手放し、相手を憑依させて書いた文章を読んでみる。一読して理解できるなら良い文章といえる。

文章の上手い人は情報の構造化がうまい。どの要素がどの概念にぶら下がっているか。どの要素が重要で、どの要素は削ぎ落としても伝わるのか。これが上手い人はどういう人かを以前友人と話したことがあるが、その時に「論文を書いた経験があるかどうか」ではないかという話になった。大学で論文を書くときは長い文章を章立てしたり、図やグラフを使って分かりやすく仕上げる必要がある。さらに全体の要約を冒頭で紹介するのでキーポイントを押さえる練習にもなる。そして経験豊富な教授がそれについて厳しくフィードバックしてくれる。確かに論文に近い経験は他にないかもしれない。今も文章を書いてるとき教授から指摘された内容がチラついたりする。思わぬ形で過去の経験が活きていて面白い。


周りに雑音があると集中できる

2025/02/08

静まり返った自分の部屋より多少ざわつきのあるカフェなどの方が個人開発が捗る。そういえば学生時代もリビングでテスト勉強していた。誰かがテレビを見ている音を聞きながら勉強する。そんな風に過ごしていた。

静かな空間は集中はできるが、逆に集中しすぎてすぐに疲れてしまう。多少雑音がある方が7割くらいの力で長続きする。部屋で一人で作業しているとき、張り詰めている分休憩時に一気にトーンダウンする感覚がある。カフェだと休憩からすぐに戻れる。家と比べて周りに娯楽や誘惑が少ないのもあるが、集中の濃度が関係している気がする。

しかし最近はテレビや動画を観ながらのプログラミング開発ができなくなってきた。映像や音に注意を奪われてまったく集中できない。不思議に思っていたが、最近読んだ本によると人間は大人になるにつれてマルチタスキングが苦手になっていく生き物らしい。確かにいろんなことを並行に考えるのが年々苦手になってきている。逆に大人になって伸びるのは知恵や知識。抽象的なものを組み合わせて問題を解決する能力は年々高まるらしい。できなくなることがあれば新たにできるようになることもある。変化に抗わず、その上にうまく乗っていきたい。


AI時代はインターネットが資本

2025/02/07

引っ越してからすこぶるインターネットの調子が悪く苦戦している。平時にはそこそこ速いのだが、定期的に通信が悪くなって1分ほど繋がらない時間帯ができる。仕事のミーティングが途切れたりYouTubeの動画が止まったりと体験がよろしくない。今は有線LANを繋いで急場を凌いでいるが、ケーブルの長さの関係上玄関で仕事しなければならず、完成系には程遠い。

ネットの調子が悪くて困ることにAIの利用がある。Copilotという開発補助ツールがあり、これはエディタにほんの少しのソースコードを書くと続きを予測して補完してくれる。Copilotは革命的ツールで、どういう処理を書きたいかを日本語で書けばその通りに実装してくれ、しかも正答率もかなり高い。Copilotは副操縦士の意味だが、人間が確認してAIが主にコードを書くようになったのでMain Pilotではないかというジョークも生まれている。

Copilotはテキストを打ち込むたびに書いたコードをサーバーに送り、AIが続きを予測して返し、それを受け取って表示している。この往復が10秒くらいかかると遅すぎて一気に使えないツールと化す。1-2秒ですぐにアシストされるからこそ価値がある。ボタンを押すなど明示的にこちらが指示するわけではなく、コードを書いたら自動的に動くのがCopilot。なのでインターネットの調子が悪くてもエラー文は表示されず、ただ補完が出ない状況になる。こちらとしてはAI待ちの気持ちなので無の時間が流れ、少し経ってCopilotの不在に気づく。少し寂しい。インターネットの速度は(いまのところ)AI体験にとって重要な要素になっている。