マイケル・アルナルディ / Michael Arnaldi · 43:48 「面白いことに、 AI では、 少ないほど効果が得られる」
コーディングエージェントにライブラリを使わせるとき、 一番効くのは何か — ドキュメントでも、 MCP サーバーでも、 プロンプトの工夫でもなく、 「ライブラリのリポジトリそのものを丸ごと自分の repo にクローンしてしまう」 ことや、 という主張のワークショップ。 Effect TypeScript ライブラリの創業者 マイケル・アルナルディ (Michael Arnaldi) が、 完全に空の状態から AI エージェントだけで HTTP API を組み立てるライブセッションで実演する 1 時間 43 分。
語るのはマイケル・アルナルディ — TypeScript の関数型プログラミングフレームワーク **Effect** の創業者 (GitHub 9,000 スター超)、 商用版の Effectful Technologies を運営。 12 歳からプログラミングを始めた長期キャリアの開発者で、 2025 年夏以降は手書きでコードを書いておらず、 すべて AI コーディングエージェントで作業していると公言。
論理の起点は単純。 LLM コーディングエージェントは事前学習でインターネット全体を学んだあと、 強化学習でコード操作 (リポジトリ理解、 変更、 パターン複製) に特化して訓練される。 つまり 「コードを消費して生成する」 ことには訓練されてるが、 「人間のドキュメントや MCP サーバーを使う」 ことには訓練されてへん。 だから、 ライブラリを使わせたいときは、 そのライブラリのコードを 「自分の repo の一部」 として渡すのが筋。
実演ワークフローも具体的。 空 repo から TypeScript Go (tsgo) で型チェック、 すべての診断をエラー扱いに設定 (LLM は警告を素通りする)、 Effect v4 ベータをインストール、 そして核心 — `git subtree` で Effect リポジトリを `.repos/effect/` に配置、 `agents.md` に 「監視モード禁止」 「`as` 型アサーション禁止」 「リポジトリパスを参照」 を書き込む。 エージェントには 「これは私のコードベースの一部や」 と錯覚させる。 なぜなら gitignore された node_modules にエージェントは目を向けへんから。
個人的に面白かった点
「コードを読むよう訓練されている、 ドキュメントは読まない」 (11:18)
モデルの post-training フェーズで何が学習されるかの整理が鋭い。 「コードベースを引き裂く、 変更を加える、 パターンを複製する」 が訓練される一方、 「MCP サーバーを使う」 「ドキュメントを読む」 は訓練されていない。 だから MCP / docs ベースのアプローチは構造的に弱い。 一見トレンドに逆行するこの主張を、 自身のライブラリ開発実績で裏付ける説得力が重い。
「AI では、 少ないほど効果が得られる」 (43:48)
コンテキスト管理に関する逆説。 100 万トークンのコンテキストウィンドウは必ずしも有利やなく、 同じコンテキストで複数タスクを処理するとモデルが脱最適化する。 解はシンプル — bash スクリプトで 「小タスクを 1 つ選んで実装して終了」 をループするだけ (Geoffrey Huntley の Ralph ループ)。 複雑なコンテキスト管理アーキテクチャを組むより、 「セッションを使い捨てる」 方が効く。 これは Anthropic Skills の progressive disclosure や Raindrop の自己診断と並ぶ、 「エージェント時代の設計指針」 の一つ。
Sonnet 4 は 「ナイフを持って家の中を走る子供」 (15:08)
Geoffrey Huntley の表現を引用してモデル世代差を語る場面。 Sonnet 4 は混乱しがちやけどコーディングには十分、 Opus 4.5 / GPT-5.4 は遥かに改善、 オープンウェイトモデルは 3〜6 ヶ月遅れ。 ただ Anthropic 系は冗長な agents.md を生成しがちで、 OpenAI 系は遥かに簡潔、 という現場肌感覚も。 こういう実用知見はベンチマーク表には出てこない、 実際にライブラリを 1 年書いた人にしか言えへん観察。
動画の構成
- (00:00) 自己紹介、 「ゼロから始める」 宣言、 観客との対話
- (03:30) Effect の紹介、 自身の開発スタイル — ライブラリレベル、 ドキュメントなし環境
- (06:02) LLM と人間の脳の違い、 継続学習がない構造
- (11:18) コーディングモデルの post-training は 「コードを読む」 こと、 「ドキュメントを読む」 ではない
- (13:03) 結論先出し — リポジトリを丸ごとクローンするのが最も効く
- (14:00) ワークショップ開始、 GPT-5.4 + open-code で Repo 作成
- (15:08) Sonnet 4 vs Opus 4.5 / GPT-5.4 のモデル比較
- (20:00) TypeScript Go (tsgo) で型チェック、 すべての診断をエラー化
- (31:00) Effect v4 ベータ追加、 git subtree で Effect repo を `.repos/` に
- (38:00) `agents.md` 設計 — 監視モード禁止、 リポジトリ参照、 ESLint カスタムルール
- (41:00) Anthropic vs OpenAI モデルの記述スタイル比較
- (43:48) 「AI では、 少ないほど効果が得られる」 — Ralph ループの紹介
- (以降) HTTP API 実装に向けた仕様駆動開発、 Effect パターンの抽出など
出典
Vibe Engineering Effect Apps — Michael Arnaldi, Effectful (AI Engineer)
Effect 公式: effect.website · 講演者 GitHub: @mikearnaldi
講演者プロフィール: マイケル・アルナルディ / Michael Arnaldi