← 全部文章
AI 與智慧體 開發者 已釋出 · · 作者 ObjectStack Team

FDE(前沿部署工程師)用什麼工具?一套本體優先的開源技術棧

五個痛點定義了前沿部署工作:管道吞掉第一週、演示死在安全評審、需求變得比程式碼快、模式無法跨客戶複利、交接毒化客戶關係。本文逐一給出本體優先開源棧的具體解法。

FDE(前沿部署工程師)用什麼工具?一套本體優先的開源技術棧
  • 前沿部署工程師
  • 本體
  • Palantir
  • MCP
  • ObjectStack

一句話版本: 前沿部署工程(FDE)是企業 AI 裡增長最快的崗位——招聘同比增長約 1000%,OpenAI 為專門的部署公司投入 40 億美元。有效的打法是 Palantir 的本體優先方法。但去問一個真正幹活的 FDE,他的一週是什麼樣,你會聽到五個反覆出現的痛點:管道吞掉整個專案、演示死在安全評審、需求變得比程式碼快、模式永遠無法跨客戶複利、交接毒化客戶關係。本文把這五個痛點逐一講透,並具體展示一套開放的本體優先技術棧如何逐個拆掉它們——最後落在我們認為將定義這個崗位下一波的問題上:本體交接(the ontology handover)。客戶的本體離開專案時,是變成他們自己倉庫裡的型別化開放檔案,還是變成別人平臺裡的續約籌碼?

沒人誠實描述過的這份工作

招聘啟事談的是”0→1 的模糊性”和 $300K–$550K 的薪資帶(Perspective AITechTarget)。真實的工作是在別人的圍牆內讓 AI 落地:他們的資料、他們的許可權、他們的合規部門、他們對”夠好”的定義。Palantir 多年前就把方法制度化了:其 AI FDE 在交付任何 LLM 應用之前先構建客戶專屬本體,並把每週 30–40% 的時間花在業務發現上(Palantir AI FDE 指南)。方法是對的。方法之下的工具,才是一週時間真正的去向。五個痛點,逐個說。

痛點一——第一週永遠在鋪管道

每個專案的開場都一樣:在螢幕上出現第一個業務物件之前,你需要登入、SSO、角色、CRUD 介面、管理介面、檔案儲存、審計表。沒有一樣是客戶僱你的原因。你的差異化能力——花在理解他們業務上的那 30–40%——被花在重建無差異底座上的 60% 擠到了邊緣,而那個底座你上個客戶剛建過一遍。

這套棧改變了什麼: 底座本來就在。一條命令,午飯前 Console、登入與 SSO、角色/行級/欄位級許可權、審計日誌、REST API 和 MCP 伺服器就全部在執行:

npm create objectstack@latest client-app && cd client-app
npx os dev --ui   # Console 在 :3000——認證、許可權、審計已在強制執行

一切可派生的都由執行時派生。剩下要寫的,只有唯獨你能寫的東西:客戶的物件、流程和許可權規則。第一週變成業務發現和建模——你真正有差異化的那部分工作。

痛點二——死在安全評審裡的演示

你熟悉這條曲線。第一週的週五:一個拼起來的演示——vibe-coding 的介面蓋在一份拷出來的 CSV 上——全場鼓掌。第二個月:資訊安全部門進場,三個問題。AI 到底能看到什麼?它執行操作時用誰的許可權?審計記錄在哪裡? 對一個演示棧來說,誠實的回答是推倒重建,而重建正是專案死掉的地方。

這套棧改變了什麼: 治理是底座,不是補丁。校驗門甚至不接受一個沒有宣告共享模型的物件:

export const Ticket = ObjectSchema.create({
  name: 'support_ticket',
  label: 'Ticket',
  sharingModel: 'private',        // 必填——沒有它,校驗門直接拒絕
  fields: {
    subject:  Field.text({ label: 'Subject', required: true }),
    status:   Field.select({ label: 'Status', options: [/* 客戶真實的狀態 */] }),
    approver: Field.lookup('sys_user'),
  },
});

