
譯者 | 李睿
審校 | 重樓
智能體開發運維(Agentic DevOps)的概念首次亮相于微軟公司舉辦的Microsoft Build 2025 開發者大會。如今有了Agentic AI、Agentic Workflows、Agentic Systems……當然還有Agentic DevOps紛紛涌現。接下來會是什么? 本文將深入探討Agentic DevOps的精彩世界。
2025年,一場悄無聲息的革命開始重塑軟件構建的方式。它不僅僅是提升編碼速度,更在于通過與開發人員協作的自主和半自主智能體,徹底變革整個軟件生命周期。歡迎來到Agentic DevOps時代——智能體不再僅僅是輔助工具,更能與開發者協作、優化并共同完成開發、質量保證(QA)和運維工作。這是智能軟件開發生命周期(SDLC)的新紀元。
不僅僅服務于大型企業
雖然微軟公司通過GitHub Copilot、Azure和Visual Studio等工具引入了這一理念,但Agentic DevOps只是一種范式,而不是一種產品。開發人員不需要進入微軟生態系統就能從中受益。Agentic DevOps將開發人員的專業知識與人工智能工具和框架相結合,以增強軟件交付能力。雖然微軟公司推廣了這個概念,但它并不局限于其生態系統。開發人員可以通過以下方式應用Agentic DevOps:
- 編碼智能體:Cursor、Windsurf、Claude Code、Codex等
- 本地人工智能編碼智能體:Continue、Cline、Roo
- 開源模型:Llama 4、Mistral、DeepSeek、Qwen
- 本地部署工具:vLLM、SGLang、TGI
- 智能體框架:LangGraph、AutoGen、CrewAI、DSPy等
這些只是一些例子,開發人員可以選擇喜歡的工具和基礎設施,無論是本地部署還是在云中使用AWS、GCP、Azure、IBM Cloud、Oracle Cloud 或阿里云。Agentic DevOps是關于利用人工智能增強人類能力,而不是鎖定特定供應商。Agentic DevOps適合所有人。
什么是Agentic DevOps?
Agentic DevOps是傳統DevOps的進階形態。它引入了特定于任務的智能體——嵌入到開發人員工作流程中的人工智能助手,幫助簡化、自動化和優化軟件交付的所有階段:
- 開發智能體:審查拉取請求,重構遺留代碼,生成測試用例,根據規范實現功能并確保安全最佳實踐。
- 質量保證(QA)智能體:運行自動化測試,建議改進測試覆蓋率,發現不穩定的測試,并根據上下文對錯誤(Bug)進行分類。
- 代碼優化/清理智能體:清除技術債務,并優化現有代碼。
- SRE/生產智能體:監控系統、響應事件、運行診斷、提出修復方案,并自動記錄后續問題。
這些智能體相互協作,并與開發人員協作,根據任務復雜度和風險等級,充當可靠的copilots或獨立的問題解決者。
現實世界中的示例:DSPy+MCP+Agenspy
以下通過具體用例展示Agentic DevOps的應用場景。
拉取請求(PR)審查智能體
在GitHub上打開一個拉取請求,Agentic DevOps會立即分析這些變化:
- 標記潛在的安全問題或遺漏的邊緣情況。
- 建議文檔更新。
- 根據代碼庫歷史記錄推薦更簡潔的實現方式。
- 對下游模塊進行風險影響分析。
所有這一切在幾分鐘內完成。開發人員只需審查并批準。
技術債務智能體
Agentic DevOps可以定期掃描存儲庫:
- 檢測已經棄用的依賴項。
- 建議現代化改造路徑。
- 重構圈復雜度過高的函數。
- 突出顯示測試覆蓋率的差距。
開發人員無需將問題堆積到待辦事項中,而是可以有目的地進行問題分類。
事件響應智能體
如果凌晨3點觸發一個警報。無需叫醒運維人員:
?智能體運行根本原因診斷。
?嘗試自動修復(例如,重啟 Pod、回滾變更)。
?在問題跟蹤器中記錄事件及修復建議。
?如果沒有解決,它會向值班工程師發送一份完整的報告。
事件響應智能體可以減少警報,顯著提升系統彈性。以上只是一些示例,Agentic DevOps在理論上可以實現SDLC全流程自動化。
Agentic DevOps實踐:DSPy + MCP + Agenspy
以下展示一下如何使用代碼來實現Agentic DevOps。
使用GitHub的DSPy和MCP服務器創建一些智能體示例,并通過Agenspy庫連接MCP服務器。
將創建一個PRReviewAgent來分析樣本PR,并提供安全性分析、文檔審查、實施建議和執行影響評估。需要設置Python和OPENAI_API_KEY和GITHUB_TOKEN。然后安裝依賴項。
pip install "agenspy[mcp]" dspy openai
npm install -g @modelcontextprotocol/server-github
README.md文件中有完整的安裝指南。以下是可以直接運行的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()可以保存該文件并運行它以查看結果。源代碼倉庫中提供了一些示例。
源代碼倉庫:Agentic DevOps
從被動響應到主動創造
傳統的DevOps幫助打破孤島,而Agentic DevOps消除了交互。它可以將開發人員從繁瑣的工作中解放出來(bug分類、編寫模板、安全補丁),從而讓開發人員專注于構建有意義的事物。
通過將重復性工作交給智能體,并利用其擴展專業知識,開發團隊能夠:
- 更快地交付功能。
- 在保持質量的同時避免倦怠。
- 主動消除科技債務,而不是被其所困。
- 將安全和合規性嵌入開發流程,而不是事后補救。
為什么采用Agentic DevOps?
采用Agentic DevOps有多種因素:
- 生成式人工智能成熟度:現在擁有能夠深度理解代碼的模型,而不僅僅是自動完成。
- 工具鏈互操作性:許多IDE、云平臺和 CI/CD 工具正在開放智能體接口。
- 勞動力需求:開發人員不堪重負;技術人才稀缺。增強人類能力已不再是可選項。
Agentic DevOps代表了軟件團隊的一種新的操作系統——不是為了取代人類,而是為了增強人類能力。
入門指南:無需依賴微軟
可以通過以下方式探索Agentic DevOps:
- 整合拉取請求(PR)審查機器人(例如基于OpenAI、Codeium或Hugging Face 模型的機器人)。
- 使用持續交付(CI)管道來觸發代碼質量、測試生成或內部掃描的智能體。
- 使用DSPy、LangChain或OpenDevin等框架在代碼庫上運行微調的智能體。
- 設計智能體分析問題,路由錯誤,或根據變更日志差異(changelog diffs)提出架構改進建議的智能體。
它所需要的只是意愿、粘合代碼 (Glue Code)和實驗精神。源代碼中提供了一些示例。
源代碼倉庫:Agentic-DevOps
結論
智能體的未來應用將充滿樂趣。Agentic DevOps 不僅僅是關于提高開發人員的生產力,還為他們的代碼開發帶來樂趣。通過減少重復勞動,重新獲得創作的樂趣。通過擴展最佳實踐,提高可靠性。通過釋放時間,為開發人員重新開辟夢想的空間。隨著該領域的成熟,開發人員不僅可以更快地編碼,還能夠以更智能、更安全、更具想象力的方式構建軟件。
原文標題:Agentic DevOps for the Rest of Us: A New Era of Intelligent SDLC,作者:Shashikant Jagtap























