2026 年にコードを書く理由とは

2026/07/11 1:12

2026 年にコードを書く理由とは

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

主要なメッセージは、ソフトウェア工学がコードの記述のみ、あるいは AI 出力の盲目的な承認に依存することはできず、代わりにエンジニアリングにはスキル、ナレッジベース、および自動評価を核とした堅牢な「ソフトウェアファクトリー」インフラストラクチャを構築する必要があるという点である。英語による記述は複雑な計算に対してしばしば曖昧でありすぎ、したがって真の精度を得るためには、Large Language Models (LLMs) を単なる「インターン」として扱うのではなく、可実行環境で直接作業を行う必要がある。これらのデジタルアシスタントは、慎重に監督されない場合、人間のエラーを増幅したり、状態管理が不十分で脆弱なシステムを生み出したりする可能性がある。

こうした罠を避けるためには、開発者はエンジニアのように間欠的にエンジンを実際に取り外してその内部構造を理解するように、深いアーキテクチャ的知見を維持しなければならない。この実用的アプローチにより、チームは継続的インテグレーション (CI) を後付けの考えではなく、基盤的な安全網として早期に導入するようになる。実行可能なステップへの優先およびシステム脆弱性との直接的な関与を通じて、企業が AI によって引き起こされるコード量の急速な拡大に対応できるようであり続ける堅牢なパターンを確立できる。最終的に、エンジニアは現実時間において批判的に思考することにより独自価値を保持し続け、技術が急速に進歩する一方で品質の低下は緩やかに保つことを保証する。

本文

ソフトウェアの工場:コードを書くことの再考とエージェント活用指南

1. 我々の仕事の本質

我々の仕事は単なるソフトウェア構築ではなく、「ソフトウェアの工場」そのものを築き上げることです。

  • エージェント成功を支えるためのインフラ整備が不可欠です。
    • 能動的な行動: プロンプト、スキル(AGENTS.md)、知識ベースを活用し、自律的に動かせます。
    • 反応的・受動的な防護: 自動化された評価ツール(テスト、リンティング、型システム、評価タスクなど)により、ソフトウェアの質を守ります。
  • これらの制約を与えることで、能力の低いモデルであっても十分な成果を生み出せます。
    • 最新のコンテキストを与えれば、変更要求も適切に処理できます。
    • コードレビューすら不要に見えるほど自動化が進む可能性があります。

2. なぜコードを書く必要があるのか

しかし、私は「コードを書くことを捨てるべき」という見解には同意しません

  • 直接の実行環境体験: エージェントが人間の頭脳(知能)を凌駕するためではありません。英語に頼らず、実行環境内で直接思考することが重要だからです。
  • 脆弱性(Fragility)の理解:
    • 「遠くから観測」だけでは不十分です。システムアーキテクチャと真に接続する必要があります。
    • コードの上に構築する際、一つでも壊れる可能性がある箇所を自分で体験し、その「痛み」を理解することが必要です(4DX 体験のような没入感)。
  • 設計の改善:
    • 脆弱性を体験することで、エージェントが理解しやすいコード構造を作れます。
    • コードを整頓し、アーキテクチャ原則を文書化すれば、ソフトウェア工場は向上します。
    • デバッグ能力やテスト戦略の弱点発見を通じて、新たなバグを撲滅できます。

3. エージェントとの正しい関係性

私はコード生成ツールとしての AI を否定するわけではなく、「スロープ(粗悪なコード)」への依存も警戒します。

  • 人間がすべきこと:
    • コード書きは思考を助ける有用なツールです。
    • 他の開発者にも同様のアプローチを採用することを推奨します。
  • 「逆仙(Reverse Centaur)」からの脱却:
    • エージェントに依存しすぎる状態では注意力が散漫になりがちです。
    • コードを「読み承認する」だけでは所有感が生まれず、スロープは検知できません。
    • 人間が実動手(Hands-on)アプローチを取り、方針決定を行うことで、エージェントはそれをパターン化して大量生産できます。
  • 思考と審美性の保持:
    • エージェントは「インターンの軍隊」であり、完全なコンパイラではありません。
    • 部分的で不完全なコードを処理し、不正確な説明から正しく変化を生成させる必要があります。
    • 人間が思考の主導権と審美性を握り続ける限り、エージェントを適切に運用できます。

