• 案件・求人一覧
  • お役立ちコンテンツ
  • 単価診断
  • ログイン
  • 会員登録
メニューを開く

ハイブリッド検索とは|BM25とベクトル検索をRRFで統合する方法

スキル

最終更新日:2026/10/16

ハイブリッド検索とは|BM25とベクトル検索をRRFで統合する方法

ハイブリッド検索とは、BM25によるキーワード検索とベクトル検索を並列に実行し、RRFなどの融合アルゴリズムで1つのランキングに束ねる検索方式です。型番や固有名詞の取りこぼしと、言い換えへの弱さを同時に埋められます。RAG構築で検索精度が頭打ちになったエンジニア向けに、統合方式の選び方とパラメータの決め方を整理します。

先に結論

  • ハイブリッド検索は、BM25(語の一致)とベクトル検索(意味の近さ)を並列実行し、結果を1本のランキングに統合する方式です。単独方式では拾いにくい文書を互いに補完させるための検索設計です

  • 統合方式は順位ベース(RRF)と値ベース(スコア正規化)の2択。BM25スコアは上限なし、ベクトル検索の類似度は実装や距離指標でレンジが異なるため、素の足し算は基本的に避けます

  • 迷ったらRRFから始めるのが実務的です。計算式は1/(k + rank)。定数kはElasticやAzure AI Searchの説明では60前後が初期値・推奨値として扱われる一方、Qdrantのように異なる既定値を採る製品もあります

  • 一般的な社内RAGやFAQ検索であれば、各リトリーバで50〜200件程度を候補取得し、融合・必要に応じたリランキングを経て、最終5〜12チャンク程度をLLMへ渡す構成から検証するのが出発点になります

  • ハイブリッドが常に勝つわけではありません。導入前後で同じ評価セットを回し、Recall@kが改善したかを確認してから本番に入れます

本記事の製品仕様・既定値は、2026年10月時点で各公式ドキュメントから確認した内容です。実装時は利用中のバージョンで再確認してください。

この記事でわかること

  • BM25とベクトル検索のどちらが何を取りこぼすのか、併用で何が埋まるのか

  • RRFとスコア正規化の違いと、どちらを選ぶかの判断基準

  • 取得件数・重み・k定数といったパラメータの決め方

  • Elasticsearch・OpenSearch・Azure AI Search・Weaviate・Qdrantでの対応状況の違い

  • 日本語データで組むときに特有の落とし穴

この記事は、ベクトル検索をすでに動かしていて精度に不満があるエンジニアを対象にしています。ベクトルDBの製品選定そのものは『ベクトルDBの選び方|Pinecone・Weaviate・Qdrant・pgvectorの使い分け』で扱っているため、本記事は検索方式の組み合わせ方に絞ります。

目次

  • ハイブリッド検索とは|2つの検索方式を1つのランキングに束ねる

  • スコア統合の2方式|順位ベースと値ベース

  • 実装パイプラインの標準形

  • 主要プラットフォーム別の対応状況

  • 日本語でハイブリッド検索を組むときの注意点

  • 効果を測る|導入前後で何を比較するか

  • よくある失敗と対策

  • フリーランス案件でこの知見はどう見られるか

  • まとめ

  • よくある質問

ハイブリッド検索とは|2つの検索方式を1つのランキングに束ねる

結論として、ハイブリッド検索は「性質の違う2つの検索器を並べて走らせ、結果を混ぜる」だけの仕組みです。新しい検索アルゴリズムではありません。条件は、両者のスコアを直接比較しないこと。例外的に、同一スケールに正規化できる場合は値ベースの統合も選べます。

BM25(キーワード検索)が得意なこと・苦手なこと

BM25は、クエリ語の出現頻度と文書長から関連度を算出する古典的なランキング関数です。語が一致していれば強く、一致していなければスコアが付きません。ただしこれはBM25という関数単体の話で、検索システム全体としてはアナライザの切り方・同義語展開・クエリ拡張の設計次第で挙動が変わります。

得意なのは、型番・エラーコード・関数名・社内の固有名詞。「ORA-01555」や「NullPointerException」のような文字列は、ベクトル化すると意味が潰れて近傍に埋もれます。BM25ならピンポイントで拾えます。

苦手なのは言い換えです。「退職金」で検索したとき、本文が「勤続慰労金」としか書いていなければヒットしません。

ベクトル検索(密ベクトル)が得意なこと・苦手なこと

