:Claude Code與MCP如何重塑開發(fā)流程)
1. 為什么“AI-Native SDLC”不是又一個新名詞第一次聽到“AI-Native SDLC”這個說法我本能地有點抵觸。軟件工程領域每隔幾年就會冒出一批新詞從敏捷到DevOps再到平臺工程概念換了一茬又一茬但真正落到日常寫代碼、改Bug、發(fā)版本上的變化往往沒有宣傳得那么劇烈。所以當我看到這個詞的時候第一反應是這是不是又一輪概念包裝但真正動手把Claude Code、MCP這些東西接進自己的開發(fā)流程之后我的看法變了。AI-Native SDLC和之前那些方法論有一個本質區(qū)別它不是流程層面的重新組織而是把AI作為一等公民嵌進了軟件開發(fā)生命周期的每一個環(huán)節(jié)。以前我們講DevOps核心是打通開發(fā)和運維之間的墻現(xiàn)在講AI-Native核心是讓AI從“輔助工具”變成“流程參與者”。具體來說傳統(tǒng)SDLC的環(huán)節(jié)是需求、設計、編碼、測試、部署、運維每個環(huán)節(jié)里人都是絕對主體工具只是提效手段。而AI-Native SDLC的思路是在每個環(huán)節(jié)里都預設一個AI可以介入的接口讓AI能夠讀取上下文、執(zhí)行操作、反饋結果。這個接口的標準化載體目前來看就是MCPModel Context Protocol。MCP這個概念剛出來的時候很多人搞不清楚它到底是軟件協(xié)議還是硬件協(xié)議。簡單類比一下它更像是“AI世界的USB接口”。USB協(xié)議規(guī)定了設備怎么和電腦通信MCP規(guī)定了AI模型怎么和外部工具、數(shù)據(jù)源通信。你有一個數(shù)據(jù)庫、一個文件系統(tǒng)、一個API服務只要封裝成MCP ServerAI就能通過標準方式調用它。這個設計思路的價值在于它把“AI能做什么”和“AI怎么接入”解耦了。所以這篇內容適合誰看如果你是一個還在手動復制粘貼代碼到ChatGPT里問問題的開發(fā)者這篇能幫你理解為什么這種方式效率低下如果你已經在用Claude Code或者類似的AI編程工具但只是把它當高級自動補全這篇能幫你看到更大的圖景如果你是一個團隊的技術負責人正在考慮怎么把AI能力系統(tǒng)性地引入研發(fā)流程這篇能給你一個可落地的參考框架。2. 核心組件拆解Claude Code、CLAUDE.md和MCP各自扮演什么角色2.1 Claude Code不只是終端里的聊天窗口Claude Code剛出來的時候我把它理解成一個“命令行版的Claude”。用了一段時間才發(fā)現(xiàn)這個理解太淺了。Claude Code的核心能力不在于它能回答問題而在于它能直接操作你的開發(fā)環(huán)境。舉一個我實際遇到的場景。我有一個老項目用的是RuoYi-Vue-Pro框架需要把其中幾個模塊的接口改造成支持MCP協(xié)議。如果按照傳統(tǒng)方式我得先讀代碼理解結構然后手動改Controller、Service、配置文件再寫測試驗證。整個過程至少半天。用Claude Code的話我只需要在項目根目錄下啟動它然后用自然語言描述需求“把ruoyi-system模塊下的用戶查詢接口封裝成MCP Server支持list和get兩種操作”。它會自己去讀代碼、理解結構、生成實現(xiàn)、甚至幫你跑測試。這個過程中最關鍵的一點是Claude Code能直接執(zhí)行終端命令。這意味著它可以自己安裝依賴、運行構建腳本、查看日志輸出。你不需要把報錯信息復制出來再貼給它它自己就能看到。這個閉環(huán)能力是它和普通聊天式AI工具的根本區(qū)別。安裝Claude Code的過程本身也值得說一下。在Ubuntu上配置相對直接用npm全局安裝就行。但在Windows上會遇到一個典型問題提示“Claudes workspace requires the virtual machine platform on Windows”。這是因為Claude Code的某些隔離機制依賴Windows的虛擬化平臺功能。解決辦法是在“啟用或關閉Windows功能”里勾選“虛擬機平臺”和“Windows子系統(tǒng)for Linux”然后重啟。如果你用的是WSL2環(huán)境這個問題通常不會出現(xiàn)。還有一個常見報錯是“claude : 無法將‘claude’項識別為cmdlet、函數(shù)、腳本文件或可運行程序的名稱”。這通常是npm全局安裝路徑沒有加到系統(tǒng)PATH里。在Windows上npm全局包的默認路徑是%AppData%\npm你需要手動把這個路徑加到環(huán)境變量里。在Ubuntu上如果是用nvm管理的Node全局包路徑通常在~/.nvm/versions/node/vX.X.X/bin下面確認這個路徑在PATH里就行。VSCode里配置Claude Code也很簡單裝好插件之后在設置里指定Claude的可執(zhí)行文件路徑即可。但有一個細節(jié)如果你同時裝了Claude Code的終端版和VSCode插件版建議統(tǒng)一用一個版本否則可能會出現(xiàn)配置不一致的問題。我自己是終端版為主VSCode里只用來做代碼高亮和diff查看。2.2 CLAUDE.md給AI看的項目說明書CLAUDE.md這個文件我一開始覺得就是個可有可無的說明文檔。后來發(fā)現(xiàn)它其實是Claude Code理解你項目的關鍵入口。每次Claude Code啟動時它會自動讀取項目根目錄下的CLAUDE.md文件把它作為系統(tǒng)提示的一部分。這意味著你在這個文件里寫的內容會直接影響AI對你項目的理解方式。我現(xiàn)在的習慣是每個項目根目錄下都放一個CLAUDE.md內容大概包括這幾塊項目整體架構說明用一兩段話講清楚這個項目是干什么的、主要模塊有哪些技術棧和版本信息比如用的是Spring Boot 3.2 Vue 3 PostgreSQL 16代碼規(guī)范約定比如命名風格、注釋語言、提交信息格式常用命令比如怎么啟動開發(fā)服務器、怎么跑測試、怎么構建特殊注意事項比如哪些目錄不要動、哪些配置是環(huán)境相關的這個文件寫得好不好直接決定了Claude Code幫你干活的質量。我試過在一個沒有CLAUDE.md的項目里讓Claude Code改代碼它經常會把一些約定俗成的東西改掉比如把項目里統(tǒng)一用的ResultT返回類型改成直接返回對象。后來補上CLAUDE.md明確寫了“所有Controller接口統(tǒng)一返回Result 包裝”這個問題就再沒出現(xiàn)過。有一個技巧是CLAUDE.md不需要寫得太長。我見過有人寫了上千行的項目文檔進去結果反而稀釋了關鍵信息。我的經驗是控制在200行以內重點突出“這個項目和其他項目不一樣的地方”。通用的編碼規(guī)范AI本來就知道不需要你重復。2.3 MCP讓AI從“能說”變成“能做”MCP是這三個概念里最抽象的一個但也是最有想象空間的。前面說了它像AI世界的USB接口具體到開發(fā)場景里它解決的是“AI怎么安全地訪問外部資源”這個問題。舉個具體例子。假設你有一個PostgreSQL數(shù)據(jù)庫想讓AI幫你寫查詢。傳統(tǒng)方式是你把表結構復制出來貼給AI它寫好SQL你再拿回去執(zhí)行。用MCP的話你可以部署一個PostgreSQL MCP ServerAI直接通過協(xié)議查詢表結構、執(zhí)行查詢、查看結果。整個過程不需要你手動搬運數(shù)據(jù)。MCP Server的部署方式通常有兩種本地進程和遠程服務。本地進程適合訪問本地文件系統(tǒng)、本地數(shù)據(jù)庫這類資源遠程服務適合訪問團隊共享的API、云服務等。Claude Code里配置MCP Server的方式是在配置文件里加一段JSON指定Server的啟動命令和參數(shù)。比如配置一個訪問本地文件系統(tǒng)的MCP Server大概長這樣{ mcpServers: { filesystem: { command: npx, args: [-y, modelcontextprotocol/server-filesystem, /path/to/allowed/dir] } } }這里npx會自動下載并運行MCP Server包args里的路徑限制了AI能訪問的目錄范圍。這個限制很重要不然AI可能會讀到你不希望它讀的文件。MCP和傳統(tǒng)API的區(qū)別在于它不是為人類設計的接口而是為AI設計的。傳統(tǒng)API的文檔是給人看的MCP的Schema是給AI看的。這意味著MCP Server需要提供更結構化的能力描述讓AI能理解“這個工具能做什么、需要什么參數(shù)、返回什么結果”。這個設計思路的轉變是AI-Native SDLC和傳統(tǒng)自動化腳本的根本區(qū)別。3. 把AI嵌進開發(fā)流程從需求到部署的實操路徑3.1 需求階段讓AI幫你做需求拆解和影響分析需求階段用AI很多人第一反應是讓AI寫需求文檔。但我的經驗是AI在這個階段最大的價值不是寫文檔而是做影響分析和拆解。具體怎么做我會把需求描述和項目代碼庫一起給Claude Code讓它分析這個需求會影響到哪些模塊、哪些接口、哪些數(shù)據(jù)表。比如有一次產品提了一個“用戶支持多角色切換”的需求我讓Claude Code分析影響范圍它列出了需要改動的Controller、Service、Mapper、前端路由、權限配置等十幾個文件還標注了哪些改動是必須的、哪些是可選的。這個分析結果比我手動梳理快了至少三倍。這個過程中CLAUDE.md的作用就體現(xiàn)出來了。因為我在CLAUDE.md里寫了項目的模塊劃分和依賴關系Claude Code能準確判斷出改動一個Service會影響哪些上層調用。如果沒有這個上下文它只能看到單個文件的內容分析結果就會片面。有一個注意事項AI的影響分析結果不能全信。它有時候會漏掉一些隱式依賴比如通過反射調用的方法、通過配置文件注入的Bean。我的做法是把AI的分析結果作為起點然后自己再快速過一遍關鍵路徑。這樣既享受了AI的效率又保留了人的判斷。3.2 編碼階段從“AI補全”到“AI執(zhí)行”編碼階段是AI-Native SDLC里變化最明顯的環(huán)節(jié)。傳統(tǒng)的AI輔助編碼是“你寫一行AI補全下一行”而AI-Native的方式是“你描述意圖AI執(zhí)行實現(xiàn)”。我現(xiàn)在的編碼流程是這樣的先在CLAUDE.md里確認項目上下文是最新的然后用自然語言描述要實現(xiàn)的函數(shù)或模塊。Claude Code會生成代碼、寫入文件、運行測試。如果測試失敗它會自己看報錯、自己修直到測試通過。整個過程我只需要在關鍵決策點做確認。這個流程的效率提升是巨大的但有一個前提你的項目必須有完善的測試覆蓋。沒有測試的話AI改完代碼你根本不知道有沒有改壞。我試過在一個沒有單元測試的老項目里用這種方式結果AI改了一個工具類導致三個不相關的功能出了問題。后來我給那個項目補了核心路徑的測試才敢繼續(xù)用AI改代碼。還有一個實操技巧讓AI改代碼時盡量把改動范圍限制在一個模塊內??缒K的改動AI容易顧此失彼。如果確實需要跨模塊我會拆成多個步驟每步只改一個模塊改完驗證通過再進入下一步。關于Claude Code調用本地模型的問題有人問能不能接LMStudio。技術上是可以的通過配置API endpoint指向本地服務就行。但我的實測體驗是本地模型在代碼理解和生成上的能力和云端模型還有明顯差距。如果你的機器性能夠強跑得動大參數(shù)量的本地模型可以試試否則還是用云端服務更實際。3.3 測試階段AI生成測試用例的邊界在哪里測試階段用AI最大的誘惑是讓AI全自動生成測試用例。我試過這種方式結論是AI生成的測試用例適合做補充不適合做主力。AI生成的測試用例有兩個典型問題。第一是它傾向于測試“正常路徑”對邊界條件和異常路徑的覆蓋不夠。比如一個用戶注冊接口AI會測試正常注冊、重復注冊但可能漏掉“用戶名包含特殊字符”“密碼長度剛好在邊界值”這類情況。第二是它生成的斷言往往比較淺只驗證返回狀態(tài)碼不驗證返回內容的正確性。我的做法是讓AI生成測試用例的骨架然后自己補充邊界條件和斷言。具體操作上我會先讓Claude Code分析被測函數(shù)的輸入空間列出所有可能的輸入組合然后我從中挑選需要覆蓋的場景讓AI生成對應的測試代碼。這樣既利用了AI的效率又保證了測試的質量。對于MCP相關的測試有一個特殊點需要注意MCP Server的測試需要模擬AI的調用方式而不是模擬人類的調用方式。這意味著測試用例里要構造符合MCP Schema的請求驗證返回結果的結構是否符合預期。這塊目前還沒有特別成熟的測試框架我自己的做法是寫一個簡單的MCP Client來發(fā)請求然后用常規(guī)的斷言庫驗證結果。3.4 部署階段AI能幫你做什么、不能幫你做什么部署階段我對AI的定位是“副駕駛”不是“自動駕駛”。AI可以幫你生成部署腳本、檢查配置項、分析部署日志但最終的部署決策必須由人來做。我實際用AI做的部署相關事情包括生成Dockerfile和docker-compose配置、檢查環(huán)境變量是否完整、分析部署失敗時的日志。這些事情AI做得確實不錯尤其是日志分析它能快速從幾百行日志里定位到關鍵報錯比人眼掃快得多。但有些事情AI做不了。比如判斷某個配置值在生產環(huán)境應該設成多少這需要你對業(yè)務流量、服務器規(guī)格、成本預算有了解AI沒有這些上下文。再比如回滾決策AI可以告訴你回滾命令是什么但要不要回滾、什么時候回滾需要人來判斷。有一個坑我踩過讓AI生成Nginx配置時它生成的配置在測試環(huán)境跑得好好的到生產環(huán)境就出問題。原因是生產環(huán)境的SSL證書路徑和測試環(huán)境不一樣AI不知道這個差異。后來我在CLAUDE.md里加了一段“環(huán)境差異說明”把測試和生產環(huán)境的不同配置項列出來這個問題就解決了。4. 常見問題與排查技巧實錄4.1 Claude Code安裝和配置的高頻問題問題一Windows上提示需要虛擬機平臺這個前面提過解決辦法是啟用Windows的虛擬機平臺功能。但有一個細節(jié)如果你用的是Windows家庭版可能找不到Hyper-V相關的選項。這種情況下建議直接用WSL2在WSL2里安裝Claude Code體驗和Ubuntu上一樣。問題二提示“claude”不是可識別的命令這是PATH配置問題。Windows上檢查%AppData%\npm是否在PATH里Ubuntu上檢查npm全局bin目錄是否在PATH里。如果用的是nvm每次切換Node版本后全局包路徑會變需要重新確認。問題三提示“organization has disabled claude subscription access for claude code”這是賬號權限問題。如果你的Claude賬號是通過某個組織訂閱的而管理員沒有開啟Claude Code的訪問權限就會出現(xiàn)這個提示。解決辦法是聯(lián)系管理員開啟或者用自己的個人賬號訂閱。問題四連接報錯“connection dropped (ECONNRESET)”這個通常是網絡問題。Claude Code需要穩(wěn)定的網絡連接來調用云端模型。如果你在公司內網可能有防火墻限制。解決辦法是檢查網絡代理設置或者換一個網絡環(huán)境試試。4.2 MCP配置的典型故障排查MCP配置出問題的時候排查思路和普通API調試不太一樣。因為MCP是AI在調用你看不到AI發(fā)了什么請求、收到了什么響應。我的排查方法是分三步走第一步確認MCP Server本身能正常啟動。在終端里手動運行MCP Server的啟動命令看有沒有報錯。如果Server都起不來那肯定是配置問題。第二步用MCP Inspector工具測試。這是一個官方的調試工具可以模擬AI的調用方式讓你看到請求和響應的完整內容。如果Inspector能調通但Claude Code調不通那問題出在Claude Code的配置上。第三步檢查Claude Code的MCP配置格式。常見的錯誤包括JSON格式不對、路徑用了相對路徑、環(huán)境變量沒傳進去。我遇到過最隱蔽的一個問題是MCP Server依賴的某個環(huán)境變量在Claude Code的配置里沒設置導致Server啟動后行為異常。關于Browser Use MCP和Playwright MCP的區(qū)別簡單說一下。Browser Use MCP更偏向于“讓AI像人一樣操作瀏覽器”適合做網頁交互、表單填寫這類任務Playwright MCP更偏向于“讓AI控制瀏覽器做自動化測試”適合做頁面驗證、截圖對比這類任務。選擇哪個取決于你的具體場景。4.3 AI生成代碼的質量控制AI生成的代碼我總結了幾條質量控制原則所有AI生成的代碼必須經過Code Review不能直接合并關鍵業(yè)務邏輯的代碼AI生成后必須自己重寫一遍確保理解每一行AI生成的測試用例必須補充邊界條件AI生成的配置必須和現(xiàn)有配置做diff對比這幾條原則看起來增加了工作量但實際上節(jié)省了后期調試的時間。我試過跳過Code Review直接合并AI代碼結果一個隱蔽的空指針異常在線上跑了三天才被發(fā)現(xiàn)排查花的時間遠超Review的時間。還有一個經驗是給AI的指令越具體生成的代碼質量越高。不要說“幫我優(yōu)化這段代碼”要說“這段代碼在數(shù)據(jù)量超過1萬條時響應時間超過2秒幫我優(yōu)化查詢邏輯目標是降到500毫秒以內”。具體的約束條件能讓AI聚焦在真正的問題上。4.4 常見問題速查表問題現(xiàn)象可能原因排查方法解決方案Claude Code無法啟動Node版本不兼容檢查Node版本是否≥18升級Node到18或20MCP Server連接超時網絡或路徑問題手動運行Server命令檢查路徑和網絡配置AI生成的代碼不符合項目規(guī)范CLAUDE.md缺失或不完整檢查CLAUDE.md內容補充項目規(guī)范和約定測試用例覆蓋不全AI傾向正常路徑檢查邊界條件覆蓋手動補充邊界測試部署腳本執(zhí)行失敗環(huán)境差異對比測試和生產環(huán)境在CLAUDE.md中記錄環(huán)境差異MCP工具調用返回空結果Schema定義不匹配用MCP Inspector測試修正Schema定義5. 我踩過的坑和總結出的實操心得5.1 不要試圖一步到位我剛開始搞AI-Native SDLC的時候恨不得把所有環(huán)節(jié)都換成AI驅動。結果就是每個環(huán)節(jié)都半生不熟整體效率反而下降了。后來我調整了策略先在一個環(huán)節(jié)上跑通再擴展到下一個。我的擴展順序是編碼輔助→測試生成→需求分析→部署輔助。編碼輔助最容易見效因為反饋周期短改完代碼馬上能看到結果。測試生成次之因為測試跑一遍就知道對不對。需求分析和部署輔助的反饋周期長放在后面做。這個順序背后的邏輯是優(yōu)先選擇反饋快、風險低的環(huán)節(jié)。編碼輔助改錯了大不了重寫部署輔助改錯了可能影響線上服務。先易后難逐步建立信心。5.2 CLAUDE.md要持續(xù)維護CLAUDE.md不是寫一次就完事的。項目在演進CLAUDE.md也要跟著更新。我的做法是每次項目有重大變更時順手更新CLAUDE.md。比如新增了一個模塊、換了一個數(shù)據(jù)庫、調整了代碼規(guī)范都記一筆。有一個技巧是把CLAUDE.md的更新納入Code Review流程。每次PR里如果涉及架構變更Reviewer要確認CLAUDE.md是否同步更新了。這樣能保證CLAUDE.md不會隨著時間推移變得過時。5.3 MCP Server的權限控制要嚴格MCP Server給了AI訪問外部資源的能力這個能力必須被嚴格限制。我見過有人配置了一個可以訪問整個文件系統(tǒng)的MCP Server結果AI在排查問題時把一些敏感配置文件的內容讀出來放到了對話里。我的做法是每個MCP Server只開放必要的最小權限。文件系統(tǒng)Server只開放項目目錄數(shù)據(jù)庫Server只開放只讀賬號API Server只開放必要的接口。這個原則和傳統(tǒng)的最小權限原則是一樣的只是在AI場景下更重要因為AI可能會在不經意間訪問到你不希望它訪問的東西。5.4 保持對AI輸出的批判性思維這一點怎么強調都不為過。AI很擅長生成看起來合理但實際上有問題的內容。我遇到過AI生成的SQL查詢在數(shù)據(jù)量小的時候沒問題數(shù)據(jù)量大了之后性能急劇下降也遇到過AI生成的配置在測試環(huán)境正常生產環(huán)境因為并發(fā)量高而崩潰。我的應對方法是對AI輸出的關鍵內容做一次“反向驗證”。比如AI說這個查詢走索引我就用EXPLAIN看一下執(zhí)行計劃AI說這個配置支持高并發(fā)我就用壓測工具跑一下。這個驗證過程花不了多少時間但能避免很多線上問題。5.5 團隊協(xié)作中的AI-Native實踐如果是團隊使用有幾個額外的注意事項。首先是CLAUDE.md要統(tǒng)一不能每個人用自己的版本。其次是MCP Server的配置要標準化最好做成團隊共享的配置模板。最后是AI生成的代碼要有統(tǒng)一的標記方便Reviewer識別哪些是AI生成的、哪些是人寫的。我們團隊的做法是在提交信息里加一個[ai-assisted]標簽標明這個提交有AI參與。這不是為了追責而是為了讓Reviewer知道需要更仔細地檢查。實踐下來這個做法確實提高了Review的效率。6. 從工具到習慣AI-Native SDLC的落地節(jié)奏6.1 個人開發(fā)者的起步路徑如果你是一個個人開發(fā)者想嘗試AI-Native SDLC我的建議是從Claude Code CLAUDE.md這個組合開始。先不要碰MCP那個復雜度更高等Claude Code用熟了再說。具體步驟第一周安裝Claude Code在項目里建一個CLAUDE.md用Claude Code做日常的代碼修改和Bug修復。第二周開始讓Claude Code生成測試用例你負責補充邊界條件。第三周嘗試讓Claude Code做需求影響分析。一個月之后你對這套流程的邊界和限制會有比較清晰的認識再考慮引入MCP。這個節(jié)奏看起來慢但實際上是最快的。我見過太多人一上來就搞全套結果被各種配置問題卡住最后放棄。一步一步來每一步都跑通了再走下一步反而能走得更遠。6.2 小團隊的協(xié)作模式小團隊引入AI-Native SDLC關鍵是要建立共享的上下文。CLAUDE.md要放在版本控制里MCP配置要統(tǒng)一管理AI生成的代碼要有統(tǒng)一的Review標準。我們團隊的做法是每周做一次“AI使用復盤”大家分享一下這周用AI做了什么、遇到了什么問題、有什么新發(fā)現(xiàn)。這個復盤不需要很正式午飯時間聊二十分鐘就行。但堅持下來團隊對AI能力的認知會越來越一致協(xié)作效率也會越來越高。還有一個細節(jié)團隊里最好有一個人專門負責維護CLAUDE.md和MCP配置。這個人不需要是全職的但需要對這個事情有 ownership。否則CLAUDE.md很容易變成沒人管的孤兒文件。6.3 什么情況下不該用AI這一點很少有人提但我覺得很重要。有些場景下用AI反而會降低效率或者增加風險涉及核心安全邏輯的代碼比如認證、授權、加密這些代碼必須由人仔細編寫和審查性能極度敏感的代碼AI生成的實現(xiàn)往往不是最優(yōu)的需要人工調優(yōu)需要深度業(yè)務理解的邏輯AI沒有業(yè)務上下文生成的代碼可能邏輯正確但業(yè)務上不合理緊急線上故障的處理這時候需要快速決策AI的分析反而會拖慢節(jié)奏判斷標準很簡單如果這個任務做錯了后果很嚴重或者需要大量隱性知識那就不要交給AI。AI適合做的是那些“做錯了可以快速發(fā)現(xiàn)和修復”的任務。6.4 后續(xù)可以擴展的方向這套流程跑通之后有幾個方向可以繼續(xù)擴展。一個是把MCP Server接到CI/CD流水線里讓AI能在構建失敗時自動分析原因。另一個是做一個團隊內部的MCP Server市場把常用的工具封裝成標準MCP Server大家按需選用。還有一個方向是AI Agent的編排?,F(xiàn)在Claude Code是一個Agent在做所有事情未來可以拆成多個Agent每個Agent負責一個環(huán)節(jié)Agent之間通過MCP通信。這個方向目前還比較早期但值得關注。我個人在實際操作中的體會是AI-Native SDLC的核心不是工具而是思維方式。你需要習慣“先想清楚要讓AI做什么再動手”而不是“先動手遇到問題再找AI”。這個思維方式的轉變比學會任何一個具體工具都重要。