作為一名開發人員,在為我的專案建立引人入勝且結構良好的 README 文件時,我總是感到懶惰。我確信很多人都有同樣的感受。編寫一份好的 README 非常繁瑣但很重要。我不會深究原因——因為我們都知道這很重要。
因此,我建立了一個名為「Readme Generator」的 AI 代理來幫我處理這項繁瑣的任務。這個 AI 代理程式會分析你的整個程式碼庫,深入了解每個實體(函數、檔案、模組、套件等)的工作方式,並產生結構良好的 markdown 格式的 README 文件。
我使用Potpie來建立這個 AI 代理程式。
看看我們的 Github Repo 並給我們一顆星⭐
{% 嵌入 https://github.com/potpie-ai/potpie %}
我只是向 Potpie 提供了一個描述性提示,具體說明了我希望 AI 代理做什麼、它應該遵循的步驟、期望的結果以及其他必要的細節。作為回應,Potpie 為我產生了一個客製化代理商。
我使用的提示:
我想要一個能夠理解整個程式碼庫的 AI 代理程式來生成
高品質、引人入勝的 MDX 格式 README。它應該:
了解專案結構
辨識關鍵文件和資料夾。
從 package.json 確定依賴項和配置,
requirements.txt、Dockerfiles 等
- 分析框架和函式庫的使用情況。
分析程式碼功能
解析原始碼,了解核心邏輯。
偵測入口點、API 端點和關鍵函數/類別。
生成引人入勝的 README
寫一個引人注目的介紹來總結專案的目的。
提供清晰的安裝和設定說明。
用描述來解釋資料夾結構。
突出主要特點和使用範例。
包括貢獻指南和許可細節。
將 MDX 中的所有內容格式化為豐富的內容,包括程式碼片段、
標註和互動元件。
MDX 格式和樣式
使用 MDX 語法以獲得更好的可讀性和互動性。
自動產生表格、可折疊部分和語法
突出顯示的程式碼區塊。
根據提供的描述性提示,Potpie 會產生提示來定義系統輸入、角色、任務描述和預期輸出,這些提示作為我們的 README 生成器代理程式的基礎。
該代理的工作原理如下:
上下文程式碼理解-AI 代理程式首先建構整個程式庫的基於 Neo4j 的知識圖譜,將關鍵元件表示為節點和關係。這使得代理程式能夠捕獲依賴關係、函數呼叫、資料流和架構模式,從而實現深度情境感知,而不僅僅是關鍵字匹配
使用 CrewAI 建立動態代理- 當使用者給予提示時,AI 會動態建立檢索增強產生 (RAG) 代理程式。 CrewAI 用於建立 RAG Agent
查詢處理- RAG 代理與知識圖譜交互,檢索相關上下文。這確保了精確的、程式碼感知的回應,而不是通用的 LLM 產生的文字。
產生回應- 最後,產生的回應儲存在歷史記錄管理器中以供處理將來的提示,然後將回應顯示為最終輸出。
這種架構確保 AI 代理程式不僅僅執行表面層級的分析,它還能理解程式碼背後的結構、邏輯和意圖,同時在多個互動中保持不斷變化的上下文。
產生的 README 包含每個 README 應該具有的所有基本部分 -
標題
目錄
介紹
主要特點
安裝指南
用法
API
環境變數
貢獻指南
支援與聯絡方式
此外,AI Agent 足夠智能,可以根據所提供程式碼庫的整體工作和結構加入或刪除各個部分。
有了這個 AI 代理,您的程式碼庫最終會得到應有的 README——而無需您編寫任何一行。
以下是輸出:
原文出處:https://dev.to/potpie/i-built-an-ai-agent-that-creates-readme-file-for-your-code-57l2