ベクトル検索は、文章を埋め込みモデルで数百〜数千次元のベクトルに変換し、距離が近いものを返します。語が一致していなくても意味が近ければ拾えます。

ただし、意味に寄せる性質が裏目に出るケースがある。固有名詞や数字は、埋め込み空間では「似たような何か」として丸め込まれやすく、「v2.3.1」と「v2.3.4」の区別が消えることもあります。社内用語や造語のように、学習データに存在しない語はさらに不利です。

なぜ併用すると取りこぼしが減るのか

両者の失敗パターンが重ならないからです。BM25が落とすのは言い換え、ベクトルが落とすのは固有名詞。片方が0点でも、もう片方が上位に入れていれば、融合後のランキングに残ります。

観点

BM25

ベクトル検索

ハイブリッド

完全一致の型番・エラーコード

強い

弱い

強い

言い換え・同義語

弱い

強い

強い

社内用語・造語

強い

弱い

強い

文脈の近さ

弱い

強い

強い

事前の学習・埋め込み生成

不要

必要

必要

スコアの範囲

上限なし

距離指標・実装に依存

融合方式に依存

このあたりの前提となるRAGの全体像は『RAGとは?仕組み・活用事例・導入メリットをわかりやすく解説』で押さえられます。

フリーランスエンジニアの皆様

今の年収、今の働き方に満足してますか?

あなたの理想の案件を
専属コンシェルジュが実現

フリコンに無料会員登録して案件の相談をする

スコア統合の2方式|順位ベースと値ベース

結論から言うと、順位ベース(RRF)が初手の推奨です。条件は「ラベル付きの評価データがまだ無いこと」。例外として、両リトリーバのスコア分布を把握できていて、重み調整で伸ばしたい段階に来ているなら値ベースを選びます。

理由は尺度の非互換です。MicrosoftのHybrid Search Scoring (RRF) - Azure AI Searchでも、全文検索のBM25スコアは「上限なし」、ベクトル検索(HNSW・コサイン)は「0.333〜1.00」と明記されています。レンジが違う数字をそのまま足せば、BM25側が常に支配します。

RRFの計算式とk定数

RRFは、スコアを捨てて順位だけを見ます。各リトリーバの結果リストで文書dが何位だったかを取り、1/(k + rank)を全リスト分足し合わせるだけです。

Elastic公式のReciprocal rank fusionでは、ランク定数のデフォルトは60、1以上の値を取ると定義されています。Azure AI Searchも「実験上、kを60程度の小さい値にすると最も性能が良い」としています。

kの役割は平滑化です。kを小さくすると上位の重みが極端に効き、1位の文書がほぼ決定的になります。kを大きくすると順位差がならされ、どちらのリストにも顔を出す文書が有利になります。

注意したいのは、プラットフォームによって既定値が違うこと。Hybrid Queries - QdrantのRRFは定数k=2を採用しており、Elasticの60とは挙動が大きく変わります。移植するときは数式ごと確認してください。

スコア正規化方式(min-max・相対スコア融合)

値ベースは、各リトリーバのスコアを0〜1に正規化してから重み付きで足す方式です。順位では潰れてしまう「どれくらい強く一致したか」を残せます。

Hybrid search | OpenSearch Documentationは、正規化と結合をパイプラインのプロセッサとして分離し、算術平均・幾何平均・調和平均などの結合手法を選べる設計になっています。WeaviateはHybrid search | Weaviate Documentationのとおり、v1.24以降のデフォルトがRelative Score Fusionで、alphaパラメータ(1でベクトルのみ、0でキーワードのみ)で比重を振ります。

どちらを選ぶかの判断基準

状況

推奨

理由

評価データがまだ無い

RRF

パラメータがk1つで済み、スコア分布を調べずに動く

検索対象が頻繁に入れ替わる

RRF

スコア分布が変動しても順位ベースなら影響が小さい

ラベル付き評価セットがある

正規化+重み

重みをチューニングして伸ばせる

「どれだけ強く一致したか」を活かしたい

正規化

順位では同点扱いになる差を残せる

3つ以上のリトリーバを混ぜる

RRF

組み合わせ爆発する重み調整を避けられる

ミニFAQ:kを60から動かすべきタイミングは? 評価セットでRecall@10は十分なのにnDCGが伸びない、つまり「正解は拾えているが順位が低い」ときです。kを20〜30程度まで下げると上位が締まるケースがあります。

