AI Context Abstraction Layer ADR-001: gem ベースのアーキテクチャ
AI Context Abstraction Layer を ActiveContext Ruby gem として実装するための意思決定記録。
ステータス
承認済み
コンテキスト
AI Context Abstraction Layer は、異なるベクターストア(Elasticsearch、OpenSearch、pgvector を使用する PostgreSQL)にまたがるセマンティック検索のための統一インターフェースを提供する重要なコンポーネントです。このレイヤーには次が必要です。
- 複数の GitLab サービスで再利用できること
- 単体で保守およびテストできること
- GitLab 固有の実装から明確に分離されていること
- 将来のベクターストアバックエンド向けに拡張できること
決定
私たちは次のように決定しました。
- ActiveContext Abstraction Layer を、GitLab Rails リポジトリ内の
gems/gitlab-active-contextに配置される Ruby gem として実装する - gem の名前を
ActiveContextとし、したがってすべての gem クラスをActiveContext::の名前空間配下に置く - GitLab 固有の実装は
Ai::ActiveContextの名前空間配下に置く(例:Ai::ActiveContext::Collections::Code、Ai::ActiveContext::References::Code)
参考文献
最終更新 July 30, 2026: Merge pull request #483 from kyama0/translation/batch-2026-07-29-1 (
c955a93f)