執行時裡,每一次呼叫——人用介面、REST,還是 AI 智慧體走 MCP——都過同一套 RBAC、行級與欄位級安全,落進同一份審計日誌。當資訊安全問*“AI 能看到什麼?”*,答案是一份他們能直接讀的檔案:許可權後設資料,由執行時強制執行,而不是幻燈片上的承諾。你週五的演示和生產部署是同一個製品。不存在重建,因為從來不存在”沒有治理的版本”。

痛點三——需求變得比程式碼快

會開到一半,運營負責人說:“對了,超過 20% 的折扣要先過大區經理審批。” 在手寫程式碼庫裡,這是一次 schema 遷移、三處 API 改動、一處介面改動、一週時間——而在客戶眼裡,他們一變具體,你就變慢了。前沿部署工作的生死,就在會議室裡的迭代速度。

這套棧改變了什麼: 整個應用是緊湊的型別化後設資料——完整 CRM 是 1792 行、約 16k token(自己數:find examples/app-crm/src -name '*.ts' | xargs cat | wc -l)。這意味著你的編碼智慧體把整個系統裝在上下文裡:審批鏈的改動是橫跨流程、許可權、介面的一個連貫 diff,會還沒開完就寫好了,os validate 把關,Console 即時預覽。“改這裡會弄壞什麼?”是智慧體真正能回答的問題,因為它看得見全部。需求變更不再威脅工期——它本身就成了演示。

痛點四——你的模式永遠無法複利

客戶 A 的審批鏈程式碼抬不進客戶 B 的程式碼庫——框架版本不同、認證不同、一切都不同。於是每個專案都從零開始,一家三人精品諮詢永遠攢不出讓 Palantir 模式經濟學成立的槓桿。這是前沿部署諮詢公司做不大的隱秘原因。

這套棧改變了什麼: 模式就是型別化後設資料,而型別化後設資料是可移植的。你為客戶 A 建的審批鏈,是一份丟進客戶 B 倉庫改個名就能用的流程定義。專案做多了,你會積累出自己的”號型庫”——物件、流程、許可權集、種子資料——你的智慧體幾分鐘內把它們套到下一個客戶身上。而且你的庫不必從零開始:HotCRM 是一個完整、可 fork 的參考實現——15 個物件、17 個流程、4 個儀表盤、2 個 AI copilot、4 種語言——就是為示範這套約定而建的。fork、改名稱空間,你的專案從一個能跑的系統開始,而不是一個空倉庫。

痛點五——交接毒化客戶關係

每個專案都會結束,而今天的結束方式有兩種,都不體面。交出一個平臺,客戶從此永遠租用自己的本體——你成了別人的銷售渠道,而客戶學會了害怕成功的試點,因為本體越好,鎖定越深。交出一個定製程式碼庫,客戶團隊維護不了,它慢慢腐爛,十八個月後爛賬記在你名下。

這套棧改變了什麼: 這就是本體交接——FDE 打法從未解決的結尾。你交出的是客戶的倉庫:Apache-2.0 下的型別化物件、流程與許可權,加上編譯好的製品和一份評審清單。他們的安全團隊已經讀過每一行——那是 16k token,不是 30 萬行。他們自己的編碼智慧體用你用過的同一個迴圈繼續維護,因為這個格式生來就是給智慧體寫的。如果他們想要平臺被託管運營——瀏覽器 AI Builder、雲端或自管——那是 ObjectOS,跑的是同一份開放定義;哪天離開也不會失去本體。你的下一份合同靠新的工作贏來,而不是靠鎖定榨出來。這個差別,就是你的口碑在複利。

FDE 的完整後設資料工具箱

本體不只是資料模型。一個前沿部署專案從發現到交接,每個階段都對應一組後設資料型別——而它們全部是同一種類型化、可校驗、可移植的定義:

專案階段你要回答的客戶問題用到的後設資料型別
1 · 建模客戶的名詞”我們的業務裡有什麼?”物件與欄位(關係、校驗規則、公式欄位)· 資料來源(連線現有資料庫,不遷移)· 種子資料(演示與驗收用)
2 · 建模客戶的動詞”事情是怎麼流轉的?”流程(審批鏈、狀態機、記錄觸發、定時任務)· 審批(多級、佇列、記錄鎖定)· 動作(許可權校驗的按鈕與服務端操作)
3 · 給人用的介面”我們的人在哪裡幹活?”應用與導航 · 檢視(列表/看板/日曆/甘特)· 頁面與表單 · 儀表盤與報表(高管要看的 KPI)
4 · 過安全評審”誰能看到什麼、做什麼?”許可權集與角色(RBAC)· 行級/欄位級安全 · 共享規則 · 審計(執行時自帶,宣告即得)
5 · 客戶真正想買的 AI”AI 能替我們幹什麼?”AI 智慧體(銷售/客服 copilot)· AI 工具與技能 · MCP 暴露(ai: { exposed: true })
6 · 交接與複利”你走了之後呢?”翻譯(多語言標籤,跨國客戶)· 應用清單與打包(編譯成一個 objectstack.json,裝進任何環境)

關鍵在於:這六層是同一種東西。 審批鏈和資料模型一樣是型別化後設資料,AI 智慧體也是——同一個校驗門把關,同一個 diff 裡評審,同一個倉庫裡交接:

// The client's verbs: a discount approval — typed metadata, same as an object
export const DiscountApproval: Flow = {
  name: 'discount_approval',
  label: 'Discount Approval',
  type: 'record_change',
  status: 'active',
  nodes: [
    { id: 'start', type: 'start', label: 'Start',
      config: { objectName: 'crm_quote', triggerType: 'record-after-update',
                condition: 'record.discount > 0.20' } },
    { id: 'review', type: 'approval', label: 'Regional Manager Review',
      config: { approvers: [{ type: 'position', value: 'regional_manager' }], lockRecord: true } },
    { id: 'end', type: 'end', label: 'End' },
  ],
  edges: [/* start -> review -> end */],
};

// The AI the client actually wants: a service copilot — still metadata
export const ServiceCopilot = defineAgent({
  name: 'service_copilot',
  label: 'Service Copilot',
  instructions: 'Help support reps triage and resolve cases. Retrieve only within the user\'s permissions. Always cite case IDs.',
  skills: ['case_triage', 'customer_360'],
  knowledge: { topics: ['support_kb', 'sla_policies'] },
});

HotCRM 就是這份詞彙表的完整用法示範:15 個物件、17 個流程、10 個動作、4 個儀表盤、2 個 AI copilot、6 個技能、6 個許可權檔案、5 條共享規則、4 種語言——每一層都有,約 170k token,整套仍裝得進單個智慧體上下文視窗。

這套棧不解決什麼

替對手說句公道話:Foundry 量級的資料聯邦與分析管道是 Palantir 的主場——如果專案是把 PB 級資料從四十個遺留系統裡融合出來,那是另一個工具類別。組織變革管理——讓人真正用起來——沒有任何棧能修。已經全面標準化在封閉平臺上的客戶,留在原地也可能是理性的。這個論斷更窄:就前沿部署工作的應用層——為業務建模並在其上交付受治理應用——而言,上面五個痛點如今是可拆除的,本體也終於可以交接,而不必扣為人質。

FDE 檢查清單

  1. 先把客戶的名詞和動詞建模成物件與流程,再談任何介面。
  2. 讓整個定義保持上下文體量,智慧體才能整體推理、整體重構。
  3. 許可權預設從嚴;每一次許可權變更都在 diff 裡顯式可見。
  4. 交接的是倉庫、編譯製品和評審清單——不是你租戶裡的一個賬號。
  5. 保持 MCP 開啟,讓客戶自己的 AI 在其許可權內操作應用。

跑一遍這個迴圈

把你的編碼智慧體指向開源技術棧——腳手架自帶 AGENTS.md 和技能包,智慧體一開始就載入了這個格式的規則:

npm create objectstack@latest client-app && cd client-app
npx os dev --ui   # 應用已執行——和你的智慧體一起建模第一個物件

如果客戶希望平臺被託管運營,ObjectOS 是執行在同一份開放定義上的商業執行時——線上構建與問詢,治理內建。