
譯者 | 李睿
審校 | 重樓
智能體開發(fā)運(yùn)維(Agentic DevOps)的概念首次亮相于微軟公司舉辦的Microsoft Build 2025 開發(fā)者大會(huì)。如今有了Agentic AI、Agentic Workflows、Agentic Systems……當(dāng)然還有Agentic DevOps紛紛涌現(xiàn)。接下來會(huì)是什么? 本文將深入探討Agentic DevOps的精彩世界。
2025年,一場悄無聲息的革命開始重塑軟件構(gòu)建的方式。它不僅僅是提升編碼速度,更在于通過與開發(fā)人員協(xié)作的自主和半自主智能體,徹底變革整個(gè)軟件生命周期。歡迎來到Agentic DevOps時(shí)代——智能體不再僅僅是輔助工具,更能與開發(fā)者協(xié)作、優(yōu)化并共同完成開發(fā)、質(zhì)量保證(QA)和運(yùn)維工作。這是智能軟件開發(fā)生命周期(SDLC)的新紀(jì)元。
不僅僅服務(wù)于大型企業(yè)
雖然微軟公司通過GitHub Copilot、Azure和Visual Studio等工具引入了這一理念,但Agentic DevOps只是一種范式,而不是一種產(chǎn)品。開發(fā)人員不需要進(jìn)入微軟生態(tài)系統(tǒng)就能從中受益。Agentic DevOps將開發(fā)人員的專業(yè)知識(shí)與人工智能工具和框架相結(jié)合,以增強(qiáng)軟件交付能力。雖然微軟公司推廣了這個(gè)概念,但它并不局限于其生態(tài)系統(tǒng)。開發(fā)人員可以通過以下方式應(yīng)用Agentic DevOps:
- 編碼智能體:Cursor、Windsurf、Claude Code、Codex等
- 本地人工智能編碼智能體:Continue、Cline、Roo
- 開源模型:Llama 4、Mistral、DeepSeek、Qwen
- 本地部署工具:vLLM、SGLang、TGI
- 智能體框架:LangGraph、AutoGen、CrewAI、DSPy等
這些只是一些例子,開發(fā)人員可以選擇喜歡的工具和基礎(chǔ)設(shè)施,無論是本地部署還是在云中使用AWS、GCP、Azure、IBM Cloud、Oracle Cloud 或阿里云。Agentic DevOps是關(guān)于利用人工智能增強(qiáng)人類能力,而不是鎖定特定供應(yīng)商。Agentic DevOps適合所有人。
什么是Agentic DevOps?
Agentic DevOps是傳統(tǒng)DevOps的進(jìn)階形態(tài)。它引入了特定于任務(wù)的智能體——嵌入到開發(fā)人員工作流程中的人工智能助手,幫助簡化、自動(dòng)化和優(yōu)化軟件交付的所有階段:
- 開發(fā)智能體:審查拉取請求,重構(gòu)遺留代碼,生成測試用例,根據(jù)規(guī)范實(shí)現(xiàn)功能并確保安全最佳實(shí)踐。
- 質(zhì)量保證(QA)智能體:運(yùn)行自動(dòng)化測試,建議改進(jìn)測試覆蓋率,發(fā)現(xiàn)不穩(wěn)定的測試,并根據(jù)上下文對錯(cuò)誤(Bug)進(jìn)行分類。
- 代碼優(yōu)化/清理智能體:清除技術(shù)債務(wù),并優(yōu)化現(xiàn)有代碼。
- SRE/生產(chǎn)智能體:監(jiān)控系統(tǒng)、響應(yīng)事件、運(yùn)行診斷、提出修復(fù)方案,并自動(dòng)記錄后續(xù)問題。
這些智能體相互協(xié)作,并與開發(fā)人員協(xié)作,根據(jù)任務(wù)復(fù)雜度和風(fēng)險(xiǎn)等級,充當(dāng)可靠的copilots或獨(dú)立的問題解決者。
現(xiàn)實(shí)世界中的示例:DSPy+MCP+Agenspy
以下通過具體用例展示Agentic DevOps的應(yīng)用場景。
拉取請求(PR)審查智能體
在GitHub上打開一個(gè)拉取請求,Agentic DevOps會(huì)立即分析這些變化:
- 標(biāo)記潛在的安全問題或遺漏的邊緣情況。
- 建議文檔更新。
- 根據(jù)代碼庫歷史記錄推薦更簡潔的實(shí)現(xiàn)方式。
- 對下游模塊進(jìn)行風(fēng)險(xiǎn)影響分析。
所有這一切在幾分鐘內(nèi)完成。開發(fā)人員只需審查并批準(zhǔn)。
技術(shù)債務(wù)智能體
Agentic DevOps可以定期掃描存儲(chǔ)庫:
- 檢測已經(jīng)棄用的依賴項(xiàng)。
- 建議現(xiàn)代化改造路徑。
- 重構(gòu)圈復(fù)雜度過高的函數(shù)。
- 突出顯示測試覆蓋率的差距。
開發(fā)人員無需將問題堆積到待辦事項(xiàng)中,而是可以有目的地進(jìn)行問題分類。
事件響應(yīng)智能體
如果凌晨3點(diǎn)觸發(fā)一個(gè)警報(bào)。無需叫醒運(yùn)維人員:
?智能體運(yùn)行根本原因診斷。
?嘗試自動(dòng)修復(fù)(例如,重啟 Pod、回滾變更)。
?在問題跟蹤器中記錄事件及修復(fù)建議。
?如果沒有解決,它會(huì)向值班工程師發(fā)送一份完整的報(bào)告。
事件響應(yīng)智能體可以減少警報(bào),顯著提升系統(tǒng)彈性。以上只是一些示例,Agentic DevOps在理論上可以實(shí)現(xiàn)SDLC全流程自動(dòng)化。
Agentic DevOps實(shí)踐:DSPy + MCP + Agenspy
以下展示一下如何使用代碼來實(shí)現(xiàn)Agentic DevOps。
使用GitHub的DSPy和MCP服務(wù)器創(chuàng)建一些智能體示例,并通過Agenspy庫連接MCP服務(wù)器。
將創(chuàng)建一個(gè)PRReviewAgent來分析樣本PR,并提供安全性分析、文檔審查、實(shí)施建議和執(zhí)行影響評估。需要設(shè)置Python和OPENAI_API_KEY和GITHUB_TOKEN。然后安裝依賴項(xiàng)。
pip install "agenspy[mcp]" dspy openai
npm install -g @modelcontextprotocol/server-github
README.md文件中有完整的安裝指南。以下是可以直接運(yùn)行的PRReviewAgent的代碼。
1 import os
2 from typing import Dict, List, Optional
3 import dspy
4 from dspy import Prediction
5 from agenspy import RealMCPClient
6
7 class PRReviewAgent(dspy.Module):
8 """Agent for automated PR reviews."""
9
10 def __init__(self, mcp_client, github_token: Optional[str] = None):
11 super().__init__()
12 self.mcp_client = mcp_client
13 self.github_token = github_token
14
15 # Define predictors with modern signature syntax using ->
16 self.analyze_changes = dspy.Predict(
17 "pr_content -> security_issues: list[str], edge_cases: list[str]"
18 )
19
20 self.review_docs = dspy.Predict(
21 "changes -> doc_updates: list[str], doc_suggestions: list[str]"
22 )
23
24 self.analyze_impact = dspy.Predict(
25 "changes, codebase -> impact_analysis: str, risk_score: float"
26 )
27
28 def forward(self, pr_url: str) -> Prediction:
29 """Review a pull request and provide comprehensive analysis."""
30 print(f" Reviewing PR: {pr_url}")
31
32 # Define default values
33 default_security = ["No security issues identified in the current codebase"]
34 default_edge_cases = ["No potential edge cases detected"]
35 default_doc_updates = ["No documentation updates required"]
36 default_doc_suggestions = ["Documentation appears to be complete"]
37 default_impact = "No significant impact detected"
38 default_risk = 0.0
39
40 # Fetch PR data
41 pr_data = self.mcp_client(
42 context_request=f"Get PR details for {pr_url}",
43 tool_name="get_pull_request",
44 tool_args={"url": pr_url}
45 )
46
47 # Access the data properly from pr_data
48 context_data = pr_data.get('context_data', {})
49 diff_data = pr_data.get('diff', '')
50
51 try:
52 # Analyze changes using modern predictor calls
53 analysis = self.analyze_changes(pr_content=context_data)
54 doc_review = self.review_docs(changes=diff_data)
55 impact = self.analyze_impact(
56 changes=diff_data,
57 codebase=context_data
58 )
59
60 # Return a Prediction object with defaults
61 return dspy.Prediction(
62 security_issues=getattr(analysis, 'security_issues', []) or default_security,
63 edge_cases=getattr(analysis, 'edge_cases', []) or default_edge_cases,
64 doc_updates=getattr(doc_review, 'doc_updates', []) or default_doc_updates,
65 doc_suggestions=getattr(doc_review, 'doc_suggestions', []) or default_doc_suggestions,
66 impact_analysis=getattr(impact, 'impact_analysis', '') or default_impact,
67 risk_score=getattr(impact, 'risk_score', 0.0) or default_risk
68 )
69 except Exception as e:
70 print(f"Analysis error: {str(e)}")
71 # Return prediction with default values on error
72 return dspy.Prediction(
73 security_issues=default_security,
74 edge_cases=default_edge_cases,
75 doc_updates=default_doc_updates,
76 doc_suggestions=default_doc_suggestions,
77 impact_analysis=default_impact,
78 risk_score=default_risk
79 )
80
81 def main():
82 """Run PR Review Agent demo."""
83 github_token = os.getenv('GITHUB_TOKEN')
84 openai_key = os.getenv('OPENAI_API_KEY')
85
86 if not all([github_token, openai_key]):
87 raise EnvironmentError("Please set GITHUB_TOKEN and OPENAI_API_KEY")
88
89 # Configure DSPy with modern configuration
90 lm = dspy.LM('openai/gpt-4o-mini', api_key=openai_key)
91 dspy.configure(lm=lm)
92
93 # Setup MCP client
94 mcp_client = RealMCPClient(
95 ["npx", "-y", "@modelcontextprotocol/server-github"]
96 )
97
98 try:
99 # Create and run agent
100 agent = PRReviewAgent(mcp_client, github_token)
101 result = agent.forward("https://github.com/SuperagenticAI/SuperXLab/pull/1")
102
103 print("\n PR Review Results:")
104 for key, value in result.items():
105 print(f"\n{key.replace('_', ' ').title()}:")
106 if isinstance(value, list):
107 for item in value:
108 print(f" - {item}")
109 else:
110 print(f" {value}")
111
112 except Exception as e:
113 print(f"Error during PR review: {str(e)}")
114
115if __name__ == "__main__":
116 main()可以保存該文件并運(yùn)行它以查看結(jié)果。源代碼倉庫中提供了一些示例。
源代碼倉庫:Agentic DevOps
從被動(dòng)響應(yīng)到主動(dòng)創(chuàng)造
傳統(tǒng)的DevOps幫助打破孤島,而Agentic DevOps消除了交互。它可以將開發(fā)人員從繁瑣的工作中解放出來(bug分類、編寫模板、安全補(bǔ)?。?,從而讓開發(fā)人員專注于構(gòu)建有意義的事物。
通過將重復(fù)性工作交給智能體,并利用其擴(kuò)展專業(yè)知識(shí),開發(fā)團(tuán)隊(duì)能夠:
- 更快地交付功能。
- 在保持質(zhì)量的同時(shí)避免倦怠。
- 主動(dòng)消除科技債務(wù),而不是被其所困。
- 將安全和合規(guī)性嵌入開發(fā)流程,而不是事后補(bǔ)救。
為什么采用Agentic DevOps?
采用Agentic DevOps有多種因素:
- 生成式人工智能成熟度:現(xiàn)在擁有能夠深度理解代碼的模型,而不僅僅是自動(dòng)完成。
- 工具鏈互操作性:許多IDE、云平臺(tái)和 CI/CD 工具正在開放智能體接口。
- 勞動(dòng)力需求:開發(fā)人員不堪重負(fù);技術(shù)人才稀缺。增強(qiáng)人類能力已不再是可選項(xiàng)。
Agentic DevOps代表了軟件團(tuán)隊(duì)的一種新的操作系統(tǒng)——不是為了取代人類,而是為了增強(qiáng)人類能力。
入門指南:無需依賴微軟
可以通過以下方式探索Agentic DevOps:
- 整合拉取請求(PR)審查機(jī)器人(例如基于OpenAI、Codeium或Hugging Face 模型的機(jī)器人)。
- 使用持續(xù)交付(CI)管道來觸發(fā)代碼質(zhì)量、測試生成或內(nèi)部掃描的智能體。
- 使用DSPy、LangChain或OpenDevin等框架在代碼庫上運(yùn)行微調(diào)的智能體。
- 設(shè)計(jì)智能體分析問題,路由錯(cuò)誤,或根據(jù)變更日志差異(changelog diffs)提出架構(gòu)改進(jìn)建議的智能體。
它所需要的只是意愿、粘合代碼 (Glue Code)和實(shí)驗(yàn)精神。源代碼中提供了一些示例。
源代碼倉庫:Agentic-DevOps
結(jié)論
智能體的未來應(yīng)用將充滿樂趣。Agentic DevOps 不僅僅是關(guān)于提高開發(fā)人員的生產(chǎn)力,還為他們的代碼開發(fā)帶來樂趣。通過減少重復(fù)勞動(dòng),重新獲得創(chuàng)作的樂趣。通過擴(kuò)展最佳實(shí)踐,提高可靠性。通過釋放時(shí)間,為開發(fā)人員重新開辟夢想的空間。隨著該領(lǐng)域的成熟,開發(fā)人員不僅可以更快地編碼,還能夠以更智能、更安全、更具想象力的方式構(gòu)建軟件。
原文標(biāo)題:Agentic DevOps for the Rest of Us: A New Era of Intelligent SDLC,作者:Shashikant Jagtap
























