隨著生成式人工智能(AI)的興起,我們與金融客戶探討了將其融入受監(jiān)管軟件領(lǐng)域的可能性。受監(jiān)管環(huán)境下的約束,如安全性、質(zhì)量和網(wǎng)絡(luò)限制,以及 DevOps 和平臺工程師的需求,促使我們定義了受監(jiān)管軟件領(lǐng)域中采用生成式 AI 的真實場景需求和解決方案。
不久以前…
我們與一位金融客戶合作已有一段時間了,在閑暇之余,我們開始討論生成式人工智能。因此,我們沉浸在興奮之中,就像置身于一個積極的回溯系統(tǒng)中一樣,開始勾勒出如何將其整合并應(yīng)用于我們所處的現(xiàn)實場景中的想法。
將DevOps工程師的 LLM/AI 技能和知識與平臺工程師的愿景相結(jié)合,我們開始定義受監(jiān)管軟件領(lǐng)域的真實場景的需求、約束和負(fù)載,然后定義可能的流程和解決方案。
但在哪種情況下呢?
在受監(jiān)管的軟件領(lǐng)域,尤其是在我們工作的銀行環(huán)境中,存在安全性、質(zhì)量和網(wǎng)絡(luò)限制等制約因素。除此之外,還有數(shù)量可能非常多的 CI/CD 負(fù)載、已經(jīng)超負(fù)荷的開發(fā)人員和成本管理。以下是初始要求的列表:
- 本地系統(tǒng)或托管虛擬機或私有云,可能存在隔離
- CI 和 CD 管道的性能沒有下降
- 獲得開發(fā)人員批準(zhǔn)的零信任模型
- 選擇受影響的組件
- 生成對象的限制
最后兩點并非是強有力的約束,而是為了更好地解決問題而采取的常識性做法。
詳細(xì)來說…
在受監(jiān)管的軟件領(lǐng)域以及網(wǎng)絡(luò)可達性限制(處理可能的商業(yè)機密)方面,您不希望您的數(shù)據(jù)和代碼在未受保護或未經(jīng)驗證的系統(tǒng)上被發(fā)送到外部。因此,系統(tǒng)應(yīng)托管在隔離良好的網(wǎng)絡(luò)中的私人機器上。生成式 AI 流程對資源消耗有很大影響,并且可能需要很長的處理時間。因此,為了限制時間和性能影響,它們不能被引入 CI/CD 周期:我們假設(shè)一個異步且獨立的“連續(xù)生成循環(huán)”。
作為一個需要認(rèn)證和驗證的系統(tǒng),并且必須嘗試限制不當(dāng)引入,因此必須采用零信任模型,其中“連續(xù)生成循環(huán)”會提出拉取請求(以下也稱為 PR),經(jīng)理必須驗證和批準(zhǔn)這些請求。基于這些假設(shè),記住平臺工程背后的原則之一是“從開發(fā)開始”,并且想要限制處理成本和時間,因此不可能在所有應(yīng)用程序中生成數(shù)千行代碼。生成部分應(yīng)該:
僅選擇并優(yōu)先處理那些需要采取行動的應(yīng)用程序
例如,如果有 3 個申請
- 覆蓋率約為 85% 且存在一些代碼異味,
- 覆蓋率約為 80%,存在許多代碼異味和一些小錯誤
- 覆蓋率達 60%,且存在嚴(yán)重漏洞
系統(tǒng)應(yīng)該優(yōu)先考慮最后一個應(yīng)用程序,并對其進行處理,以平衡應(yīng)用程序池的總體水平。
限制生成的對象
如果我們要求經(jīng)理或開發(fā)人員驗證拉取請求,以防它包含大量可交付成果,那么最糟糕的情況是 PR 要么被完全拒絕,要么被草草地檢查,并且有引入錯誤的風(fēng)險。
為了確保生成活動與開發(fā)人員的日常工作協(xié)同,必須通過選擇和確定活動的優(yōu)先級來采取行動,尋找少數(shù)(希望如此?。┯绊懽畲蟮腻e誤/漏洞,或通過測試覆蓋影響最大、未覆蓋的類別。
選擇和優(yōu)先排序方法可以實現(xiàn)更快的處理、更低的成本,并且只對真正需要外部幫助的應(yīng)用程序采取行動,但最重要的是不會影響開發(fā)人員的工作。
接下來是什么?
接下來的步驟是:
- 定義應(yīng)用程序優(yōu)先級和選擇算法
- 定義質(zhì)量/漏洞解決方案和代碼覆蓋率的選擇和優(yōu)先級算法
- 根據(jù)創(chuàng)新管理和平臺工程的原則,確定早期采用者和先驅(qū)者,在熟練的開發(fā)人員的幫助下,以可用的方式在現(xiàn)實環(huán)境中實施解決方案,以便為最終用戶進行最佳開發(fā)
綜上所述
可以在受監(jiān)管的環(huán)境中將生成性 AI 引入IDP,同時尊重環(huán)境的所有約束和要求,同時不忽視最終用戶及其對系統(tǒng)的用戶體驗。
路由網(wǎng)(www.lu-you.com)您可以查閱其它相關(guān)文章!