ブログ

名前を知らなくてもコードを探す: セマンティック検索

大きな組み込みプロジェクトで、関数名ではなく役割や意図からコードを探す考え方。

RS

Rishabh Sinha

Embedr

コードを探すとき、関数名や変数名を覚えていればgrepで十分です。でも実際には「WiFi再接続の処理はどこだっけ」「センサー初期化はどのファイルだっけ」のように、名前ではなく概念で探したいことがあります。

テキスト検索の限界

reconnectWifiという名前なら検索できます。しかし実装がensureNetworkconnectToApという名前なら、思いつかないかもしれません。

セマンティック検索

セマンティック検索は、言葉の意味や役割で関連コードを探します。完全な魔法ではありませんが、大きなプロジェクトの入口を見つけるには便利です。

組み込みでの使いどころ

  • センサー読み取りの流れを探す
  • 通信再接続処理を探す
  • エラー処理やリトライを探す
  • 初期化順序を理解する

エージェントと組み合わせる

検索結果をエージェントに渡すと、「この周辺を読んで、変更すべき最小箇所を教えて」のような依頼がしやすくなります。