4. エージェントの限界と改善事例

エージェントは現状維持バイアスを持ちやすく、一時的な悪癖が固化するリスクがあります。

  • 具体例:
    • 人間の誤判断(例:ローカルストレージの使用)を、エージェントは「保守的」に正解とみなして拡大再生産します。
    • その結果、必要なラッピングや間接化によりコード行数(LOC)が膨らみ、複雑化しました。
  • 解決策:
    • 既存コードを取り払い、英語ベースでの代理思考よりもコードを通じて直接探索・設計を行う方が優れたアーキテクチャへ至れます。
    • このプロセスにおいて、思考力と作者性は大幅に増幅されます。

5. まとめ:ソフトウェア工場への挑戦

詳細な管理こそが、ソフトウェアファクトリー成功の鍵です。

  • 評価と制御: エージェントは我々に評価、計測、ガード(防御)を促します。
    • サイドプロジェクトから CI(継続的インテグレーション)を初期段階で導入するなど、劇的な改善をもたらします。
  • 工場の維持管理:
    • 組み立てラインの弱点は存在するため、定期的な10% の向上を目指すための深挖が必要です。
    • 現場の問題(例:ブレーキパッドテストの徹底的な観察)を早期に検出するために、足元まで確認する姿勢が求められます。
  • 境界線の打破:
    • 「触れない部分」などの恣意的な境界線を引くのは試みを妨げます。全体像を持ちながら細部とつなげる視点が不可欠です。

※追加情報: 皆様も「Cheat at Search with Agents」に参加し、エージェント活用型検索や RAG の構築、LLM を活用したクエリ理解法等を学びませんか?

同じ日のほかのニュース

一覧に戻る →

2026/07/13 6:12

Chromium 148 より*Math.tanh*は下位の OS を特定するフィンガープリントとして使用可能になった

## 日本語翻訳: Chrome バージョン 148 以降、Chrome や同様のブラウザは特定の数学的な挙動を通じて正確なオペレーティングシステムの詳細を漏らし、高度なデジタルフィンガープリンティングを可能にしています。これはまず `Math.tanh` 関数から始まり、bundled routines からホストライブラリへと切り替わったことで、macOS、Windows、Linux のユーザーが使用しているか否かに基づいて小数点以下最終桁が 1 ユニット異なる独自のプロファイル(OS シグネチャ)が作成され、他の V8 数学関数とは異なりプラットフォーム間で同一ではなくあります。また、すべての CSS 三角関数はホスト libm を直接呼び出すことで OS を漏らします。macOS Apple Silicon では、スカラーおよびベクトルフレームワーク間のアーキテクチャ固有の分断により計算に著しい乖離が生じます。Scrapfly はこれらの問題に対処するため、数学的ビットごとの再現を含め、Linux のなりすまし用の真正な Windows ライブラリのマッピングや特定の ARM/x86 FMA(fused-multiply-add)挙動の処理を含む特別ソリューションを開発しました。彼らの Scrapium ブラウザはこれらの OS シグネチャを真正的なシステムと完全に一致するようになりすまえ、同時に最適な速度のためにハードウェア FMA を能動的に有効化します(ネイティブエミュレーションより最大約 6 倍高速)。高度なマッピング技術および数十万もの入力を対象とした厳格な検証を通じて、ユーザーは微妙な数学的な丸めエラーや将来のアップデートにおけるアーキテクチャの癖に基づく識別を防止する同時期にネイティブレベルのパフォーマンスで完全なステルスを実現します。

2026/07/13 5:23

小さなエミュレータ

