少ないほうが良い、たいていは
(jakub.kr)- AIで何でも素早く作れる時代において、量を増やしてもより良い結果につながるわけではなく、意図と極度の細やかさをもって作られた製品だけが長く生き残る
- 優れた製品の核心はシンプルさと明快さにあり、これは脳の認知負荷を減らし、体験を過度に圧倒的なものにしない
- AIは何かを取り除くよりも追加することをはるかに簡単にするが、取り除くにはあらゆる含意を考慮する意図的な判断が必要になる
- コンテキストメニューのアニメーションの事例のように、より多く動くインターフェースが常に良いとは限らず、利用文脈への理解が何を入れないかを決める
- ツールが強力になるほど、理解・判断・センスの価値は高まり、何を作るべきではないかを知ることが最も重要な能力になる
AI時代の量と質
- AIによってあらゆるアイデア、新機能、アニメーションが数回のプロンプトだけで実装可能になり、以前は数時間・数日・数週間かかっていた作業が数分に短縮される
- より多くの人がより多くのものをより速く作れるようになったが、たくさん作られるからといって、より良いものが作られるわけではない
- 良い製品から素晴らしい製品へ移るとき、その違いは感じ取ることができ、たいていは単一の要素ではなく、小さな決定とディテールの積み重ねが優れた体験を作る
シンプルさと明快さ
- 人間はシンプルで予測可能なものを好むが、それは脳が一種の省エネルギー機械だからである
- シンプルさは不要な認知負荷を減らし、処理を容易にし、体験を過度に圧倒的なものにしない
- 心理学における処理流暢性(processing fluency) の概念によれば、処理しやすいほど、より親しみやすく快く、信頼できるものだと感じられる
- Jony Iveの引用を通じて、シンプルさとは単に雑多なものを取り除くことではなく、深い理解に基づいて本質だけを残すことだと説明する
追加は簡単で、削除は難しい
- AIは追加をかつてないほど簡単にし、エージェントであれば目をつぶって何かを足し、そのままうまくいくことを願うようなやり方すら可能にする
- 一方で削除するときには意図的でなければならず、あらゆる含意を最後まで考え抜く必要がある
- エージェントを止めずに回して数百万行のコードを生成することはできるが、その結果が良いという保証はない
アニメーションの事例
- 何かをアニメーションさせることと、うまくアニメーションさせることはまったく別の問題であり、例にあるアニメーションの変形は見た目は良いが、実際には筋が通っていない
- コンテキストメニューの比較では、一方は開くときも閉じるときも動き、項目を hover したときの
background-colorの変化までアニメーションするが、もう一方はそうではない - macOSの右クリックメニューのように、1日に数百〜数千回使われる操作であることを理解すれば、開始と終了の両方をアニメーションするのは良い選択ではないとわかる
- 1日に
200回開き、アニメーションの長さが300msなら、1日あたり約1分、年間では6時間以上をアニメーションの再生を見ることに費やすことになり、邪魔で煩わしい
- 1日に
- 何を解こうとしているのか、人々がどう使うのかを理解すれば、アニメーションしないことが当然の決定になる
- エージェントは実行には優れているが、まだ理解と判断を完全には備えておらず、まさにこの点が製品を素晴らしいものにする要素である
エンジニアリングにおける判断と理解
- 誰もが大量のコードを書けるようになったことで、エンジニアの成果物の品質がコードの量で決まっていた時代は終わる
- Interfereでは、やるべきことをできるだけ少ないコードで実現するpull requestを高く評価している
- コードをレビューし、良いコードと悪いコードを見分け、批判的に考える能力が、コードを書く能力よりもさらに重要になり、同時により希少になる
- 知識と理解が不足したまま、すぐに作ることへ進んでしまうと、エージェントの結果が良いのか悪いのか判断しづらく、良い方向へ導くのが難しくなる
codebase-standardsスキル
- 高い品質基準を維持し、エージェントと人の両方が従う原則を共有するために、独自の**
/codebase-standards**スキルを作成 - これを、コードを基準に照らして確認する**
/interfere-review**コマンドと組み合わせて使い、理解と判断をチームメンバーとエージェントの双方が活用できる形にエンコードしている
エージェントと働くための原則
- 思考をエージェントに外注しない
- エージェントが書いたものを最初から正しいと仮定せず、批判的に向き合う
- エージェントが追加した各行が何をしているのか、少なくとも大まかには説明できるようにする
- 追加するすべてのものが最終結果をより良くしているかを考える
- エージェントは自分の延長であり、自分がある仕事をうまくできるほど、エージェントも同じだけうまくなる
- スキル・コマンド・MCPを活用して、できるだけ多くのコンテキストを与え、望むやり方を明確に示す
- 理解できないことがあればAIに説明してもらう — 最も強力な学習ツールのひとつ
何を作るべきではないのか
- AIは、より多くの機能・コード・アニメーションをこれまで以上に簡単に追加できるようにする一方で、わざわざ作る必要のないものまで作りやすくしてしまう
- いま問うべきなのは作れるかではなく、何を、どう作るべきかである
- ツールが強力になるほど、理解・判断・センス(taste) の価値は高まり、製品・ユーザー・問題への理解、視点、ビジョンは依然として人間の役割である
- シンプルさは偶然に生まれるものではなく、何を取り除き、何をそのまま残し、何を最初から作らないかを知る深い理解から生まれる
- 要素・アニメーション・機能を追加するたびに、なぜ追加するのか、それが最終結果をより良くするのかを批判的に問い直す必要があり、AI時代には何を作らないかを知ることが最も重要な能力かもしれない
まだコメントはありません。