/
May 30, 2025
/
#
Min Read
自動車ソフトウェアの複雑さが増し続ける中、エンジニアリングチームは、開発者の効率を高め、エラーを減らし、セーフティクリティカルなシステムの品質を維持するために、AI支援ツールに目を向けています。ここSibrosでは、Cursor IDE、Windsurf、Cline、Claude Code、その他のラージ・ランゲージ・モデル(LLM)などのツールを採用して、OTAの更新からデータロギングや診断に至るまで、コネクテッド・ビークル・プラットフォーム全体の開発をサポートしてきました。
この記事では、AI コーディングアシスタントをワークフロー(特に組み込みおよびクラウドベースの自動車ソフトウェア)に統合するための実践的なパターン、学んだ教訓、ヒントを紹介します。これらは理論的なアイデアではなく、生産システムを構築するために私たちが日常のワークフローに取り入れている実際の応用方法です。あなたもそうすることができます。
自動車システムでは、 設計段階の早い段階で犯した間違いは、後で修正するには費用がかかります。 これは、OTA 更新オーケストレーションやログストリーミングなどの緊密に結合されたサービスに特に当てはまります。Cursor IDE では、すべての新機能について、まず AI を使用してシステムを共同設計する広範な計画から始めます。
LLMにサービス責任を定義し、ドメインモデルをスケッチし、通信契約を見越すよう促します。
OTA ソフトウェアアップデートの展開サービスを構築しています。以下の概要を教えてください。
プロンプトの例:
このような事前の設計により、後で解約することが減り、アーキテクチャに関する決定においてチーム全体が足並みを揃えることができます。
初期状態では、LLMには特定のリポジトリに関するコンテキストはありません。そういうわけです。 . カーソルルール ファイルが入ってくる。これらはプロジェクトの AI オンボーディングドキュメントと考えてください。
これらを使用して以下を定義します。
スニペットの例:
これにより、AIは私たちのスタイルに合ったコードを完成させることができ、内部の矛盾を避けることができます。
自動車コードは、ファームウェアの更新、ブレーキコントローラー、テレメトリ診断などの重要な機能に影響することがよくあります。つまり、AI が生成するコードはテスト可能、予測可能、検証可能でなければなりません。
私たちは「テストファースト」の迅速なアプローチを採用しています。つまり、AIにロジックの記述を依頼する前に、成功とはどのようなものかを定義します。
テスト生成のプロンプト:
これにより、AI は制約の範囲内で動作し、下流での望ましくない動作を回避できます。
フルスタックトレースを手動で読み取ることはなくなりました。代わりに、Cursor に直接貼り付けて、根本原因の分析を依頼します。これは、パニックが連鎖的に起こることが多い Go で特に役立ちます。
プロンプトの例:
これは OTA ロールアウトロジック内で `.Deploy () `を呼び出そうとしたときに発生します。デバッグを手伝ってください。
AIは考えられる原因を返し、ロギングラインを提案し、さらには修正を提案します。これは、これまで 30 分間のラバーダッキングとログのふるい分けに代わるものです。
LLM を扱う際によくある落とし穴の 1 つは、壊れたコードの上に修正を重ねてしまう傾向があることです。これが原因で、「くだらない」という言葉が生まれます。これは、根拠が不十分な編集が何層にも重なっていることを指す用語です。
これを避けるには:
この習慣により、コードをクリーンに保ち、微妙に壊れたものを出荷するリスクを最小限に抑えることができます。
多くの AI ユーザーは、リファクタリングに Cursor を十分に活用していません。技術面での負債を減らすために積極的に活用しています。Cursor は、長い関数、繰り返されるブロック、一貫性のないパターンを見つけるのに最適です。
プロンプト:
これにより、テストカバレッジの信頼性を維持しながら、レガシーコードをより迅速に最新化できます。
フレームワークやパターンによっては、他のフレームワークやパターンよりも AI に優しいものがあることがわかりました。Cursor は、システムがモジュール化され、型付けされ、文書化されている場合に最もよく機能します。
私たちは以下を支持します:
内部専用の DSL や型指定されていない API を避けることで、AI の有効性が大幅に向上します。
AIはコードを書くだけでなく、ドキュメントも書きます。Cursor を使用して内部ドキュメント、API 仕様、さらにはアーキテクチャ決定記録 (ADR) も生成します。
プロンプト:
これにより、手動によるオーバーヘッドが減り、機能が進化しても社内ドキュメントが最新の状態に保たれます。
これらのAI支援開発パターンは、理論から生まれたものではありません。実際の自動車グレードのシステムの構築に何百時間も費やした結果生まれたものです。私たちのアドバイスは、AI をオラクルではなく、協力者のように扱うことです。反復や提案はAIに任せてください。特にセーフティクリティカルなロジックの場合は、必ず人間によるレビューを重ねてください。
信頼性を犠牲にすることなくより迅速に行動したいと考えているコネクテッドカー開発者にとって、これらのパターンを採用することは真の優位性となります。