ミニFAQ:RRFだとスコアの絶対値が小さくなるが問題ないか? 融合後のスコアは相対順位のための値で、関連度の強さを表しません。しきい値カットに使うなら、RRFスコアではなく融合前のスコアで足切りします。

実装パイプラインの標準形

結論として、実装は「並列取得 → 融合 → 絞り込み」の3段です。条件は、各段の件数を別々に管理すること。例外として、ドキュメント数が数千件規模なら融合だけで十分な場合もあります。

  1. クエリを受け取り、BM25検索とベクトル検索を並列に実行する

  2. 各リトリーバから候補を50〜200件取得する

  3. RRFまたは正規化で1本のランキングに融合する

  4. (任意)クロスエンコーダ(クエリと文書をペアで入力し関連度を再計算するモデル)のリランカーで上位を並べ替える

  5. 最終的に5〜12チャンクをLLMのコンテキストへ渡す

各リトリーバの取得件数(top-k)の決め方

ここが最も事故りやすい箇所です。最終的に10件使うからといって、各リトリーバで10件しか取らないと、融合する意味がほとんど無くなります。

目安は最終件数の10〜20倍。最終10件なら各100〜200件です。Elasticのrank_window_sizeは既定でsizeパラメータと同じ値になるため、明示的に広げないと融合の効果が出ません。Azure AI Searchはテキスト側の既定上限が1,000件(maxTextRecallSize)です。

候補数を増やすとレイテンシとメモリが増えます。50件から始めて、評価セットのRecallが頭打ちになる点を探すのが堅実です。

重み付けを入れるべきケース

デフォルトは等重みで構いません。重みをいじるのは、ドメインが明確に片方へ偏っているときだけにします。

  • 社内ドキュメント検索で型番・品番の照会が大半を占める → BM25側を重く

  • FAQ検索で利用者が自由な言い回しで聞いてくる → ベクトル側を重く

  • 両方が混在する一般的な社内RAG → 等重みのまま

Azure AI Searchは、ベクトルクエリ側にweight(既定1.0)を掛けてからRRFに渡す設計です。Weaviateはalpha、Qdrantはv1.17.0以降のRRF重み付けで同等のことができます。

リランキングとの役割分担

融合は「候補を広く集める」ための処理、リランキングは「集めた候補の順番を精密に直す」ための処理です。役割が違うため、一方をもう一方で置き換えても同じ効果は得にくくなります。

ハイブリッド検索で取りこぼしを減らし、リランカーで上位の精度を上げる。この二段構えが現在よく採られる構成です。リランカーのモデル選択や候補件数の決め方は『リランキング(Rerank)とは|RAGの検索精度を上げる仕組みと実装』に委ねます。

フリーランスエンジニアの皆様

今の年収、今の働き方に満足してますか?

あなたの理想の案件を
専属コンシェルジュが実現

フリコンに無料会員登録して案件の相談をする

主要プラットフォーム別の対応状況

以下は2026年10月時点で各公式ドキュメントから確認した内容です。既定値や対応状況はバージョンで変わるため、採用前に利用中のバージョンのドキュメントで確認してください。

プラットフォーム

融合方式

調整パラメータ

備考

Elasticsearch

RRF

rank_constant(既定60)、rank_window_size

全文検索側の資産をそのまま使える

OpenSearch

正規化+結合

正規化手法・結合手法をパイプラインで指定

プロセッサとして分離された設計

Azure AI Search

RRF

ベクトルクエリのweight(既定1.0)、maxTextRecallSize

セマンティックランカーは融合後に動く

Weaviate

Relative Score Fusion(v1.24以降の既定)/Ranked Fusion

alpha

ネイティブでハイブリッドを提供

Qdrant

RRF(k=2)/DBSF

prefetchの件数、RRFの重み(v1.17.0以降)

スパースベクトルを名前付きベクトルとして保持

PostgreSQL+pgvector

自前実装

全文検索とベクトル検索を自分で結合

アプリ側でRRFを書く必要がある

pgvectorで組む場合は融合処理が自前になるため、設計の前提を『pgvectorとは|PostgreSQLでベクトル検索を実装する仕組みと導入手順』で確認しておくと手戻りが減ります。BM25側をElasticsearchに寄せる構成なら『Elasticsearchとは?全文検索エンジンの仕組み・ELKスタック・案件単価をフリーランス視点で解説』が参考になります。

