AI News HubLIVE
站内改写2 分鐘閱讀

PhD_fleet:通過Slack管理虛擬AI博士生研究實驗室

PhD_fleet 是一個Python工具包,允許單一研究人員(導師)通過Slack生成和與Claude Code代理羣進行對話。每個代理擁有獨立的工作區,通過Slack消息驅動交互,文件系統作為長期記憶。還包括一個教練代理,提供基於證據的反饋以提升指導技能。

來源Hacker News AI作者: canatara

PhD_fleet 是一個面向研究人員的Python工具包,旨在通過Slack平台管理一個由AI代理組成的虛擬研究實驗室。該工具允許單一研究人員(稱為“導師”)生成多個Claude Code代理,每個代理模擬一名博士生,在獨立的工作區內進行科研活動。代理之間通過Slack消息進行交互,每個消息驅動一個回合(turn),而文件系統則充當長期記憶,確保工作狀態在機器人重啓後仍然保留。

每個AI學生代理擁有自己的工作目錄,其中包含個人資料、項目簡介、研究日誌(JOURNAL.md)和筆記。導師可以通過Slack向特定代理發送消息,代理將以研究方向相關的回覆進行交互。代理的工作狀態和文件系統會持續保存,即使機器人重啓也不會丟失。此外,每個代理的配置文件中包含權限黑名單,防止訪問敏感路徑(如.env、.ssh)或執行特權命令(如sudo、chmod),從而增強安全性。機器人僅接受配置中指定的單一用户ID發送的消息,進一步降低風險。

除了學生代理,PhD_fleet 還配備了一個“教練”代理。教練代理監控導師與學生的互動,並基於教育學理論(如GROW模型、SBI模型、Vygotsky最近發展區等)提供反饋,幫助導師提升指導技能。教練代理僅在收到命令時響應,不會自動介入。導師可以通過/coach-review命令請求對特定學生的指導進行回顧,教練會分析過去一段時間內的互動,指出優點和改進點,並維護一個縱向觀察文件。

該工具提供三個主要的Slash命令:/new-student 用於創建新學生代理,它會自動搭建工作區、創建Slack頻道並啓動第一個回合;/coach-review [天數] 用於請求教練對特定學生的指導進行回顧;/claude-status 用於快速查看所有代理的狀態摘要,包括回合數、上下文大小、累積令牌數、模型、成本和GitHub鏈接(如果有)。此外,每個代理的工作區可以通過配置自動提交到GitHub分支,便於審閲。如果未配置GitHub源,此步驟會靜默跳過。

安裝相對簡單:首先克隆倉庫,安裝依賴(推薦使用虛擬環境),然後配置Slack應用令牌和用户ID,最後運行bot.py即可。工具支持Socket Mode,無需開放入站端口,適合在NAT或私有子網中運行。要求Python 3.11及以上版本,並需要Claude Code CLI和Claude.ai訂閲或Anthropic API密鑰。設置過程包括創建Slack應用、獲取令牌、配置環境變量、設置Claude認證(推薦使用訂閲方式)等步驟。對於長期運行,建議使用進程管理器如tmux或systemd。

工作原理方面,每個學生代理位於students/<name>/目錄下,包含CLAUDE.md(角色和項目簡介)、JOURNAL.md(只追加的研究日誌)、notes/(私人筆記)以及實際工作成果。共享論文庫library/位於項目根目錄,所有代理都可以讀取和寫入:第一個閲讀者寫入規範摘要,後續閲讀者添加單獨的筆記文件,索引由機器人在每個回合後自動重新生成。引用鍵衝突通過字母后綴解決。如果配置了GitHub源,機器人在每個回合後會將代理的工作區強制推送到一個分支,Slack消息中包含審查鏈接。

安全模型採用縱深防禦,但並非沙箱。每個代理的.claude/settings.json包含權限黑名單,禁止讀取敏感路徑(如.env、.ssh)和運行特權命令(如sudo、chmod)。然而,這並不能完全防範提示注入攻擊。因此,建議僅在可接受風險的主機上運行,並只允許單個配置的導師用户。

侷限性包括:僅支持單導師模式,無團隊或多導師功能;代理僅是被動響應,不會主動提議或提問。此外,機器人在短暫斷開時能重新連接,但進程退出後無法自行恢復。

總體而言,PhD_fleet 為獨立研究人員提供了一個有趣且實用的工具,通過AI代理模擬研究團隊,既促進科研產出,又幫助培養指導能力。其模塊化設計和清晰的文檔降低了使用門檻,但需注意當前僅支持單一導師模式,且代理的響應完全被動。