22 ポイント 投稿者 GN⁺ 2025-11-06 | 3件のコメント | WhatsAppで共有
  • Windsurf Codemapsは、AIが注釈を付けた構造化コードマップであり、開発者がコードベースを迅速かつ正確に理解できるよう支援する新しいコード探索ツール
  • 既存のAIコーディングツールがコード作成の自動化に集中してきた一方で、Codemapsは理解中心のエンジニアリングを目標とし、SWE‑1.5とClaude Sonnet 4.5モデルを基盤に動作
  • コードベース内の機能フローを視覚的に表示し、正確なコード位置へ即座に移動したり、「trace guide」を通じて関連コードグループの説明を確認可能
  • Cascadeなど既存のチャット型エージェントよりもコンテキスト接続性と探索効率が高く、@{codemap}参照機能によってエージェントの作業性能を向上
  • AIは単なる代替ではなく、エンジニアの理解力と責任性を強化する協働ツールとして位置づけられる

コード理解の重要性とCodemapsの登場

  • ソフトウェア開発は単なるコーディングではなく、問題への理解から始まる
    • AIがコードを代わりに書くツールは生産性を高めるが、開発者とコードの間に理解の断絶を生む
    • 高難度・高価値の作業では、この分離が致命的な非効率につながる
  • Cognitionは「脳をオフにするAIではなく、脳をオンにするAI」が必要だと強調
  • CodemapsはSWE‑1.5とClaude Sonnet 4.5を基盤としたAI注釈付きコードマップで、DeepWikiとAsk Devinの技術を拡張した形

なぜCodemapsなのか

  • あらゆるエンジニアリング作業はコード理解から始まり、大規模コードベースでは探索と記憶に多くの時間が費やされる
    • 新任エンジニアは完全に習熟するまで3〜9か月、シニアは週あたり5時間以上をオンボーディングに使用
    • Stripeの調査によれば、レガシー保守が生産性低下の主因
  • 既存のAIコーディングツールは一般的な質疑応答が中心で、集中的なオンボーディングと精密な探索を支援できない
  • Codemapsはこうした限界を解決するための正確なコードベースマッピングツールとして設計された

リアルタイムの問題中心マッピング機能

  • Windsurf内でCmd + Shift + Cで実行し、作業目標を入力するか自動提案を選択
    • **Fast(SWE‑1.5)またはSmart(Sonnet 4.5)**モードから選択可能
    • 各Codemapはコードスナップショットを基盤とし、ZDR原則を順守
  • 視覚的なノードマップを通じてコード構造を探索し、クリックすると正確なコード位置へ移動
  • 「See more」オプションでtrace guideを開くと、コードグループの説明を詳細に確認可能
  • Cascade内で@{codemap}を呼び出して特定セクションを参照すると、エージェントのコンテキスト理解と性能が向上

「Vibeslop」に対抗するアプローチ

  • 「Vibe coding」が無秩序なAIコード生成へと変質し、理解のないコード保守が問題として指摘されている
  • Codemapsは人間とAIがシステム構造・データフロー・依存関係を共有できるようにし、理解のギャップを解消
  • エンジニアの役割は書き手から**責任者(accountability)**へと移り、理解を通じて品質を担保
  • 目標は速度だけでなく、エンジニアがフローを維持しながら複雑な問題を自信を持って解決できるよう支援すること
  • AIは単なる代替ではなく、高価値の作業を強化し、低価値の作業を軽減する協力手段として提示される

今後の計画

  • Codemapsは内部エージェントのインデックス化・分析結果を人間向けに可視化した第一段階
    • 現在はチーム間での共有や学習用途に活用可能
    • 今後はDevin・Cascadeなどエージェントの問題解決力向上への効果をベンチマーク予定
  • Codemap間の接続・注釈機能とオープンな.codemapプロトコルの定義を検討中
  • Fast Context機能と組み合わせ、自動コンテキストエンジニアリングを人間が読める形へ発展させることが目標
  • 最新のWindsurfおよびDeepWikiバージョンでCodemapsを利用可能

3件のコメント

 
galadbran 2025-11-07

deepwiki を使うたびに感心しているので、この機能にも期待しています!

 
tested 2025-11-06