ミニFAQ:既存のベクトル検索にBM25を足すのと、全文検索基盤にベクトルを足すのでは、どちらが早い? 既存の検索基盤がElasticsearchやOpenSearchなら後者が速いです。アナライザとインデックスがすでにあり、追加するのはベクトルフィールドと融合設定だけで済みます。

日本語でハイブリッド検索を組むときの注意点

日本語は分かち書きをしないため、BM25側の設定が精度を左右します。ここを放置したままハイブリッド化しても、キーワード側がほとんど機能しません。

形態素解析とN-gramの使い分け

形態素解析(kuromoji等)は意味の単位で切るため、検索結果のノイズが少なくなります。一方で、辞書に無い新語や社内用語は不自然に分割されます。

N-gram(2〜3文字単位)は辞書に依存せず、未知語に強い代わりにノイズが増えます。実務では両方のフィールドを持ち、どちらもBM25で引いて融合対象に加える構成も採られます。

表記揺れ・同義語辞書

「サーバ」と「サーバー」、「ユーザ」と「ユーザー」のような長音の揺れは、BM25では別語になります。ベクトル検索側が吸収してくれる事もありますが、頼り切るのは危険です。同義語辞書を整備して正規化しておきます。

全角・半角、英数字の大文字小文字も同様に正規化対象です。

スパースベクトルという選択肢

BM25の代わりに、SPLADEやBM42のような学習済みスパースベクトルを使う手もあります。語の重みをモデルが学習するため、BM25より言い換えに強くなります。

ただし推論コストが増え、モデルの日本語対応状況も確認が必要です。BM25で足りているなら、まずはそちらで始めるほうが運用は軽くなります。

フリーランスエンジニアの皆様

今の年収、今の働き方に満足してますか?

あなたの理想の案件を
専属コンシェルジュが実現

フリコンに無料会員登録して案件の相談をする

効果を測る|導入前後で何を比較するか

結論として、ハイブリッド化は必ず改善するとは限りません。条件は、評価セットを先に作っておくこと。例外として、キーワード一致が明らかに重要なドメイン(法務・医療のコード検索など)では高確率で効きます。

評価データセットの作り方

社内RAGやFAQ検索のような用途であれば、実際のユーザークエリから50〜100件程度を抜き、それぞれに正解ドキュメントを紐づけるところから始められます。必要な件数は対象ドキュメントの多様性で変わるため、クエリの種類が広いドメインではより多く要ります。合成クエリだけで作ると、本番の言い回しと乖離しやすくなります。

ログが無い立ち上げ期なら、想定利用者にクエリを書き出してもらう方法が現実的です。1人あたり10件ほど出してもらえば、5人で50件になります。

見るべき指標

  • Recall@k:正解が上位k件に入っているか。ハイブリッド化の効果が最も出やすい指標

  • nDCG@k:正解が上位にあるほど高く評価するランキング指標。順位の良し悪しを見る

  • レイテンシ:並列実行と候補数増加の代償。p95で見る

評価指標の詳しい見方とボトルネックの切り分けは『RAGの評価方法|Ragasの評価指標とボトルネック特定・精度改善』で整理しています。

導入チェックリスト

着手前に、この順で潰しておくと手戻りが減ります。

#

確認項目

未了だと起きること

1

評価セット50件以上を用意したか

改善したかどうか判断できない

2

ベクトル単独のベースラインを測ったか

ハイブリッドの寄与が不明になる

3

日本語アナライザを設定したか

BM25側がほぼ機能しない

4

同義語・長音の正規化をしたか

キーワード側の取りこぼしが残る

5

各リトリーバの取得件数を最終件数の10倍以上にしたか

融合の効果が出ない

6

融合方式のk定数・重みの既定値を確認したか

他プラットフォームの感覚で設定して外す

7

p95レイテンシの許容値を決めたか

精度だけ追って応答が重くなる

8

チャンク設計を見直したか

検索方式以前の問題が残る

8番は見落とされがちです。チャンクが大きすぎるとBM25もベクトルも精度が出ません。『RAGのチャンク分割|サイズ・オーバーラップの決め方と検証手順』を先に確認しておくと、融合の調整に入る前に原因を切り分けられます。

よくある失敗と対策

失敗1:2つのスコアをそのまま足す

最頻出の事故です。BM25スコアは上限が無いため、レンジの狭い類似度スコアと素朴に足すとBM25側が支配し、ベクトル検索が実質無効になります。順位ベースにするか、正規化してから足します。

