<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>ソフトウェア開発 on KnightLiブログ</title>
        <link>https://knightli.com/ja/tags/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E9%96%8B%E7%99%BA/</link>
        <description>Recent content in ソフトウェア開発 on KnightLiブログ</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja</language>
        <lastBuildDate>Sun, 17 May 2026 20:02:26 +0800</lastBuildDate><atom:link href="https://knightli.com/ja/tags/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E9%96%8B%E7%99%BA/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>OpenClaw 作者 Peter Steinberger は AI ソフトウェア開発をどう見ているのか：OpenClaw から閉ループ開発へ</title>
        <link>https://knightli.com/ja/2026/05/17/peter-steinberger-ai-software-development/</link>
        <pubDate>Sun, 17 May 2026 20:02:26 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/05/17/peter-steinberger-ai-software-development/</guid>
        <description>&lt;p&gt;Peter Steinberger の経歴は、AI ソフトウェア開発で何が変わっているのかを見るうえでよい材料になる。&lt;/p&gt;
&lt;p&gt;彼は「AI で突然注目された新人」ではない。OpenClaw の前から、PSPDFKit の創業者として PDF レンダリング、文書処理、開発者ツールに長く取り組んできた。この種のプロダクトは、コンセプトだけでは勝てない。性能、互換性、API 設計、企業顧客、長期保守に向き合う必要がある。&lt;/p&gt;
&lt;p&gt;そのため、Steinberger が後に AI ツールで OpenClaw を作り、AI Agent、個人自動化、AI coding について語ったとき、重要なのは「一人で大量のコードを書いた」ことだけではない。より面白いのは、長年のソフトウェア工学経験と新世代の AI coding agent を組み合わせ、開発プロセスをどう捉え直したかだ。&lt;/p&gt;
&lt;h2 id=&#34;ai-coding-は魔法のボタンではない&#34;&gt;AI coding は魔法のボタンではない
&lt;/h2&gt;&lt;p&gt;AI coding の議論は、よく二つの極端に分かれる。&lt;/p&gt;
&lt;p&gt;一方は、AI はすでにコードを書けるのでプログラマーは不要になる、と言う。&lt;/p&gt;
&lt;p&gt;もう一方は、AI が書くコードは信頼できず、本当のエンジニアリングは人間が手で書くべきだ、と言う。&lt;/p&gt;
&lt;p&gt;Steinberger の経験は第三の見方に近い。AI はソフトウェア開発の操作単位を変えるが、エンジニアリング判断を消すわけではない。&lt;/p&gt;
&lt;p&gt;従来、開発者の仕事は主に「コードを編集する」ことを中心に回っていた。要求分解、アーキテクチャ判断、実装、テスト、バグ修正は、すべて人間によるコード変更を軸にしていた。&lt;/p&gt;
&lt;p&gt;AI coding agent が入ると、開発者はだんだん実行システムを管理する存在に近づく。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;目標を説明する。&lt;/li&gt;
&lt;li&gt;コンテキストを与える。&lt;/li&gt;
&lt;li&gt;境界を決める。&lt;/li&gt;
&lt;li&gt;agent にコードを変更させる。&lt;/li&gt;
&lt;li&gt;テストとチェックを実行する。&lt;/li&gt;
&lt;li&gt;結果に基づいて反復する。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これは単にキーボードをモデルに渡すことではない。人間の役割を「すべての行を自分で打つ」ことから、「方向を定義し、フィードバックを設計し、結果を判断する」ことへ移すものだ。&lt;/p&gt;
&lt;h2 id=&#34;なぜ彼は-vibe-coding-という呼び方を好まないのか&#34;&gt;なぜ彼は vibe coding という呼び方を好まないのか
&lt;/h2&gt;&lt;p&gt;Steinberger をめぐる議論でよく出る言葉に &lt;code&gt;vibe coding&lt;/code&gt; がある。&lt;/p&gt;
&lt;p&gt;この言葉はもともと、開発者が自然言語でアイデアを説明し、AI に大量のコードを生成させ、実行結果とフィードバックで調整していく新しい開発スタイルを指していた。&lt;/p&gt;
&lt;p&gt;しかし Steinberger は、この言葉を全面的には受け入れていない。公開記事では、彼が &lt;code&gt;vibe coding&lt;/code&gt; をやや軽蔑的な表現になりやすいと見ていることが紹介されている。AI 支援開発を「感覚で適当に生成する」もののように見せ、背後にある技能、判断、経験を見落とすからだ。&lt;/p&gt;
&lt;p&gt;この批判には筋がある。&lt;/p&gt;
&lt;p&gt;本当に有効な AI coding は、適当に一文を入力してモデル出力を信じることではない。必要なのは次のような能力だ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;曖昧な要求を実行可能なタスクに分解する。&lt;/li&gt;
&lt;li&gt;モデルが目標を誤解したかどうかを見抜く。&lt;/li&gt;
&lt;li&gt;テストと受け入れ基準を設計する。&lt;/li&gt;
&lt;li&gt;コード構造が長期保守に影響するか判断する。&lt;/li&gt;
&lt;li&gt;いつ生成を止めて人間のレビューに切り替えるべきか分かる。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;つまり、AI はコードを書く摩擦を下げるが、システムを理解する責任を下げるわけではない。&lt;/p&gt;
&lt;h2 id=&#34;鍵は閉ループにある&#34;&gt;鍵は閉ループにある
&lt;/h2&gt;&lt;p&gt;Steinberger のインタビューや記事でよく要約される考え方の一つが「ループ」だ。&lt;/p&gt;
&lt;p&gt;AI にコードを生成させるだけなら、開ループである。&lt;/p&gt;
&lt;p&gt;AI にコードを生成させ、実行させ、エラーを読み、問題を修正し、再びテストを走らせるなら、閉ループに近づく。&lt;/p&gt;
&lt;p&gt;この差は非常に大きい。&lt;/p&gt;
&lt;p&gt;開ループ生成は、表面上は使えそうなソフトウェアを作りやすい。ページは開き、機能はあるように見え、コードも多い。しかし実際の環境に入ると、状態管理、権限、例外処理、境界条件、デプロイの問題が出てくる。&lt;/p&gt;
&lt;p&gt;閉ループ開発では、出力がフィードバックによって制約される。もっとも単純なループは次の通りだ。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;目標を明確に書く。&lt;/li&gt;
&lt;li&gt;AI にコードを変更させる。&lt;/li&gt;
&lt;li&gt;テスト、型チェック、lint、ビルドを自動実行する。&lt;/li&gt;
&lt;li&gt;エラーを AI に返す。&lt;/li&gt;
&lt;li&gt;通るまで繰り返す。&lt;/li&gt;
&lt;li&gt;最後に人間が重要経路をレビューする。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;AI ソフトウェア開発が本当に効率を上げるのはここだ。モデルが一度で正解を書くからではない。生成、検証、修復のサイクルに高速に参加できるからだ。&lt;/p&gt;
&lt;h2 id=&#34;経験が多いほど-ai-を使いやすい&#34;&gt;経験が多いほど AI を使いやすい
&lt;/h2&gt;&lt;p&gt;AI coding で生まれやすい誤解の一つは、「経験はもう重要ではない」というものだ。&lt;/p&gt;
&lt;p&gt;Steinberger の事例はむしろ逆を示している。経験はより重要になる。ただし役割が変わる。&lt;/p&gt;
&lt;p&gt;経験あるエンジニアは、次の判断がしやすい。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;どのタスクを agent に渡すべきか。&lt;/li&gt;
&lt;li&gt;どのモジュールに先にテストを書くべきか。&lt;/li&gt;
&lt;li&gt;どの変更はリスクが高く、AI に広範囲リファクタを任せるべきではないか。&lt;/li&gt;
&lt;li&gt;どの生成コードは見た目だけ妥当なのか。&lt;/li&gt;
&lt;li&gt;どの問題はパッチではなくアーキテクチャ調整で解くべきか。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AI は大量の候補案を生成できる。しかし候補が多いほど判断力が必要になる。経験が少ない人は「動いた」ことに惑わされやすい。経験ある人は、保守できるか、拡張できるか、安全境界を壊さないか、問題が起きたときに定位できるかを問う。&lt;/p&gt;
&lt;p&gt;だから AI coding agent は、ソフトウェア工学を単なるチャットにはしない。一部の実行労働を外に出しつつ、計画、レビュー、検証、取捨選択の重要性を増幅する。&lt;/p&gt;
&lt;h2 id=&#34;openclaw-の意味はプロジェクトそのものにとどまらない&#34;&gt;OpenClaw の意味はプロジェクトそのものにとどまらない
&lt;/h2&gt;&lt;p&gt;OpenClaw が注目されたのは、単にオープンソース AI agent だからでも、成長が速かったからでもない。&lt;/p&gt;
&lt;p&gt;それは一つのシグナルでもある。開発者は、AI に単に質問へ答えてほしいのではなく、実際のツールに接続し、実際の行動を完了してほしいと思い始めている。&lt;/p&gt;
&lt;p&gt;従来のチャットボットは会話欄の中にとどまる。コードを説明し、下書きを書き、助言はできるが、多くの場合、人間がコピー、貼り付け、ソフトウェア起動、コマンド実行を行う必要がある。&lt;/p&gt;
&lt;p&gt;Agent の方向性は、モデルをツールにつなぐことだ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ファイルシステム。&lt;/li&gt;
&lt;li&gt;ブラウザ。&lt;/li&gt;
&lt;li&gt;ターミナル。&lt;/li&gt;
&lt;li&gt;メール。&lt;/li&gt;
&lt;li&gt;カレンダー。&lt;/li&gt;
&lt;li&gt;第三者サービス。&lt;/li&gt;
&lt;li&gt;プロジェクトリポジトリ。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;モデルがこれらのツールを使えるようになると、ソフトウェア開発の境界が変わる。AI は単なる「コード補完」ではなく、プロジェクト読解、タスク分解、ファイル編集、テスト実行、PR 整理、ワークフロー自動化に関わるようになる。&lt;/p&gt;
&lt;p&gt;Steinberger が OpenAI に加わったことで注目された理由もここにある。彼は一人の開発者の物語だけではなく、個人 agent がデモから日常業務へ進むというプロダクト方向を示している。&lt;/p&gt;
&lt;h2 id=&#34;普通の開発者にとっての意味&#34;&gt;普通の開発者にとっての意味
&lt;/h2&gt;&lt;p&gt;普通の開発者にとって、Steinberger の経験をそのまま再現できるとは限らない。&lt;/p&gt;
&lt;p&gt;誰もが複数の agent を同時に管理できるわけではない。すべてのプロジェクトが高強度の AI 生成に向くわけでもない。すべてのチームが「まず生成し、すばやく反復する」速度を受け入れるわけでもない。&lt;/p&gt;
&lt;p&gt;それでも学べることはいくつかある。&lt;/p&gt;
&lt;p&gt;第一に、タスクを明確に書く。&lt;/p&gt;
&lt;p&gt;AI は曖昧な目標に敏感だ。「最適化して」と言うと、スタイル、構造、機能、ロジックまで変えるかもしれない。「ログイン失敗時のエラーメッセージを英語から中国語へ変更し、認証フローは変えない」と言えば、結果はより制御しやすい。&lt;/p&gt;
&lt;p&gt;第二に、検証コマンドを固定する。&lt;/p&gt;
&lt;p&gt;テストもビルドコマンドも lint もないプロジェクトでは、AI はループを作りにくい。&lt;code&gt;npm test&lt;/code&gt;、&lt;code&gt;go test ./...&lt;/code&gt;、&lt;code&gt;pytest&lt;/code&gt;、&lt;code&gt;hugo&lt;/code&gt; のような基本的なコマンドだけでも、目視確認だけよりはずっとよい。&lt;/p&gt;
&lt;p&gt;第三に、変更範囲を制御する。&lt;/p&gt;
&lt;p&gt;一度に一つのモジュール、一つの bug、一つのページだけを AI に扱わせる方が、「プロジェクト全体をリファクタして」と頼むより通常は信頼できる。&lt;/p&gt;
&lt;p&gt;第四に、人間のレビューを残す。&lt;/p&gt;
&lt;p&gt;認証、決済、権限、データ削除、デプロイスクリプト、データベース移行、セキュリティ設定では、コードが AI 生成だからといってレビュー基準を下げてはいけない。&lt;/p&gt;
&lt;p&gt;第五に、prompt と失敗パターンを振り返る。&lt;/p&gt;
&lt;p&gt;AI がある種のタスクをよく誤解するなら、その制約をプロジェクトルール、agent instructions、skill ファイルに書く。AI coding 能力はモデルだけでなく、周囲に作る作業環境からも生まれる。&lt;/p&gt;
&lt;h2 id=&#34;ai-ソフトウェア開発はどこへ向かうのか&#34;&gt;AI ソフトウェア開発はどこへ向かうのか
&lt;/h2&gt;&lt;p&gt;Steinberger の物語は、AI ソフトウェア開発が「コードを書く支援」から「ソフトウェア生産フローを組織する」方向へ進んでいることを示している。&lt;/p&gt;
&lt;p&gt;初期の AI coding ツールの価値は、関数補完、エラー説明、テンプレート生成が中心だった。今の変化は、agent がファイルをまたいで作業し、ツールを呼び出し、チェックを実行し、フィードバックに基づいて修正を続けられることだ。&lt;/p&gt;
&lt;p&gt;そこからいくつかの流れが見えてくる。&lt;/p&gt;
&lt;p&gt;第一に、個人開発者の生産上限は上がる。&lt;/p&gt;
&lt;p&gt;一人でより多くのプロトタイプ、スクリプト、社内ツール、小型プロダクトを進められる。ただし生産量が増えることは品質が自動で上がることではない。生成が速いほど検証が重要になる。&lt;/p&gt;
&lt;p&gt;第二に、プロジェクト構造がより重要になる。&lt;/p&gt;
&lt;p&gt;コードが明確で、テストがはっきりしていて、ドキュメントが整っているほど、AI は正しく変更しやすい。混乱したプロジェクトは人間にも AI にも難しい。&lt;/p&gt;
&lt;p&gt;第三に、ソフトウェアエンジニアはワークフロー設計者に近づく。&lt;/p&gt;
&lt;p&gt;今後重要なのは、ある言語を書けるかどうかだけではない。要求、コンテキスト、ツール、テスト、デプロイ、権限を制御可能なループに組み立てられるかだ。&lt;/p&gt;
&lt;p&gt;第四に、セキュリティ境界はより敏感になる。&lt;/p&gt;
&lt;p&gt;Agent が何かを実行できるなら、間違ったことも実行できる。ファイルを読み、コマンドを実行し、サービスへアクセスできるなら、権限、監査、ロールバックは AI 開発環境の基盤になる。&lt;/p&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;Peter Steinberger の AI ソフトウェア開発観で最も価値があるのは、「AI がどれだけコードを生成したか」ではない。彼が示した新しい開発姿勢だ。&lt;/p&gt;
&lt;p&gt;人間はエディタ内で一行ずつ入力するだけではなくなりつつある。目標を設計し、agent を管理し、フィードバックループを作り、結果をレビューし、システムを調整する。コードは今も重要だが、労働の唯一の中心ではなくなっている。&lt;/p&gt;
&lt;p&gt;従来のソフトウェア開発が「コードを正しく書く」ことを重視していたとすれば、AI ソフトウェア開発は「システムが検証可能に正しい結果を継続して出す」ことをより重視するようになる。&lt;/p&gt;
&lt;p&gt;これは単にエンジニアリングのハードルを下げる話ではない。能力の形を変える話だ。手作業の実装から、タスク分解、コンテキスト管理、ツール編成、自動検証、最終判断へ移っていく。&lt;/p&gt;
&lt;h2 id=&#34;参考資料&#34;&gt;参考資料
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://techcrunch.com/2026/02/25/openclaw-creators-advice-to-ai-builders-is-to-be-more-playful-and-allow-yourself-time-to-improve/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TechCrunch：OpenClaw creator’s advice to AI builders&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://builtin.com/articles/openclaw-founder-to-openai-analysis&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Built In：What Is OpenAI Getting From the OpenClaw Deal?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://podwise.ai/dashboard/episodes/7026858&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;The Pragmatic Engineer：The creator of Clawd: I ship code I don&amp;rsquo;t read&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.teamday.ai/ai/steinberger-openclaw-builders-unscripted-openai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TeamDay：Peter Steinberger: Building OpenClaw as a Solo Dev&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Karpathy の 65 行の CLAUDE.md：AI コーディングで三つの典型的なミスを減らす</title>
        <link>https://knightli.com/ja/2026/04/19/karpathy-claude-md-ai-coding-rules/</link>
        <pubDate>Sun, 19 Apr 2026 18:27:23 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/04/19/karpathy-claude-md-ai-coding-rules/</guid>
        <description>&lt;p&gt;最近、AI コーディングに関する GitHub プロジェクトが注目を集めている。中心にあるのは複雑なコードではなく、およそ 65 行の &lt;code&gt;CLAUDE.md&lt;/code&gt; ファイルだ。このプロジェクトが多くの star を集めた理由は、技術実装の複雑さではない。AI にコードを書かせるとき、多くの人が繰り返し遭遇する問題をうまく捉えているからだ。&lt;/p&gt;