VS Codeにも出てほしい

 
GN⁺ 2025-11-06
Hacker Newsの意見
  • この記事を読んで、いくつか押さえておきたい点があると思った。
    これはまた一つのFortune 500向けAI製品に見える。中小規模のチームにはあまり合わないかもしれない。
    実際、この種の静的解析ベースのダイアグラムツールはずっと前からあり、LLMが代わりに描いてくれる点以外はそれほど新しさがない。
    オンボーディングで重要なのは単にフローチャートを見せることではなく、チームが持つ問題の文脈を共有することだ。CRUDやMVCのようなボイラープレートよりも、チーム固有の特殊なパターンや制約を説明するほうが重要だ。

    • 静的解析だけで可視化すると、何を見せるかを判断する柔軟性が足りない。
      LLMが作る可視化の利点は、こうした判断力や常識が入ることで、より直感的になる点だ。
    • 今日、自分もxkcdの「Lucky 10,000」の一人になった気分だ。
      こういう静的解析ツールでおすすめがあれば教えてほしい。できればオープンソースで、Python、Java、JavaScript(特にAngular)に対応しているとさらにいい。
  • 久しぶりにWindsurfを起動して「Upgrade Available」を押したら、このページに飛ばされた。
    案内されていたコマンド sudo apt-get upgrade windsurf は、実質的にシステム全体のパッケージをアップグレードしてしまう危険なコマンドだ。
    幸い、sudo apt-get install --only-upgrade windsurf を直接実行して解決できた。
    とはいえ、新しく追加されたCodemaps機能はかなり良くて、試してみる価値がある。

    • apt-get upgrade $PACKAGE という直感的でない文法は本当におかしい。実際の正しい構文はマニュアルにも載っていない。
    • チームはこのフィードバックを見てすぐ修正したらしい。
      - sudo apt-get upgrade windsurf
      + sudo apt-get install windsurf
      
    • その文法の何が利点なのか、今でもわからない。本当に紛らわしい。
  • もっと多くの人にWindsurfを使ってみてほしい。
    自分はシニアエンジニアとしてエージェント型コーディングと通常のコーディングを並行しているが、Windsurfは過小評価されているツールだ。
    Codemaps機能が最初に出たときは本当にうれしかった。

    • 自分も似た立場だ。会社でWindsurfを使っていて、UXが本当に強みだ。
      Codemapsはここ数週間使っているが素晴らしい。コード変更が多くなるとメンテナンスが面倒になるかもしれないが、解決は可能に見える。
    • 自分はログイン強制やエコシステムへの囲い込みがないZedのようなIDEのほうが好みだ。
    • この記事を見て、自分も一度使ってみようと思う。abacus.ai IDE、claude CLIなどいろいろなツールを試してきたが、まだ完璧なワークフローは見つかっていない。
    • なぜまだVSCode内蔵Copilotの話が出ていないのか不思議だ。
      自分はSonnet 4、Sequential Thinking、Tavily MCPサーバーの組み合わせでSaaSプロトタイプを素早く作れた。価格も妥当だ。
    • Windsurfのファンではあるが、最近はCodexに完全に移った。クラウド環境が便利すぎる。
      Windsurfも良いが、価格ポリシーのせいで会社全体への導入は断念した。
  • 興味深いアイデアではあるが、生成されたダイアグラムが正確でなければ、かえって誤解を招く危険がある。
    結局人間が再検証しなければならないなら、ツールの目的が薄れてしまう。

    • 実際、「コードを本当に理解しようとしている人」でなければ、ダイアグラムはただ上司に見せるための形式的な成果物にすぎないのかもしれない。
  • この種の機能はビジネス文脈が抜け落ちたコード接続図しか見せないので、実用性が低い。
    AIはアーキテクチャの「なぜ」を理解していない。結局、設計ドキュメントを読み、コードを読むほうが良いと思う。

    • しかも多くのビジネス文脈は人の頭の中にある。本当にエンジニアレベルに達するには、AIが人間に直接質問しなければならない。
    • ただし、文脈を明示的に与えれば、LLMの出力品質は確かに良くなる。
    • 将来は、プロンプトにビジネス文脈が含まれれば、AIもその「なぜ」を理解するようになるだろう。
    • 実際には、コードの中にもかなり多くの業務文脈が染み込んでいる
      deepwikiの例Codemapリンクを見ればわかる。
      デバッグするときは、実際その程度の情報で十分だ。
    • コーディングがいつからこんなに「ビジネス文脈」中心になったのかわからない。技術的な理解だけでも十分に価値がある。
  • こうしたアプローチこそが問題解決の正しい方向だと思う。
    中途半端に動くAI製品を作るより、コードベースを人間とLLMの両方にとって理解しやすくすることのほうが重要だ。
    こうした自己文書化システムは、大企業の開発疲れを軽減できる。

    • 自分も両方のアプローチを併用している。新しいコードベースを理解するときには可視化が役立つが、その後は結局生産性が重要になる。
  • (共同著者)質問歓迎です!
    1分のデモ動画を参照してほしい。
    これはCognition CTOのStevenのアイデアだ。彼は注目を浴びるのを嫌うが、今回は本当に良い仕事をした。
    彼のツイートも参考までに。

    • 大規模なコードベースでもうまく動く例があるのか気になる。小さなプロジェクトならLLMでも十分だが、複雑なコードこそが本当の試金石だ。
    • 提案が一つある — Codemapsをサイドバーではなくメインパネルでも見られるようにしてほしい。今は狭すぎる。
  • 3年前に、似たようなアイデアでサイドプロジェクトを作ったことがある。
    LLMが登場する前だったので、自分でASTパーサーを作ってGoとJavaコードの関係を抽出し、Graphvizで可視化した。
    正規表現ベースのフィルターも追加したが、見慣れないコードベースを理解するときに本当に役立った。
    今でも packagemap.co に残っているが、かなり古くなっている。

    • 自分も似たものを作ったことがあるが、Go言語向けの3D可視化だった。
      開発者がコード構造を空間的に把握し、VR環境で文脈を見ながら作業するのが目標だった。
      関連記事はこちらにある。
  • 機能提案: Github ActionでリポジトリのCodemapを自動生成してREADMEに含め、主要なPR時に自動更新されるとよい。

  • コード可視化のアイデアは素晴らしいが、しばしば**「悪いアイデアに引きずり込まれる」危険がある。
    ほとんどのダイアグラムは意図した意味をうまく伝えられず、むしろ解釈に時間がかかる。
    人は実際にはコードや数式を読みながら、頭の中に
    自分なりの可視化モデルを作っている。
    たとえばFlutterアプリを可視化してもウィジェットツリー構造が見えないなら、自分の
    メンタルモデル**と衝突してしまう。
    結局こうした可視化は、小説を読むときに頭の中で情景が浮かぶのと似ている。
    LLMが「見たいコード映画」を作ってくれる技術なのかどうかは、まだ確信が持てない。