失敗2:候補件数が最終件数と同じ

各リトリーバで10件しか取らずに10件返すと、融合する余地がありません。両者が同じ文書を返していれば何も変わらず、違う文書を返していれば片方が丸ごと落ちます。

失敗3:常にハイブリッドが勝つ前提で入れる

クエリが自然文中心で、固有名詞がほとんど出てこないドメインでは、ベクトル単独と差が付かないケースもあります。レイテンシとインフラコストだけ増えて終わることを避けるため、ベースラインの計測を先にやります。

失敗4:融合のパラメータをプラットフォーム間で使い回す

ElasticのRRFはk=60、Qdrantはk=2。同じ「RRF」でも挙動が違います。移行時は数式と既定値を公式ドキュメントで確認してください。

フリーランスエンジニアの皆様

今の年収、今の働き方に満足してますか?

あなたの理想の案件を
専属コンシェルジュが実現

フリコンに無料会員登録して案件の相談をする

フリーランス案件でこの知見はどう見られるか

RAG構築の案件では、「ベクトル検索を動かしたことがある」より「精度が出なかったときに切り分けられる」ほうが評価されやすい部分です。ハイブリッド検索は、その切り分けの引き出しの1つとして聞かれる事があります。

面談で踏み込まれやすいのは、次のような論点です。

  • 融合方式を選んだ理由を説明できるか(RRFか正規化か、なぜそちらか)

  • 候補件数とレイテンシのトレードオフをどう決めたか

  • 日本語アナライザの設定経験があるか

  • 評価セットを自分で作った経験があるか

RAG構築案件そのものの単価レンジや求められるスキルセットは『RAG構築案件の実情|単価相場・必要スキル・獲得方法』に整理してあるため、そちらを参照してください。自分の経験がどの程度の市場評価になるか知りたい方は、無料のフリーランスエンジニア単価診断で目安を確認できます。実際の募集内容はAIエンジニアの案件一覧から見られます。

まとめ

ハイブリッド検索は、BM25とベクトル検索を並列に走らせて1本のランキングに束ね、互いの取りこぼしを埋める方式です。迷ったらRRF、k=60から始めれば大きく外しません。

  • 統合方式は順位ベース(RRF)と値ベース(正規化)の2択。スコアの素の足し算は成立しない

  • RRFのk定数はElasticが60、Qdrantが2。プラットフォーム間で既定値が違う

  • 各リトリーバの取得件数は最終件数の10〜20倍を目安に広げる

  • 日本語ではアナライザと同義語の整備がBM25側の前提になる

  • 評価セット50件以上を先に用意し、ベクトル単独のベースラインと比較する

  • ハイブリッドで取りこぼしを減らし、順位はリランカーで詰める二段構えが扱いやすい

次に手を動かすなら、まず評価セットを50件作ってベクトル単独の数字を取ってください。比較対象が無いまま融合を入れると、チューニングの判断ができなくなります。

参照した一次情報:

よくある質問

AnswerMark

並列実行できるため、理論上は遅いほうのリトリーバの時間に融合処理を足した程度です。実際に効いてくるのは候補件数の増加で、各50件から200件に増やすと検索側の負荷が上がります。p95で許容値を決めてから件数を詰めるのが安全です。

AnswerMark

数百件規模なら、ベクトル検索単独でも上位に正解が入りやすく、差が出にくい領域です。ただし型番・エラーコードを引く用途が含まれるなら、件数に関係なくBM25側の価値があります。

AnswerMark

1/rankとなり、1位が1.0、2位が0.5と上位の重みが極端になります。Elasticではkは1以上と定義されているため設定できません。上位を強く効かせたい場合も、20程度までに留めるのが扱いやすい範囲です。

AnswerMark

言い換えへの弱さがBM25の主なボトルネックだと切り分けられているなら候補になります。推論コストと日本語モデルの選択肢を確認したうえで、BM25をベースラインとして比較してから判断します。

AnswerMark

動きますが、融合をアプリ側で書く必要があり、2つのストアの同期も自前になります。運用負荷を考えると、片方に寄せられるならそのほうが軽くなります。製品ごとの対応状況は本文の比較表を参照してください。

AnswerMark

取りこぼし(Recall)が課題ならハイブリッド検索が先になります。リランカーは渡された候補を並べ替える処理なので、候補に正解が入っていなければ効果が出にくいためです。逆に、Recallは足りていて順位だけが低いと切り分けられているなら、リランカーから着手しても構いません。

