Case study專案案例
Engineered a AI-powered talent-recommendation system that cut staffing search to minutes開發 GenAI 人才推薦系統,將專案人力搜尋縮短至數分鐘
Designed the retrieval, model-selection, and evaluation layers of a RAG system that helped managers identify evidence-backed candidates across an 8,000-person consultancy.設計 RAG (檢索增強生成) 系統的檢索、模型選擇與評估層,協助專案經理在一家擁有 8,000 名員工的顧問公司中,找出最合適人選。
Outcome成果
Staffing search: days → minutes專案人力搜尋時間:從數天縮短至數分鐘
- Client客戶
- Global Consultancy跨國顧問公司
- Role角色
- AI EngineerAI 工程師
- Timeframe期間
- 2024-20252024-2025
Situation
At a global consultancy with more than 8,000 consultants worldwide, Engagement Managers routinely spent several days identifying the right people to staff new projects. Skills, project experience, regional knowledge, and availability were fragmented across CVs and internal systems, leaving managers to conduct manual searches and send broad outreach emails.
This created problems at both ends of the staffing process. Some consultants became overloaded while others remained underutilised. In an hourly billing model, these imbalances affected project delivery, workforce utilisation, and commercial performance.
The objective was to create a system that managers could query in natural language—for example, “Who has transaction monitoring experience in APAC?”—and receive a ranked, evidence-backed shortlist within minutes.
Strategy
As the AI engineer on the project, I owned the retrieval design, model experimentation, and evaluation framework. We designed the solution using retrieval-augmented generation (RAG), grounding every recommendation in internal evidence from consultants’ CVs, project histories, and skills data rather than relying on the model’s general knowledge.
Early testing exposed a critical failure mode: the system could recommend a consultant who lacked a required capability simply because a related term appeared elsewhere in their CV. Also, the LLMs could hallucinate the results. This made retrieval relevance, evidence traceability, and the ability to abstain from weak recommendations central design requirements.
Improving retrieval quality.
Consultant CVs varied considerably in structure and level of detail, making fixed-length document chunking unreliable. Important relationships—such as a skill and the project in which it had been applied—could be separated across different chunks.
Working with the data science team, I tested alternative retrieval strategies and moved the system to semantic chunking. This preserved related experience and contextual evidence within the same retrieved passage, improving the quality of the information supplied to the generation model.
I also experimented on the retrieval prompts and recommendation criteria to distinguish direct evidence of a required skill from a superficial keyword match.
Selecting and grounding the generation model.
I evaluated a combination of open-weight and proprietary language models, including Mistral 7B, T5, Llama 3, and GPT-4. The assessment considered groundedness, answer quality, latency, and operating cost rather than model capability in isolation.
Instead of allowing the selected model to return unrestricted prose, I designed the generation layer to produce structured candidate profiles ranked against the staffing requirements. Each recommendation included supporting evidence from the retrieved source material, allowing managers to understand why a candidate had been shortlisted.
I also introduced guardrails for uncertain requests. When the available evidence was insufficient or the staffing criteria were ambiguous, the system asked a clarifying question rather than producing an unsupported recommendation.
Building a systematic evaluation framework.
Manual review was useful during development but could not provide consistent quality assurance at scale. I therefore designed an automated LLM-as-a-judge framework, informed by RAGAS evaluation principles.
The framework scored each response from one to five across three dimensions:
- Completeness: whether the response addressed all material parts of the staffing request
- Relevance: whether the recommended talents matched the stated requirements
- Groundedness: whether each recommendation was supported by retrieved internal evidence
This created a repeatable evaluation process for comparing models and retrieval strategies during development, while also enabling recommendation quality to be monitored after launch.
Result
The system was launched successfully and adopted by managers as part of their regular staffing workflow. It reduced a search-and-outreach process that had previously taken several days to a matter of minutes. Managers also began using the system to identify colleagues for networking and knowledge sharing—an unanticipated use case that revealed a broader visibility problem across the firm. The project therefore delivered more than a faster staffing search. It created a reusable internal discovery capability across an organisation of more than 8,000 consultants.
情境與背景
在一家全球擁有超過 8,000 名顧問的跨國顧問公司中,專案經理 (Engagement Managers) 通常需要花費數天時間,才能為新專案找到合適的人選。員工的技能、專案經驗、區域知識與可派工時間散落在各種履歷和內部系統中,導致主管們只能進行手動搜尋,並發送大量的詢問郵件。
這在人力配置流程的兩端都造成了問題:有些顧問的工作量超載,而有些則未被充分利用。在按時計費的商業模式下,這種不平衡影響了專案交付、人力利用率以及整體的商業績效。
我們的目標是建立一個系統,讓主管可以使用自然語言進行查詢(例如:「誰在亞太地區有交易監控的經驗?」),並在幾分鐘內收到一份有排序且附帶佐證資料的候選名單。
策略與執行
作為該專案的 AI 工程師,我負責主導檢索設計、模型實驗以及評估框架。我們採用檢索增強生成 (RAG) 技術來設計解決方案,讓每一次的推薦都立基於顧問的履歷、專案歷史和技能數據等內部佐證資料,而非依賴模型的通用知識。
早期測試暴露出一個嚴重的失敗模式:系統可能會推薦缺乏所需能力的顧問,只因為相關詞彙剛好出現在他們履歷的其他地方。此外,大型語言模型 (LLM) 也可能會產生幻覺 (hallucinate) 捏造結果。這使得檢索相關性、證據可追溯性,以及「拒絕提供薄弱推薦」的能力,成為核心的設計要求。
提升檢索品質
顧問的履歷在結構和細節程度上差異很大,這讓固定長度的文本切塊 (fixed-length chunking) 變得不可靠。重要的關聯資訊(例如某項技能以及應用該技能的專案)可能會被硬生生拆分到不同的文字區塊中。
透過與資料科學團隊合作,我測試了替代的檢索策略,並將系統轉向使用語意切塊 (semantic chunking)。這樣做能將相關經驗與上下文證據保留在同一個檢索段落中,進而提升提供給生成模型的資訊品質。 我也針對檢索提示詞 (prompts) 和推薦標準進行了實驗,以區分「具備所需技能的直接證據」與「表面的關鍵字比對」。
選擇與落地生成模型
我評估了多款開源和商用大語言模型,包含 Mistral 7B、T5、Llama 3 以及 GPT-4。我們的評估標準並非單看模型本身的極限能力,而是綜合考量其回答是否具備事實根據 (Groundedness)、生成品質、系統延遲 (Latency) 以及營運成本。
為了避免模型生成發散且不受限制的長篇回覆,在生成層要求模型產出「依據專案需求排序的結構化候選人檔案」。每一項推薦結果都會附帶來自檢索資料的具體佐證,讓主管能清楚理解該名候選人入選的原因。
此外,我也針對不確定的查詢請求導入了防護機制 (Guardrails)。當檢索到的證據不足,或是派工條件模糊不清時,系統會主動向使用者提問以釐清需求,而非勉強產出缺乏根據的推薦名單。
建立系統化的評估框架
在開發階段,人工審查相當有用,但無法在大規模運作時提供一致的品質保證。因此,我參考了 RAGAS 評估原則,設計了一套自動化的「以 LLM 作為裁判 (LLM-as-a-judge)」評估框架。
該框架在三個維度上,對每個回應進行一到五分的評分:
- 完整性 (Completeness): 回應是否涵蓋了派工請求的所有實質部分。
- 相關性 (Relevance): 推薦的人才是否符合提出的要求。
- 根據性 (Groundedness): 每一項推薦是否有檢索到的內部證據作為支持。
這建立了一個可重複的評估流程,以便在開發期間比較不同的模型與檢索策略,同時也讓系統上線後的推薦品質得以被持續監控。
成果
系統順利上線並獲得主管們的廣泛採用,成為日常專案派工不可或缺的一環。它將過去動輒耗時數天的「人才搜尋與聯繫」流程,大幅縮減至短短幾分鐘。 此外,主管們也開始主動運用該系統尋找適合交流與分享知識的同仁——這項意料之外的應用方式,恰好凸顯出公司內部普遍存在「人才能見度 (Visibility) 」不足的痛點。 因此,本專案的價值遠不止於提升尋找人力的效率;它更為這個擁有超過 8,000 名顧問的龐大組織,建立了一套可重複利用的內部人才發掘與探索機制。