## Japanese Translation: このテキストは、収集家のためのプラットフォーム間での即時的な互換性を優先しつつ、コモドール C64、ZX Spectrum(48k/128)、Amstrad CPC(CPC464/6128)、Acorn Atom、Z1013 などのレトロコンピュータシステムおよびそれらの対応ソフトウェアの包括的な目録です。具体的には、『Boulderdash』『Ghost's'n'Goblins』『Rick Dangerous』『Prince of Persia』のようなアクションゲームや、『Tetris』『Pengo』『Sokoban』のようなパズルゲームにわたる特定のタイトルを対象とし、ローディング時の独自の要件(例:BASIC 環境では「Enter」キーを押す、Spectrum タイトル『Cyclone』『Great Escape』では特定のジョイスティック種類[Kempston]を選択する、特定のインターフェースでは「F1」「SPACE」キーを押すなど)を詳述しています。また、本ガイドでは Arkos/Overlanders、Batman Group、Plush、Offence、Oxyron、Proxima、Dekadence などの著名なデベロッパーに帰属する様々なデモとインターフェースを列挙しています。さらに、特定のコントローラーや RAM モジュールなどといったハードウェアの制約を明示することで、今日広く利用可能な膨大なソフトウェアライブラリがどの機械構成で実行可能かをはっきりさせます。これは『Visual 6502 Remix』から『Wunderbar』『Batman Forever』などの特殊なデモにいたるまで、すべてのソフトウェアを網羅しています。最終的には、古いハードウェア上で何が達成可能かについてユーザーが正確に知ることを保証し、余計な詳細を含めない実用的な参考文献として機能します。

2026/07/13 3:25

Claude Code はプロンプトを読み込むまでに約3万トークンを消費し、OpenCodeは7,000 トークンである。

## Japanese Translation: 主要な知見は、セッションの段階と設定の複雑性に 따라 Claude Code と OpenCode の間でのトークン使用ダイナミクスが著しく異なることを示しています。標準的な設定において、Claude Code は非効率的なシステムプロンプト、キャッシュ管理のために数万のトークンを再記述し、堅牢なフレームワークテンプレートにより引き起こされる大規模な初期オーバーヘッド(約 33,000 トークン)を被る一方、OpenCode の床は低い(約 7,000 トークン)ため、大きな差を生じています。ただし、Fable 5 のような新しいモデルではこの隙間が縮小します。特に、複雑な本番環境設定においては、OpenCode 自身のツール呼び出しのシリアライゼーションとスキーマサイズによる影響で、最初のリクエストでより高いトークン負荷(Claude の約 75,000 トークンに対し、約 90,817 トークン)を被り、その後のリクエストで安定化するまで要請されます。新しいモデルは命令セットのサイズを削減しますが(例:27k から 10k クラクターへ)、特定のコストドライバーは残っています:対話履歴と乗算される延長された思考ブロック、「フレームワーク税」として作用する大規模な静的フレームワークテンプレート(例:AGENTS.md)、およびバーストコストを増幅するサブエージェントのファンアウト構造。さらに、本研究では EU AI Act のログ記録要件への準拠を確保し完全性を保証するために、キャッシュの書き込みと課金構造の違い(例:キャッシュされた読み取り対課金されるプレミアム書き込み)を検証できるよう、185 件のレコードを捕捉した SHA-256 ハッシュ連鎖監査軌跡を利用しました。 ## Text to translate: The primary findings indicate that token usage dynamics vary significantly between Claude Code and OpenCode depending on the session stage and configuration complexity. While Claude Code incurs a massive initial overhead (~33,000 tokens) compared to OpenCode's low floor (~7,000 tokens) in standard setups—driven by inefficient system prompts, rewriting tens of thousands of tokens for cache management, and rigid framework templates—this gap narrows with newer models like Fable 5. Notably, in complex production configurations, OpenCode's first request can incur a higher token load (~90,817 tokens vs. ~75,000 for Claude) due to its own serialization of tool calls and schema sizes before stabilizing on subsequent requests. While newer models reduce instruction set sizes (e.g., from 27k to 10k characters), specific cost drivers remain: extended thinking blocks that compound with conversation history, large static framework templates (e.g., AGENTS.md) that act as a "framework tax," and subagent fan-out structures that multiply bootstrap costs. Additionally, the study utilized a SHA-256 hash-chained audit trail capturing 185 records to ensure integrity and support compliance with EU AI Act logging requirements, verifying that both architectures handle cache writes and billing structures differently (e.g., cached reads vs. billed premium writes).