智慧設計效果保障策略
1. 業務背景介紹
智慧設計是什麼?酷家樂官網上的定義"快搭智慧設計是依託於酷家樂海量優秀設計師方案產生的方案自動設計應用,通過樣板間+演算法實現設計師時間的零門檻零成本複製放大,讓每一個不懂設計的導購、銷售都具備快速出設計方案的能力"。簡單理解一下就是將酷家樂上的海量優秀方案,通過演算法的理解和處理,將優秀方案中的整個樣板間佈局,一鍵快速、合理的排放到你想要的戶型房間裡面,讓一個不懂設計的小白,可以低門檻的設計出想要的房間設計方案。再簡化一下就是:海量樣板間+演算法能力+目標戶型=>設計方案。
2. 效果保障難點
從上面的業務介紹裡面我們可以,智慧設計的擺放效果好壞依賴兩個因素:
- 演算法能力的強弱:
- 對原有的樣板間裡面的戶型,區域有識別,理解能力;
- 對原有的樣板間中的軟裝,硬裝,定製傢俱的資料結構有識別能力,理解能力和重組能力;
- 對即將要擺放的房間戶型有識別、理解能力,
- 將原有樣板間裡面的資料重組,放入新戶型裡面的能力
- 對新戶型放入的資料根據業務規則做資料的捨棄和調整的能力
- 基於行業的素材擺放規則是否夠細化:
- 明確的行業業務規則,如:客餐廳的沙發中線與電視中線對齊;擺放後的傢俱不存在擋門,擋窗;電視背景牆在電視機後面等等
- 產品主觀性的感官效果規則,如:臥室床頭靠長邊牆好還是靠段邊牆更好等 演算法優化需要不斷訓練優化;同時業務規則也是不斷優化和細化的過程。整個演算法對業務的支援是從小範圍的試點嘗試到普遍性的支援再提升到對特殊個例的支援過程,所以是一個不斷迭代優化、不斷精進的過程。作為整個業務的演算法質量保證來說,會面臨以下幾個挑戰:
- 測試集樣板不可列舉,即無法窮舉所有的場景,包括所有的樣板間戶型和方案戶型,以及在這個戶型下的所有的軟裝,硬裝,定製傢俱組合;所以需要儘可能多的真實樣本集作為測試集;
- 業務規則在不斷細化,使得部分結果不可預知,效果好壞評估依賴人工主觀判斷;而測試同學不一定具備行業產品的業務判斷能力;
- 演算法的不斷迭代,如何確保和衡量每次迭代的效果是想著優化的方向走,而不是演算法效果退化的方向。
3. 解決思路
基於前面介紹的業務特性和效果保障難點,我們對智慧設計效果保障的思路就可以歸納。
- 演算法保障思路:
- 需要有平臺或工具支援,支援大量樣本的演算法試跑,確保能覆蓋更多的場景
- 需要具象和客觀化衡量標準,支援對大量試跑結果的分析
- 需要有演算法評價基線,保證迭代效果的正向優化
- 根據每次迭代需求內容,不同需求走不同的演算法流程,擅長的人做擅長的事:演算法新feature走驗收流程,已有功能的優化升級走回歸流程。 當我們有了解決思路後,我們需要做的比較明確:
- 搭建演算法迭代平臺,利用平臺能力提升效率 搭建演算法迭代平臺,通過平臺支援大量樣本集在不同演算法版本的執行,執行結果檢視,執行結果分析,問題復現,演算法日誌透傳等等一系列功能。
- 結合平臺建立迭代流程,利用流程規範各角色在平臺上的協作方式 利用平臺功能,針對不同的需求型別,走不同的迭代流程,讓演算法、產品、測試不同角色在迭代平臺上圍繞演算法迭代做各自擅長的事項,提升演算法迭代效率:
- 新增演算法feature類需求: 新需求加入產品驗收流程,演算法提測自測通過後,產品經理根據自身的業務經驗在平臺上對執行case進行驗收,確保演算法的新feature實現是否滿足預期;
- 已有演算法迭代優化類需求:重視基線資料,演算法提測自測通過的標準是需要對基線資料用新演算法執行,確保與當下線上基線執行沒有出現演算法指標上的退化,有明確優化的情況下允許新演算法上線。
4. 實現效果
4.1 平臺實現
基於前面介紹的解決思路以及平臺訴求,我們搭建了迭代平臺。
從以上平臺架構可以看出,平臺具有幾下幾個功能:
- 資料採集,包括線上資料迴流採集和使用者定向錄入,確保每次有針對性的做資料case的執行
- 演算法介面應用,支援不同演算法版本,不同環境的演算法應用,滿足多演算法工程師,多版本的演算法應用
- 支援不同版本演算法結果間的diff,包含整體執行成功率,演算法耗時,軟硬裝素材間的diff。
- 支援有問題case的快速復現和日誌透傳,提升問題排查效率
4.2基於迭代平臺迭代流程
有了平臺支援,我們也希望有一套配套的流程機制,能明確演算法、測試、產品在這個平臺上的協作方式,在保障演算法優化的同時能提升整個演算法迭代的效率。以下就是我們結合不同需求型別,沉澱的迭代流程:
4.3 當下收益
從平臺上線後,該平臺已經作為整個演算法迭代的基石,每個sprint的演算法迭代都需要以平臺的迴歸結果作為釋出評判標準。從去年12月份開始,我們已支援了近600多萬次的演算法應用,執行了64000多個驗收、迴歸、線上迴流任務。支撐了當下7個演算法工程師+2個產品+3個測試的日常演算法迭代工作。支援了多個大專案的演算法支援和優化,如對接定製,對接硬裝,戶型中間層改造,同時支援了演算法空間從客餐廳到全屋空間的擴充。
5. 後續規劃
在這裡特別想表達一下我們在這個過程的對於測試定位的思考。通常模式下,測試是在研發提測後利用各種手段結合自己對業務的理解、對需求的理解,進行對應模組的交付驗證,確保交付質量。類似於流水線上的最後一道工序,開發交接棒給到你,該你做最後一道工序,做一個產品質檢員,確保在過了你手之後,產品是合格的。但是在智慧設計演算法保障裡面,我們希望測試同學能將自己的定位做一些轉變。我們通過搭建平臺,通過提供不斷完善功能,以及不斷細化的演算法指標分析的平臺作為基礎,讓演算法工程師,產品能在這個平臺上發揮自身角色優勢能做到更多的自測,自驗收,提升整個迭代效率。測試的角色從質量保障驗收員逐漸向質量教練轉變。這個角色的轉變也帶來了我們重心的轉變,我們需要思考的是如何在這個平臺上實現演算法的高效,可靠的迭代質量。圍繞這個思考,我們接下來需要在下面幾個模組上繼續做強:
- 線上上異常case採集這塊,我們希望從現在的使用者定向選擇性迴流,變成自動捕獲,主動迴流,建立優化任務給到演算法工程師,不斷豐富我們的演算法訓練case 庫
- 演算法分析指標的不斷細化,做到和線上業務演算法指標的打通,讓演算法工程師更明確本次迭代版本的各演算法指標效果,輔助決策是否可以釋出
- 實現最後一階段的UI自動化,真正做到端到端的迭代自動化評估。目前我們實現的是演算法側的整個資料回放,演算法效果分析,但是作為使用者終端,從演算法資料到最終頁面效果展現,還涉及到前端外掛的功能實現。尤其是酷家樂業務特殊性,智慧設計最終效果好壞會受各類前端外掛影響,定製,硬裝,傢俱等等。因此,在我們對演算法迭代有了保障手段後,就希望在這個迭代平臺上實現最後一公里UI自動化的保障。保障整個智慧設計業務的完整效果。
想了解更多關於酷家樂技術質量的文章,歡迎關注我們的公眾號
相關文章
- 保障執行緒安全的設計執行緒
- 設計模式——策略模式設計模式
- 設計模式(策略模式)設計模式
- 設計模式-策略模式設計模式
- javascript 策略設計模式JavaScript設計模式
- 設計模式🔫---策略模式設計模式
- 保障商業機密的智慧策略:如何使用華企盾DSC提升檔案安全
- 23種設計模式(二)---策略設計模式設計模式
- 設計模式之策略模式設計模式
- 初識策略設計模式設計模式
- js設計模式--策略模式JS設計模式
- 小白設計模式:策略模式設計模式
- 設計模式之【策略模式】設計模式
- 設計模式(一) 策略模式設計模式
- php設計模式–策略模式PHP設計模式
- 設計模式(八)——策略模式設計模式
- 設計模式(四):策略模式設計模式
- 設計模式-策略模式(轉)設計模式
- 【設計模式之策略模式】設計模式
- 智慧安全3.0助力高校網路安全保障體系建設
- PHP 設計模式之策略模式PHP設計模式
- 設計模式(一) 支付策略模式設計模式
- JavaScript 設計模式之策略模式JavaScript設計模式
- 設計模式專題-策略模式設計模式
- Javascript設計模式之策略模式JavaScript設計模式
- JAVA設計模式之策略模式Java設計模式
- 略懂設計模式之策略模式設計模式
- Javascript設計模式(四)策略模式JavaScript設計模式
- JS設計模式六:策略模式JS設計模式
- PHP設計模式(3)—— 策略模式PHP設計模式
- 極簡設計模式-策略模式設計模式
- GoLang設計模式15 - 策略模式Golang設計模式
- 分散式系統設計策略分散式
- Java設計模式-策略模式分析Java設計模式
- 設計模式-策略模式(strategy pattern)設計模式
- Python設計模式-策略模式Python設計模式
- 設計模式系列之「策略模式」設計模式
- 設計模式——13策略模式(strategy)設計模式