AnswerMark

ベクトルフィールドを追加して再インデックスする作業が発生します。既存のテキストフィールドとアナライザ設定はそのまま活かせるため、ゼロからの構築よりは軽い工程です。

AnswerMark

RRF後のスコアは順位を決めるための相対値で、関連度の強さを表しません。UIにスコアを出したり、しきい値で足切りしたりする場合は、融合前の各リトリーバのスコアを保持しておきます。

AnswerMark

有効です。1単語クエリはむしろBM25が強く、ベクトル検索単独だと関連しそうな文書が広く返りがちになります。融合することで一致側が上位に来ます。

AnswerMark

全てを網羅する必要はありません。長音の揺れ(サーバ/サーバー)と、自社プロダクトの略称・旧称から着手すると費用対効果が出やすい部分です。検索ログで0件ヒットになったクエリを定期的に拾って追加していきます。

AnswerMark

ハイブリッド検索は検索方式の組み合わせ、GraphRAGは文書間の関係性を使う手法で、レイヤーが異なります。エンティティ間の関係を辿る必要があるなら『GraphRAGとは|通常RAGとの違い・仕組み・構築案件の実務』を参照してください。

関連するタグ:

AIエンジニアデータサイエンティストPythonPostgreSQL

おすすめのお役立ちコンテンツ

Supabaseとは?特徴・Firebaseとの違い・料金・フリーランス案件動向をエンジニア視点で解説
スキル

Supabaseとは?特徴・Firebaseとの違い・料金・フリーランス案件動向をエンジニア視点で解説

Ollamaとは?ローカルLLM実行環境の特徴・使い方・案件単価をエンジニア視点で解説
スキル

Ollamaとは?ローカルLLM実行環境の特徴・使い方・案件単価をエンジニア視点で解説

PowerShellとは?できること・使い方・年収を初心者向けに徹底解説
スキル

PowerShellとは?できること・使い方・年収を初心者向けに徹底解説

Vercelとは?特徴・Next.js連携・料金・案件動向をフリーランス視点で解説
スキル

Vercelとは?特徴・Next.js連携・料金・案件動向をフリーランス視点で解説

G検定とは?合格率・難易度・効果的な勉強法をわかりやすく解説【2026年版】
スキル

G検定とは?合格率・難易度・効果的な勉強法をわかりやすく解説【2026年版】

新着のお役立ちコンテンツ

Microsoft Foundryとは|Azure OpenAIとの違いと始め方
スキル

Microsoft Foundryとは|Azure OpenAIとの違いと始め方

Microsoft Azureとは|主要サービス・AWS/GCPとの違い・案件単価
スキル

Microsoft Azureとは|主要サービス・AWS/GCPとの違い・案件単価

Amazon Bedrock AgentCoreとは|構成・料金と本番運用の勘所
スキル

Amazon Bedrock AgentCoreとは|構成・料金と本番運用の勘所

Gemini CLIとは|無料枠終了後の使い方とClaude Codeとの違い
スキル

Gemini CLIとは|無料枠終了後の使い方とClaude Codeとの違い

フリーランスをやめて正社員に戻るには|5つの判断軸と廃業・再就職の進め方
キャリア・職種

フリーランスをやめて正社員に戻るには|5つの判断軸と廃業・再就職の進め方

おすすめ案件・求人

【PMO】社内ITコンサルタント 兼 PMO 要員募集(フルリモート)

110~120万円/月

虎ノ門(東京都)

詳細を見る

【kintone】kintoneにおける業務改善サポートおよび導入/活用支援(フルリモート)

60~70万円/月

仙台(宮城県)

詳細を見る

(フルリモート)【フルスタックエンジニア】新規Webサービス立ち上げ支援

110~120万円/月

渋谷(東京都)

詳細を見る

【PMO】某教育機関PMO案件(フルリモート)

65~75万円/月

新宿(東京都)

詳細を見る

【PHP、Laravel、MySQL、JavaScript】車販事業向けサービス機能開発

65~75万円/月

赤坂見附(東京都)

詳細を見る

あなたの理想の案件探しませんか?

公開非公開

フリーランスエンジニア向け案件の
85%以上が非公開案件!

※非公開案件のご紹介は登録者限定

非公開案件を紹介してもらう

タグからお役立ちコンテンツを探す