XERJ.code — 参照コーディング は何をしますか?
APIを知らないエージェントは推測し、実行し、失敗し、また推測します。 各サイクルは出力トークンを消費します。これは高価な種類です。このスキルは サイクルをルックアップに置き換えます。正しい実装を既に含むリポジトリをクローンし、 XERJでインデックスを作成し、コードを書く前に節を取得します。
これは意図的なトレードオフです。取得は入力トークンを使用します。これはトークンあたり
より安価でキャッシュ可能です。ループは出力トークンを消費します。このトレードオフが
不利に働く条件と計算については、COSTS.md を参照してください。
ステータス:簡潔に述べると、測定済みであり、その価値は現実的だが狭い。 (実際のトークンとドルを用いた完全なケーススタディ:
docs/case-studies/reference-coding/CASE_STUDY.md、2026-08-05。)重要な比較対象はネイティブClaude Code — 同じエージェントが ソース自体をgrepするツールを持つ — 裸のモデルではありません。3つの レジームで測定、同じエージェント、1つの客観的な判定(コンパイル+隠しテスト合格):
- モデルが記憶できないコントラクトを持つ馴染みのないコード(シール、 ジェネレーショナルハンドル、遅延リフィル、特定のハッシュスキーム — 7つの 目的別ライブラリ、21回の実行で測定):ネイティブとxerjの両方が 21/21を解決;xerjは出力トークンを1.5倍少なく使用し、ネイティブより1.3倍安い。 これは、取得がgrepを置き換えるためです。純粋なメモリは 1/21で失敗し、 6.5倍のコストを費やして失敗します。これが勝利であり、決定的です。 コンパイラはリトライループ全体でAPIの名前を漏洩させることはできても、コントラクトは 絶対に漏洩しません。
- 記憶されたコード(人気のある公開クレート — 256値のテーブルや protobufスタイルのvarintなど):取得はオーバーヘッドです。 純粋なメモリが最も安価です。大きな参照を注入すると、モデルが渡されたものを そのまま再出力するため、最悪のケースになり得ます。
したがって:参照がモデルが記憶していないコードである場合にこれを使用 — あなた自身の プライベート/プロプライエタリなコード、内部API、カットオフ後またはニッチな ライブラリ。モデルが既に知っている公開ライブラリの参照では、節約よりもコストがかかります。 ネイティブとxerjの差は、コーパスサイズとともに拡大します(grepはツリー全体を コンテキストに引き込みますが、取得は1つの節を引き込みます)。
#977以降、ループ全体は
xerj バイナリ内にあります — xerj corpus add / xerj corpus index /
xerj code — さらに、シェルを持たないエージェント向けの xerj_code_search MCPツール。
古いラッパースクリプト(xc-corpus.sh、xc-index.sh、xc.py)は削除されました。
既存の ~/.xerj-code コーパスとインデックスはそのまま動作します(以下の
移行 を参照)。
このリポジトリの常設コーパス(2026-08-06以降必須)
xerjリポジトリでは、コードを書く前の取得は、非自明なエンジン作業において
必須であり、オプションではありません。以下の各コーパスには、hub/ に
ピン留めされ、ライセンスレビュー済みの定義があります — xerj corpus add --from hub/<name>.json を実行すると、
他の誰もが使用しているのと同じコミットで再構築されます:
| コーパス | プロジェクト | 使用目的 |
|---|---|---|
xerj-search | lucene, tantivy, meilisearch, quickwit, sonic, elasticsearch | FTS、BM25、ポスティング、マージポリシー、タイポトレランス、セグメントレイアウト、ESワイヤーセマンティクス |
xerj-vector | qdrant, usearch, instant-distance, hnswlib | HNSW構築、近傍ヒューリスティック、量子化、フィルタリングkNN |
xerj-storage | sled, fjall, redb | WAL、フラッシュエポック、クラッシュリカバリ、コンパクション、ページ割り当て |
xerj-columnar | clickhouse | カラムナストレージ、集約実行、圧縮コーデック、ベクトル化スキャン |
アプローチのみのソース: elasticsearch(AGPL-3.0 / SSPL-1.0 / Elastic-2.0)
および sonic(MPL-2.0)。それらのコードをApache-2.0のXERJにコピーしないでください。ESの場合、
ソースを貼り付けると、プロジェクトの「Elasticsearchとコードを共有しない」という公の主張も
虚偽になります。meilisearch はコアがMITですが、Enterprise Editionの部分はBUSL-1.1です —
最初にヘッダー/パスを確認してください。設計を読み、独自の実装を書いてください。
各マニフェストの review.use フィールドは、リポジトリがどのバケットにあるかを示しています。
hub/README.md が3つのバケットを説明しています。
ハブコーパスとローカルコーパス
2種類のコーパスが同じローカルノード上にあります。それぞれ異なる種類の質問に 答えます:
| ハブコーパス | ローカルコーパス | |
|---|---|---|
| 保持するもの | ピン留めされたコミットの公開素材:ライブラリのソース、標準、規制、アドバイザリフィード | このマシンのみが持つファイル:作業中のプロジェクト、プライベートドキュメント、エクスポート |
| 使用するタイミング | メモリから正確に引用できない詳細が必要な場合 | 答えが自分のファイルにある場合 |
| 追加方法 | xerj corpus add --from ./<slug>.json、次に xerj corpus index <slug> | xerj autoindex <folder> |
| クエリ方法 | xerj code <slug> "<question>" · MCP xerj_code_search | xerj search "<words>" · xerj def "<symbol>" · MCP xerj_search |
xerj autoindex --prefix <p> でインデックス化されたフォルダは、そのテーブル内のローカルパスであり、xerj code コーパスではありません:xerj corpus list は ~/.xerj-code を読み取り、xerj corpus add がフォルダを登録するまで <p> をリストしません。また、それを検索するコマンドは xerj search --prefix <p> および xerj def --prefix <p> です。
既に正確に述べられる事実にはどちらも使用しないでください。記憶されたコンテンツでは 取得はオーバーヘッドです(上記のステータスノートを参照)。
ハブマニフェストは、corpus-hub ブランチのチェックアウト
(tools/xerj-code/hub/<slug>.json)から、またはチェックアウトなしで生のURLから取得できます。
corpus index と code の両方が実行中のノードと通信します:
curl -fsSLO https://raw.githubusercontent.com/xerj-org/xerj/corpus-hub/tools/xerj-code/hub/<slug>.json
xerj corpus add --from ./<slug>.json # 最終行:次:xerj corpus index <slug>
xerj corpus index <slug> # 終了:コーパス '<slug>' 検索可能:<N> レコード
xerj code <slug> "<question>" # ファイルパスと行で始まる節
--from はローカルファイルを読み取ります:v1.0.0-rc.95 はURLをフェッチせず、URLを渡すと
no such manifest と応答します。
手元のプロジェクトに適したコーパスの選択
上記の4つのエンジンコーパスは、このリポジトリの常設セットです。完全な
ライブカタログは hub.xerj.org で閲覧可能で、
hub.xerj.org/llms.txt にコーパスごとに1行あります。
ノードがロードしているものは xerj corpus list --url <node> で確認できます。すべての
コーパスは、ソースごとにライセンスが記録されたコミットにピン留めされています。G7(
取得が実行される前にスイートが事前登録された5問の取得ゲート)は、一部の
コーパスでは評価済みで、他では未評価であり、各ハブページにその旨が記載されています。
サイズではなく、プロジェクトのドメインで選択してください:
| プロジェクトが… | まずこれから始める | 理由 |
|---|---|---|
| 検索/クエリエンジン | xerj-search | ポスティング、BM25、マージポリシー、セグメントレイアウト、ESワイヤーセマンティクス |
| ベクトル検索/ANN | xerj-vector、faiss、annoy | HNSW構築、近傍ヒューリスティック、量子化、フィルタリングkNN;faissは参照ANN実装、annoyはフォレストバリアント |
| ストレージエンジン/KV | xerj-storage、duckdb、rocksdb、leveldb、badger、lmdb、pebble、valkey-src | WAL、クラッシュリカバリ、コンパクション、ページ割り当て;LSM対Bツリー;pebbleはL0サブレベルと範囲削除セマンティクス用;valkeyはメモリ内KVサーバーのデータ構造用 |
| 分析/カラムナ | xerj-columnar、duckdb、arrow-rs、parquet-format、iceberg | カラムナレイアウト、コーデック、ベクトル化スキャン、テーブルフォーマット |
| データベースサーバー | sqlite-src、postgres-src | パーサー、プランナー、エグゼキューター — この分野で最も研究された2つのコードベース |
| メッセージング/コンセンサス | kafka-src、rabbitmq、nats-server、etcd-src、raft-rs、dragonboat | ログコンパクション、配信セマンティクス、クォーラム/リースの正当性 |
| モニタリング/時系列 | influxdb、prometheus-src | TSDBレイアウト、ダウンサンプリング、スクレイプ/インジェストパス |
| TLS/暗号/トンネル | rustls、openssl、s2n-tls、boringtun | 手作業による最新TLS、強化の先例、定数時間パターン |
| QUIC/HTTP/ネットワーキング | quinn、nghttp2、curl-src、libuv、caddy、envoy、nginx | プロトコルステートマシン、コネクションプーリング、イベントループ |
| 圧縮/シリアライゼーション | zstd、lz4、brotli、zlib-ng、snappy、protobuf、flatbuffers、capnproto、msgpack-c | フォーマット設計、ブロック化/エントロピーコーディング、ゼロコピースキーマ |
| シークレット/設定提供 | openbao | シール/アンシール付きKVストア、リース機構 |
| API設計レビュー | rust-api-guidelines、msft-api-guidelines、zalando-restful-api-guidelines、google-eng-practices | 命名、エラー形状、バージョン管理;Zalandoは最も条項が完全なRESTポリシーセット、google-eng-practicesはコードレビュー原則を所有 |
| プロトコル/仕様準拠 | openapi-spec、graphql-spec、json-schema-spec、w3c-css、whatwg-specs、ecma262、nats-protocol、kafka-protocol | 実装が評価される規範的テキスト — HTML/DOM/URLの生きた標準、ECMAScript文法、ワイヤープロトコルフレーミング |
| 適切なRFCを読む前に特定する | ietf-rfc-abstracts | RFCごとに1レコード(9,015件):番号、タイトル、日付、要約 — 「Xを実際にカバーするRFCはどれか」を全文を取得せずに特定(TLP-5.0) |
| 本番運用/SRE | gitlab-runbooks、school-of-sre、tldr-pages、mozilla-ssl-configs、twelve-factor | 実際のインシデントプレイブック、完全なSREコースカリキュラム、ツール別コマンド構文、デプロイされたTLS設定、デプロイメント原則 |
| Unixシステムの管理 | freebsd-handbook、openbsd-faq | rc/ZFS/jail/ネットワーキング手順、OpenBSDの標準FAQの立場 |
| ホスト型APIに対するドキュメント作成 | github-api-description | github.restのOpenAPI記述 — フィールドセマンティクス、列挙値、プレビューヘッダー |
| データストア運用ドキュメント | valkey-docs、etcd-docs | コマンドセマンティクス、設定ノブ、チューニングガイダンス — 各運用リファレンス |
| テレメトリー/オブザーバビリティ配線 | otel-proto のsemconv半分(候補 — G7 2/5、セマンティックレーンに駐車中) | OpenTelemetry属性名のセマンティックコンベンション;語彙ラウンドでは言い換えから規範的散文への橋渡しができなかった |
| 国際化 | unicode-cldr | CLDRロケールデータ構造、カレンダー/数値/日付スケルトン |
| Rust依存関係のセキュリティレビュー | rustsec-advisories、rust-vulns パック(xerj corpus add --from ハブレシピ) | アドバイザリごとに1テキストレコード(1,963件:RustSec + crates.io OSV、エイリアス重複ゼロ):影響を受けるバージョン、修正リリース、271件の影響を受ける関数シンボルリスト;パックはパッチ済みペアマイニング(#1111の欠陥クラス研究)の手段であり続ける |
| Python依存関係のセキュリティレビュー | pysec | PYSECアドバイザリレコード、影響を受けるバージョンと修正バージョン、CVE/GHSAエイリアス |
| クロスエコシステム依存関係監査 | ghsa-db | GitHubレビュー済みアドバイザリ(36,263テキストレコード):CVSSベクター、パッチ済み範囲、npm/PyPI/Go/Rust/mavenおよびその他の影響を受けるパッケージ |
| Goモジュールのセキュリティレビュー | go-vulndb | Goチームキュレーションのアドバイザリ(4,577件):影響を受けるパッケージとシンボル、修正バージョン、CVEエイリアス付きGO ID |
| 正規表現DoSの先例 | redos-precedent | 634の正規表現固有のReDoSアドバイザリ(CWE-1337/185クラス、裸のCWE-400ではない):病理学的入力、影響を受ける関数、境界付き書き換え |
| 暗号誤用の先例 | crypto-misuse-precedent | 721のCWE-326/327/328/329/347クラスアドバイザリ:弱い暗号、ハードコードされたキー、ナンス再利用、署名検証バイパス、パディングオラクル、ECB |
| 脆弱性/弱点の分類 | mitre-cwe、mitre-capec | CWE弱点定義とCAPEC攻撃パターン、IDレベル |
| 敵対者技術/検出エンジニアリング | mitre-attck | ATT&CK v19.2の技術別レコード:技術ID、戦術、検出データソース、手順例(エンタープライズ/モバイル/ICS;ソフトウェアとグループオブジェクトは対象外) |
| パッチ優先度トリアージ | cisa-kev | Known Exploited Vulnerabilitiesカタログ、CVEごとに1レコード — 実際の悪用状況、拘束力のある修復日付 |
| Webアプリケーションセキュリティのハウツー | owasp-cheatsheets | Cheat Sheet Seriesのトピック別対策レシピ — セッション管理、認証シークレット、エラー処理、アップロード処理 |
| Webアプリケーションペネトレーションテストの計画 | owasp-wstg | Web Security Testing Guide v4.2カタログ:テストごとの目的と方法、カテゴリ別(認証、認可、セッション、入力処理) |
| アクティブなキャンペーンのトリアージ | cisa-alerts | CISAアドバイザリのIOC、必要なアクションと緩和策(2025-05..2026-10の範囲) |
| エンドポイント可視性のクエリ | osquery-config-examples | 実際にデプロイされたosqueryパックとスケジュールクエリの形状 |
| 非ソフトウェア(税、雇用、英国法) | ecfr-title-12、ecfr-title-29、ecfr-title-26、uk-legislation | 統合された現在の規制、ファイルごとのセクション |
| 航空(FAR) | ecfr-title-14 | 14 CFRのファイルごとのセクション:視程最小値、トランスポンダ空域、検査間隔、優先権 |
| 海上交通ルール | navrules | COMDTINST M16672.2Dのルールごとのテキスト — 衝突リスク、狭い水路、横断状況、灯りと音響信号 |
| アクセシブルUIコンポーネント | govuk-design-system | GOV.UKコンポーネントオプションとアクセシビリティ基準 — 正確なオプションセマンティクス(maxwords対maxlength、区切りテキスト、focus-on-load) |
| 製薬/医薬品ラベル | dailymed | FDAラベルセクション:適応症、禁忌、投与タイミング |
| 臨床治療ガイダンス | cdc-clinical | CDC STI治療レジメンと用量、梅毒脱感作、麻疹臨床症状 |
| 飲食サービス安全 | fda-food-code | FDA食品コード2022の規定:手接触面、公衆衛生管理としての時間、日付表示、素手準備 |
| 交通制御機器 | mutcd | FHWA MUTCD第11版(Rev 1):標識と信号の基準、標示、工事ゾーンの一般的適用 |
| 建築工事(イングランド) | uk-building-regs | 建築規制2010(SI 2010/2214)の規定ごと:パートA–Pの要件、ウェールズの変形… |
…
[翻訳のため省略]