&lt;p&gt;背景には、Andrej Karpathy による AI コーディングへの観察がある。Karpathy は AI 分野で大きな影響力を持つ教育者でありエンジニアだ。スタンフォード大学の博士で、OpenAI の初期にも関わり、Tesla では Autopilot の視覚システムを担当した。その後も大規模モデル、教育、AI ツールについて発信を続けているため、彼がプログラミング手法の変化について語ると、多くの開発者が注目する。&lt;/p&gt;
&lt;p&gt;彼は、Claude Code を数週間使ったあと、自分のプログラミングスタイルが大きく変わったと述べている。以前はおよそ 80% を手書きし、20% を AI に補助させていた。今は 80% を AI に書かせ、自分は 20% を修正する感覚に近いという。自然言語で LLM に何を書くべきか伝えるので、「英語でプログラミングしている」ようなものだと表現している。&lt;/p&gt;
&lt;p&gt;一方で、彼は AI コーディングにありがちな問題も指摘している。&lt;/p&gt;
&lt;h2 id=&#34;01-誤った仮定&#34;&gt;01 誤った仮定
&lt;/h2&gt;&lt;p&gt;一つ目の問題は、モデルがユーザーの代わりに勝手な仮定を置き、その仮定に沿って書き進めてしまうことだ。モデルは必ずしも自分の混乱を管理しないし、要件が曖昧なときに立ち止まって質問するとも限らない。&lt;/p&gt;
&lt;p&gt;たとえばユーザーが「ユーザーのエクスポート機能を追加して」とだけ言った場合、モデルは全ユーザーを出力する、JSON 形式にする、ローカルファイルに書き出す、権限や項目は確認不要だ、と勝手に決めるかもしれない。コードが完成してから、ユーザーはモデルの理解が実際のシナリオとずれていたことに気づく。&lt;/p&gt;
&lt;p&gt;よりよい進め方は、不確かな点を先に列挙することだ。全ユーザーを出力するのか、フィルタ後の結果なのか。ブラウザでダウンロードするのか、バックグラウンドジョブなのか。必要な項目は何か。データ量はどれくらいか。権限制御はあるのか。こうした点を確認しないまま速く書いても、ずれが大きくなるだけだ。&lt;/p&gt;
&lt;h2 id=&#34;02-過度な複雑化&#34;&gt;02 過度な複雑化
&lt;/h2&gt;&lt;p&gt;二つ目の問題は、モデルが簡単な問題を複雑にしがちなことだ。一つの関数で済む問題に対して、抽象クラス、ストラテジーパターン、ファクトリーパターン、設定レイヤー、将来使うかもしれない拡張ポイントを山ほど追加することがある。&lt;/p&gt;
&lt;p&gt;こうしたコードは一見エンジニアリングされているように見えるが、実際には保守コストを増やす。AI は大量の構造を素早く生成するのが得意だが、その構造が本当に必要かを常に判断できるわけではない。その結果、100 行で済むタスクが 1,000 行に膨らむ。&lt;/p&gt;
&lt;p&gt;判断基準はシンプルだ。経験あるエンジニアがその変更を見て、過剰設計だと感じるかどうか。答えが yes なら、余分な層を削り、今の問題を解くために必要な最小限のコードに戻すべきだ。&lt;/p&gt;
&lt;h2 id=&#34;03-付随的な被害&#34;&gt;03 付随的な被害
&lt;/h2&gt;&lt;p&gt;三つ目の問題は、モデルが十分に理解していないコードを変更したり削除したりすることだ。小さな bug を直している途中で、ついでにコメントを変えたり、フォーマットを整えたり、未使用に見える import を消したり、現在のタスクと無関係なロジックにまで手を入れることがある。&lt;/p&gt;
&lt;p&gt;こうした「ついでの改善」は危険だ。変更範囲を広げ、レビューを難しくするからだ。ユーザーは空の email でバリデータが落ちる問題だけを直したいのに、モデルが email 検証を強化し、ユーザー名検証を追加し、ドキュメント文字列まで書き換えると、どの行が挙動を変えたのか分かりにくくなる。&lt;/p&gt;
&lt;p&gt;より安全な原則は、必要なコードだけを変更し、自分の変更によって生まれた問題だけを片付けることだ。もともと存在していた dead code、フォーマットの問題、歴史的な負債は、明示的に依頼されていない限り触らない。必要なら一言指摘するだけでよい。&lt;/p&gt;
&lt;h2 id=&#34;04-不満を-claudemd-に変える&#34;&gt;04 不満を CLAUDE.md に変える
&lt;/h2&gt;&lt;p&gt;Karpathy の見解が広く共有されたあと、開発者の Forrest Cheung は賢いことをした。これらの不満を、実行可能な行動指針として整理し、&lt;code&gt;CLAUDE.md&lt;/code&gt; ファイルに書き込んだのだ。&lt;/p&gt;
&lt;p&gt;このプロジェクトには複雑なコードはない。重要なのは、AI コーディングで問題が起きやすい部分を、明確な作業ルールに変えたことだ。大きく四つの原則にまとめられる。&lt;/p&gt;
&lt;p&gt;一つ目は、書く前に考えること。黙って仮定しない。混乱を隠さない。要件に複数の解釈があるなら列挙する。より簡単な案があるなら伝える。確認が必要なら質問し、反論すべきときは反論する。&lt;/p&gt;
&lt;p&gt;二つ目は、シンプルさを優先すること。求められていない機能を追加しない。一度しか使わないコードを抽象化しない。余計な設定を増やさない。ほぼ起きないケースのために大量の防御コードを書かない。50 行で済むなら 200 行にしない。&lt;/p&gt;
&lt;p&gt;三つ目は、正確に変更すること。すべての変更行は、ユーザーの依頼に直接結びついているべきだ。近くのコードをついでに改善しない。壊れていないものをリファクタリングしない。できるだけ既存プロジェクトのスタイルに合わせる。&lt;/p&gt;
&lt;p&gt;四つ目は、目標駆動で進めること。モデルに曖昧な指示だけを渡すのではなく、検証可能な成功基準を与える。たとえば「bug を直す」は「bug を再現するテストを書き、それを通す」にできる。「バリデーションを追加する」は「不正入力のテストを書き、それを通す」にできる。成功基準が明確なほど、モデルは完了に向けて自分でループしやすくなる。&lt;/p&gt;
&lt;h2 id=&#34;05-なぜ広まったのか&#34;&gt;05 なぜ広まったのか
&lt;/h2&gt;&lt;p&gt;このプロジェクトが広まったのは、内容が難解だからではない。実際の開発に近いからだ。&lt;/p&gt;
&lt;p&gt;AI にコードを書かせたことがある人の多くは、似た場面を経験している。モデルが自信満々に要件を誤解する。コードがどんどん複雑になる。触るべきでない場所を変更する。&lt;code&gt;CLAUDE.md&lt;/code&gt; の価値は、こうした経験をプロジェクトに置ける協作ルールに変えたことにある。&lt;/p&gt;
&lt;p&gt;導入の敷居も低い。複雑な連携は不要で、一つのファイルから始められる。Karpathy 本人の影響力に加え、プロジェクト内に実践的な比較例があるため、Claude Code ユーザーや AI コーディングコミュニティの間で自然に広まった。&lt;/p&gt;
&lt;p&gt;さらに重要なのは、この種のルールが Claude Code だけに限られないことだ。どの AI コーディングツールを使っても、本質的な問題は似ている。モデルは、いつ質問すべきか、いつ単純化すべきか、いつ手を止めるべきか、どうやってタスク完了を判断するかを知る必要がある。&lt;/p&gt;
&lt;h2 id=&#34;06-普通の開発者への示唆&#34;&gt;06 普通の開発者への示唆
&lt;/h2&gt;&lt;p&gt;普通の開発者にとっての示唆はシンプルだ。AI コーディングは、一文の要件をモデルに投げて奇跡を待つものではない。本当に有効なのは、モデルに境界を与えることだ。&lt;/p&gt;
&lt;p&gt;要件が不明確なときは、まず仮定を表に出させる。実装が複雑になり始めたら、最小の実用解に戻らせる。コードを変更するときは、タスクの目的だけに集中させる。完了時には、テスト、コマンド、明確なチェックポイントで結果を検証する。&lt;/p&gt;
&lt;p&gt;AI がコードを書く能力はすでに高い。それでも、よい協作上の制約は必要だ。短い &lt;code&gt;CLAUDE.md&lt;/code&gt; がこれほど注目されたことは、開発者が求めているのはより賢いモデルだけではなく、より信頼できる作業方法でもあることを示している。&lt;/p&gt;
&lt;p&gt;簡単にまとめると：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;書く前に考え、誤った仮定を減らす。&lt;/li&gt;
&lt;li&gt;シンプルさを優先し、過度な設計を避ける。&lt;/li&gt;
&lt;li&gt;正確に変更し、変更範囲を制御する。&lt;/li&gt;
&lt;li&gt;検証可能な成功基準で、目標に向かって進める。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;この四つは複雑ではないが、実用的だ。AI コーディングが本当に効率を上げる前提は、モデルにより多く書かせることではない。より正確に、より少なく、より制御された形で書かせることだ。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
