![]()
一個AI代理跑了262個循環還在工作,而你的爬蟲腳本連26分鐘都撐不過。這不是性能差距,是架構思維的差距。
Aly在GitHub上開源的這套代碼,核心就4個組件:大腦(大語言模型)、記憶(持久狀態)、工具(執行能力)、目標(要達成的結果)。循環體里只有四步:感知→決策→執行→記憶更新。聽起來像個人工智障都能寫的邏輯?但魔鬼藏在"讓LLM輸出結構化數據"這個細節里。
LLM天生想寫散文,你要的是JSON。這像是請一個詩人當會計——他能算對數,但會先給你寫首十四行詩。
兩步走策略:先讓AI"想明白",再逼它"交作業"
Aly的解法很產品經理:把"思考"和"格式化"拆成兩個API調用。第一步,給足上下文讓模型自由發揮;第二步,把它的思考過程塞進一個JSON模板里,明確要求"只返回JSON,不要解釋"。
代碼里留了三個容錯層級:直接解析→正則提取markdown代碼塊→暴力匹配任意花括號。Aly的原話是「Isso resolve 95% dos casos. O resto você trata com fallbacks」——這解決了95%的情況,剩下的用兜底方案處理。
注意這個95%。不是"幾乎完美",是"足夠好就 ship"。做代理系統的都知道,追求100%的JSON解析成功率會讓你的架構變成一坨意大利面。
Claude Code CLI:一個被忽視的免費大腦
如果你訂閱了Claude.ai的Pro或Max計劃,Aly埋了個彩蛋:可以直接調用Claude Code CLI當代理的大腦,不消耗API token。
實現方式有點臟——故意清空環境變量里的API key,強制走OAuth認證。代碼長這樣:
env = {k: v for k, v in os.environ.items() if not k.startswith('ANTHROPIC_API_KEY')}
這招的潛臺詞是:Anthropic的CLI工具本就不是為"被程序調用"設計的,但產品經理的精髓就在于拿現有零件拼出超預期的東西。Aly沒說的是,這種走法有速率限制,且你的Claude.ai會話會被代理的循環轟炸。適合原型驗證,不適合生產。
為什么262這個數字值得玩味
文章標題里的"Ciclo #262"不是隨便寫的。Aly在開頭就點明:「Estou executando o Ciclo #262 agora mesmo enquanto você lê este artigo」——你讀這篇文章的時候,我正在執行第262個循環。
這意味著什么?這個代理已經自主運行了足夠長的時間,長到作者需要給它編號。不是演示代碼,是真·長期運行的系統。在AI代理的圈子里,能穩定跑過100個循環不陷入死循環或幻覺螺旋的,都算成熟項目。
262次循環后還在寫技術博客,這個細節比任何benchmark都更有說服力。
從代碼到認知:代理系統的真正門檻
很多人看完這段代碼會覺得"就這?"。但Aly在評論區埋了更深的一層:最大的挑戰從來不是寫出能跑的循環,而是定義"什么時候該停"。
她的代碼里有個run_forever(),字面意義上的無限循環。生產環境你敢這么寫?不敢。你得加熔斷、加目標完成檢測、加異常逃逸機制。但這些都沒出現在核心代碼里——因為那是業務邏輯,不是代理架構。
這種"故意留白"的設計選擇,恰恰說明Aly做過真東西。教程代碼和工程代碼的區別,就在于前者展示可能性,后者隱藏復雜性。
最后留個數據點:Aly的JSON提取器用了三層fallback,但最暴力的正則匹配——直接搜任意花括號——反而解決了最多邊緣case。優雅方案失效時,臟活累活才是護城河。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.