什麼是 Agent2Agent(A2A)協議?#
Agent2Agent(A2A)協議是由谷歌發布的全新開放標準,旨在解決當前 AI 代理之間協作困難的問題。目前的 AI 代理雖然能夠完成特定任務,但在相互傳遞工作時需要依賴定制化的代碼,這使得跨代理協作變得複雜且不靈活。A2A 協議通過定義一種輕量級的通信機制,允許一個代理發現、認證並從另一個代理接收結果流,無需共享提示上下文或重新實現認證機制。
A2A 協議的出現是為了解決多代理協作中的痛點,例如不穩定的交接、安全限制以及供應商鎖定等問題。它通過定義 “代理卡”(Agent Card)、“任務”(Task)狀態機以及流式傳輸的 “消息”(Messages)或 “工件”(Artifacts),使得客戶端代理能夠與遠程代理進行安全且高效的通信。A2A 協議並不取代現有的模型上下文協議(MCP),而是作為其補充,填補了代理之間的協作空白。
在 A2A 協議中,客戶端代理負責發現遠程代理的代理卡,決定是否滿足其認證方法,並通過 JSON-RPC 消息創建任務。任務一旦創建,客戶端代理將作為任務的管理者,監聽狀態事件、轉發遠程代理請求的輸入,並最終收集工件以供後續使用。而遠程代理則負責執行任務的核心工作,並通過流式事件向客戶端代理反饋任務狀態和工件更新。
A2A 協議的通信機制是單向的,僅客戶端代理能夠發起 JSON-RPC 請求,而遠程代理則負責更新任務狀態。這種通信模式類似於 “前台與後台” 的協作關係,客戶端代理負責接收新訂單並傳達澄清信息,遠程代理則專注於完成任務,直到結果交付。
A2A 協議在架構上位於 MCP 之上,與工作流編排工具並行。它專注於網絡層面的代理間通信,而 MCP 則專注於單個代理內部的工具調用。這種分層設計使得框架和供應商能夠在底層進行創新,同時保持協議的簡潔性和通用性。
在安全性方面,A2A 協議通過簽名代理卡、多種認證方式以及運行時策略來確保通信的安全性。代理卡可以通過 JSON Web Signature(JWS)進行簽名,客戶端代理可以驗證簽名以防止代理卡被篡改。此外,A2A 協議還支持多種認證方式,包括簡單的 Bearer 令牌、雙向 TLS 以及企業級的單點登錄流程。遠程代理還可以在模型運行前對負載進行檢查,拒絕過大或風險較高的負載。
在可觀察性方面,A2A 協議的每個狀態或工件事件都攜帶時間戳、任務 ID 和可選的跟蹤頭。通過將 A2A 客戶端包裝在 OpenTelemetry 中間件中,可以輕鬆實現端到端的跟蹤,無需手動解析 JSON 數據。這些跟蹤數據可以被集成到企業的可觀察性平台中,以便在問題影響客戶之前及時發現並解決。
在發現機制方面,目前 A2A 協議的發現機制主要依賴於團隊內部的 YAML 文件或谷歌的 Vertex AI 目錄。未來,隨著公共註冊中心的成熟,可能會出現類似 npm 的代理註冊中心,但目前還沒有統一的 “驗證徽章”。
A2A 協議相比 MCP 在安全性上有顯著提升。MCP 會暴露工具的自然語言提示,容易受到注入攻擊和參數篡改。而 A2A 協議將這些細節隱藏在遠程代理的內部,客戶端代理只能看到高級任務和受限的工件,從而消除了整個類別攻擊的可能性。
儘管 A2A 協議的願景非常美好,但截至 2025 年 5 月,其實際應用仍處於早期階段。大約有 50 家供應商宣布支持 A2A 協議,但大多數代理仍處於 “私信獲取演示” 的階段。目前,LangGraph、CrewAI 和 AutoGen 的適配器已經較為成熟,而 Flowise 和 n8n 仍處於社區測試階段。此外,目前還沒有公共註冊中心,團隊主要依賴 YAML 文件或 Vertex AI 的私有目錄來管理代理。很少有代理提供簽名的代理卡,而速率限制或計費上限則需要通過自定義中間件實現。在性能方面,谷歌的參考伺服器在本地測試中每個跳數增加約 30 毫秒的延遲。
A2A 協議適用於跨供應商工作流、安全敏感的黑盒代理、混合技術棧以及需要進度更新的長時間運行任務。它為不同供應商的代理提供了共享握手、認證和流式通信的能力,而無需暴露底層提示細節。然而,對於運行在同一進程中的代理、小型腳本任務、一次性數據拉取或主要依賴複雜參數驗證的工具,A2A 協議可能過於複雜,直接使用 API 調用或簡單的 REST 端點可能更為合適。
A2A 協議為 AI 代理之間的協作提供了一種標準化、安全且高效的解決方案。儘管目前其生態系統仍在發展和完善中,但它已經為原型開發和內部工作流提供了足夠的支持,有望在未來推動多代理協作的廣泛應用。
#Google #AI #Agent2Agent
What is the Agent2Agent (A2A) Protocol?
面向成熟團隊的 AI#
Alice Moore 探討了當前 AI 在開發領域中的應用現狀以及對成熟團隊帶來的挑戰。儘管 AI 工具如 Bolt、v0 和 Lovable 能夠快速生成應用,但這種 “演示優先” 的 AI 方式並不適合成熟團隊,因為它在設計、開發和營銷等方面都帶來了問題。
對於設計師而言,現有的 AI 設計工具會生成與品牌風格不一致的顏色、邊框半徑和字體,導致設計系統被破壞,需要花費大量時間修復這些問題。開發人員也面臨著類似的困境,AI 生成的代碼往往是單個龐大的組件,缺乏測試、無障礙標籤和關注點分離,難以維護和重構。營銷人員雖然能夠快速生成落地頁,但頁面中的數據大多是虛假的,需要重新編寫代碼以連接 CMS 和分析工具,導致開發工作量增加。
AI 應該成為成熟團隊的助力,而不是單純的快速生成工具。為此,AI 工具的建設者和使用者需要進行思維轉變。工具建設者需要尊重現有的技術棧,確保 AI 輸出的結果與團隊的現有組件、令牌、數據和測試保持一致;將 AI 工具嵌入到團隊已經使用的軟件中,如 Figma、IDE 和無頭 CMS 等;並且提供足夠的控制權,讓專業人員能夠審查和調整 AI 生成的代碼。而專業人員則需要為 AI 提供上下文,如文檔、原型、設計令牌和測試用例;對最終結果負責,確保用戶體驗、性能和文案質量;同時認識到 AI 的局限性,將其作為不同專業領域之間的翻譯層,而不是替代團隊的工具。
Alice 介紹了 Builder.io 在構建 “成熟 AI” 方面的實踐。Builder.io 於 2019 年推出,最初是一個無頭 CMS 加可視編輯器,目標是讓開發人員能夠使用自己的 JavaScript 框架組件,並讓非開發人員在不接觸代碼的情況下進行組件排列。其編輯器基於開源項目 Mitosis,能夠將組件描述一次並編譯到團隊運行的任何 JS 框架中。在生成式 AI 浪潮到來之前,Builder.io 的產品已經具備了三個 “成熟部分”:功能完備的可視編輯、確定性的組件映射和真實的 CMS 數據源。這使得 Builder.io 在添加 AI 功能時,能夠專注於減少繁瑣工作,而不是重新發明基礎功能。
目前,Builder.io 的產品通過一系列可逐步採用的層來工作,無需進行大規模的重寫。例如,其 “可視編輯器 → 代碼” 功能允許用戶通過 AI 提示生成頁面,然後手動調整任何類、令牌或斷點;“Figma → 可視編輯器(和代碼)” 功能可以將 Figma 設計轉換為乾淨的響應式框架代碼;即將推出的 “倉庫 → 可視編輯器 → 倉庫 PR” 功能將允許用戶直接從 GitHub 倉庫導入代碼進行修改並自動發送為 PR;“組件映射” 功能可以讓用戶將 Figma 組件與代碼組件進行匹配,確保生成的代碼使用真實的組件和令牌;“Builder 發布” 功能則是一個完整的無頭 CMS,支持實時內容和分析,使營銷人員能夠獨立運行 A/B 測試。
儘管已經取得了一定的進展,但 Builder.io 仍在努力改進。未來的工作包括減少手動上下文輸入,讓組件和令牌的映射更加自動化;提供更深入的控制,讓高級用戶能夠在編輯器中直接查看和調整 AI 草案的各個部分;以及支持更廣泛的設計系統,使映射過程更加便捷。
AI 的發展不應該讓人類陷入繁瑣的清理工作中,而是應該通過 “成熟 AI” 將 80/20 規則糾正過來,讓人類專注於無法被模型偽造的工藝。工具建設者需要提供可靠的框架,專業人員需要提供上下文和責任感,每一次的組件映射、令牌鎖定和人工審查都使得下一次的生成更加可預測,而可預測性正是真正提升效率的關鍵。
#AI #思考
Vibe coding:成為 AI 開發人員的路線圖#
Gwen Davis 為開發者提供了一份從普通程序員成長為 AI 開發專家的詳細指南。隨著 AI 技術在各個領域的廣泛應用,預計到 2027 年,將有 80% 的開發者需要掌握基本的 AI 技能,因此現在正是進入這一領域的絕佳時機。
開發者需要首先掌握幾種關鍵的編程語言和框架,如 Python、Java 和 C++,這些語言在 AI 和機器學習領域有著廣泛的應用。同時,TensorFlow、Keras、PyTorch 和 Scikit-learn 等框架也是開發者必不可少的工具。GitHub 提供了豐富的學習資源,例如 GitHub Learning Lab、The Algorithms、TensorFlow Tutorials 和 PyTorch Examples,幫助開發者快速提升相關技能。此外,GitHub Copilot 作為一款 AI 輔助編程工具,能夠為開發者提供實時代碼建議,幫助他們更高效地學習和使用新的編程語言和框架。
在機器學習方面,Gwen 建議開發者深入了解深度學習、自然語言處理(NLP)和計算機視覺等關鍵子領域。這些領域不僅推動了 AI 技術的發展,也在實際應用中扮演著重要角色。開發者可以通過 GitHub 上的開源項目,如 Awesome Machine Learning、Keras、NLTK 和 OpenCV,獲取相關工具和教程,參與 Kaggle 競賽解決方案的開發,或者為帶有 “good first issue” 標籤的開源 AI 項目貢獻代碼,從而積累實踐經驗。
開發者需要通過構建一個出色的 GitHub 個人作品集來展示自己的技能和項目成果。這包括合理組織代碼倉庫、突出展示優秀項目、創建專業的個人簡介、利用 GitHub Pages 構建個人網站以及積極參與開源項目貢獻。通過這些方式,開發者可以在開發者社區中脫穎而出,吸引潛在雇主或合作夥伴的注意。
Gwen 建議開發者獲取 GitHub Copilot 認證,以證明自己能夠熟練運用 AI 驅動的工具來提升開發效率。GitHub 提供了認證課程,涵蓋 AI 驅動開發、工作流自動化以及與 CI/CD 管道的集成等主題。通過學習官方文檔、完成實踐練習以及在實際項目中應用 GitHub Copilot,開發者可以為認證考試做好準備,並在通過考試後獲得數字徽章,將其展示在 LinkedIn、GitHub 個人資料或個人作品集中,進一步提升自己的職業競爭力。
Gwen 鼓勵開發者抓住 AI 革命帶來的機遇,利用 GitHub 提供的工具和資源,開始構建和探索 AI 項目,塑造未來的技術發展。
#AI #Github #指南
Vibe coding: Your roadmap to becoming an AI developer
全面了解 GitHub Copilot 的強大模式#
Alexandra Lietzke 介紹了 GitHub Copilot 的強大功能 ——Agent 模式。Agent 模式是一種自主、實時且同步的協作工具,能夠根據自然語言提示執行多步驟的編碼任務,幫助開發者快速實現從需求到原型的轉變。
Agent 模式的核心在於其能夠理解開發者的意圖,構建解決方案並不斷迭代直至達到預期結果。它不僅可以分析代碼庫以獲取完整上下文,還能規劃並執行多步驟解決方案、運行命令或測試、調用外部工具完成特定任務,甚至提出架構改進意見。通過一個系統提示,Agent 模式可以自主運行命令、應用編輯、檢測錯誤並實時調整,開發者可以清晰地看到其推理過程和所使用的工具。
Agent 模式適用於不同層次的開發者。對於新手,它是一個同步開發工具,能夠幫助快速構建應用;對於經驗豐富的開發者,則可以顯著提升工作效率,讓他們專注於更高層次的問題解決。Agent 模式還支持通過 Model Context Protocol(MCP)伺服器或擴展程序安裝更多專業工具,從而擴展其功能,例如自動化 GitHub 工作流、提取和分析倉庫數據等。
開發者可以通過多種方式使用 Agent 模式,包括重構代碼、遷移項目、編寫測試、現代化遺留代碼、自動修復代碼生成錯誤、添加新功能、基於功能規格或 UI 草圖構建原型等。文章還提到,由於 Agent 模式基於非確定性的大型語言模型(LLM),因此即使在相同的提示和上下文中,其建議也可能有所不同。
開發者可以通過在 VS Code 中打開 Copilot Chat 視圖並選擇 Agent 模式來開始使用,也可以在 Visual Studio 中進行預覽。Agent 模式還可以與其他 GitHub Copilot 功能結合使用,例如自定義指令,以便根據開發者的日常編碼實踐、工具和開發流程來調整 Copilot 的響應方式。此外,開發者還可以選擇不同的 AI 模型來驅動 Agent 模式,以適應不同的開發需求。
Agent 模式為開發者提供了極大的靈活性,可以根據個人需求將其用於構建原型應用、處理現有代碼庫或自動化工作流程中的低層次任務。開發者可以根據自己的風格和需求定制 Agent 模式,從而更高效地完成開發工作。
#AI #Copilot #Agents #Github #實踐
Agent mode 101: All about GitHub Copilot’s powerful mode
使用 GitHub Copilot 進行測試驅動開發 (TDD)#
Kedasha Kerr 介紹了如何借助 GitHub Copilot 實現測試驅動開發(TDD)。測試是開發過程中不可或缺但又常常令人感到繁瑣的環節,尤其是隨著代碼庫的不斷增大和複雜度的提升。而 GitHub Copilot 能夠有效幫助開發者自動化部分測試流程,從而提高開發效率。
Kedasha 首先強調了測試的重要性,指出測試是確保代碼符合預期行為的關鍵手段。測試的類型多種多樣,包括驗收測試、集成測試和單元測試。其中,單元測試通過將代碼分解為更小的單元進行測試,確保每個單元都能正常運行,從而增強對整個應用程序的信心。單元測試的另一個優勢在於其可自動化性,開發者可以通過運行大量測試來快速了解代碼的健康狀況,並及時發現潛在問題。
Kedasha 接著介紹了如何使用 GitHub Copilot 編寫單元測試。開發者可以在 Visual Studio Code 中使用 GitHub Copilot,通過高亮代碼片段並調用 Copilot Chat,利用 /tests add unit tests for my code 命令生成測試代碼。Copilot 會根據代碼提供測試計劃和代碼建議,開發者可以將其添加到新文件中,並通過運行 python -m pytest 命令來執行測試。
TDD 是一種先編寫測試再開發實現代碼的開發方式,其核心在於通過測試來引導開發過程。TDD 的一個關鍵理念是 “紅綠重構”:首先編寫測試,測試失敗(紅階段),然後編寫剛好能讓測試通過的代碼(綠階段),最後對代碼進行重構以優化結構,同時確保測試始終通過。GitHub Copilot 在 TDD 中的作用尤為突出,開發者可以通過向 Copilot 描述預期功能來生成測試代碼,然後讓 Copilot 生成實現代碼,從而快速完成開發流程。
Kedasha 還強調了編寫單元測試時的最佳實踐,包括為測試添加文檔、保持測試組織有序、創建測試工具以提高效率以及在代碼變更時更新測試。此外,文章還提供了多個資源鏈接,供開發者進一步學習如何使用 GitHub Copilot 進行測試開發。
#Copilot #Github #AI #TDD #測試
GitHub for Beginners: Test-driven development (TDD) with GitHub Copilot
Chrome DevTools 更新#
**Gemini 集成:** 開發者可以通過 Gemini 修改和保存 CSS 更改,並將更改保存到本地工作區。此外,Gemini 還可以生成性能洞察的標註,並在性能追蹤中添加截圖,為開發者提供更直觀的視覺輔助。
** 性能面板更新:** 性能面板新增了兩項洞察功能 —— 重複的 JavaScript 和遺留的 JavaScript。前者可以識別頁面中重複加載的大體積 JavaScript 模塊,後者則能檢測到為兼容舊瀏覽器而加載的 polyfills 和轉換代碼,幫助開發者優化代碼以適應現代瀏覽器。
** 工作區連接功能:** 開發者可以將本地文件夾連接到 DevTools 的工作區,從而將 JavaScript、HTML 和 CSS 的更改保存回本地源文件,這一功能支持自動和手動連接。
**Lighthouse 12.6.0:**Lighthouse 面板升級到 12.6.0 版本,新增了性能洞察審計功能,開發者可以在 Lighthouse 報告的性能類別中嘗試使用這些洞察。
** 其他改進:** 包括網絡面板新增伺服器計時解析功能、性能面板中 “使用高效的緩存生命週期” 洞察功能改進、以及螢幕閱讀器對更多功能的支持等。
#Chrome #Gemini #DevTools
What's new in DevTools, Chrome 137 | Blog | Chrome for Developers
AI 助手輔助性能分析#
Chrome DevTools 的 AI 輔助性能分析功能是一項實驗性工具,旨在幫助開發者更好地理解和優化網頁性能。該功能目前僅在 Chrome Canary 132 及更高版本中提供。開發者可以通過多種方式打開 AI 輔助面板,例如從性能面板的 “洞察” 標籤頁中選擇特定的性能洞察(如 LCP 按階段、LCP 請求發現等),點擊 “詢問 AI” 按鈕;或者在性能追蹤視圖中右鍵單擊某個活動並選擇 “詢問 AI” 選項。此外,也可以通過命令菜單輸入 “AI” 並運行 “顯示 AI 輔助” 命令,或者從 “更多工具” 菜單中選擇 “AI 輔助” 來打開該面板。
AI 輔助面板以開發者選擇的性能活動為上下文展開對話,相關活動會在面板左下角顯示。如果從性能洞察中打開 AI 輔助,該洞察將作為預選上下文;從追蹤視圖中打開時,所選活動則作為上下文。AI 輔助會使用選定調用樹的計時數據來回答問題,開發者可以在對話開始後通過點擊相關按鈕查看 AI 使用的原始數據。
為了幫助開發者快速開始對話,AI 輔助提供了示例提示,開發者也可以自行輸入問題。如果 AI 沒有給出回答,可能是因為問題超出了其能力範圍,開發者可以向 Chrome 團隊提交反饋。AI 輔助會保存對話歷史記錄,即使在 DevTools 或 Chrome 重新加載後,開發者仍可以訪問之前的對話。通過面板左上角的控件,開發者可以開始新對話、繼續舊對話或刪除歷史記錄。
此外,AI 輔助還提供了反饋機制,開發者可以通過 “點讚” 或 “點踩” 按鈕對回答進行評價,或者報告不適當的內容。這些反饋將幫助 Chrome 團隊改進 AI 輔助的回答質量和整體體驗。需要注意的是,AI 輔助目前仍處於實驗階段,可能存在一些已知問題,開發者在使用前應了解相關數據使用政策。
#Google #AI
AI assistance for performance | Chrome DevTools | Chrome for Developers
增強 Gemini Nano:利用 LoRA 提供更高質量的摘要#
Chrome 團隊與 Google Cloud 合作,通過低秩適應(LoRA)技術對 Gemini Nano 模型進行微調,顯著提升了文本摘要的生成質量。文章詳細闡述了摘要 API 的功能、微調的實驗方法、性能評估以及 LoRA 技術的優勢,並提供了實時推理演示和反饋渠道。
摘要 API 是 Chrome 內置的一項功能,能夠將長文本內容壓縮成簡潔易懂的摘要,適用於多種場景,如新聞網站的關鍵點列表或產品評論的情感總結。為了滿足不同網站對摘要風格和長度的需求,該 API 提供了多種摘要類型,例如標題式、要點式、極簡式和引人入勝的預告式等。文章通過實例展示了如何使用摘要 API 對維基百科頁面進行摘要生成,並提供了線上的 API 演示平台,供開發者進行測試和體驗。
Chrome 團隊詳細介紹了如何在 Chrome Canary 中啟用微調功能。從版本 138.0.7180.0 開始,用戶可以通過特定的 Chrome 標誌啟用該功能。啟用後,用戶可以在 DevTools 控制台中輸入特定命令以下載補充的 LoRA 模型,並開始實驗。
在性能評估方面,Chrome 團隊採用了自動評估和自動評分員(Autorater)評估兩種方法。自動評估通過軟件檢查模型輸出的質量,重點關注格式錯誤、句子重複、非英語字符等問題。結果顯示,經過微調的 Gemini Nano 在格式錯誤率上顯著降低,無論是文章還是聊天記錄的摘要,都表現出更好的性能。自動評分員評估則使用 Gemini 1.5 Pro 模型對 Gemini Nano 的輸出質量進行評分,評估指標包括覆蓋度、事實性、格式、清晰度等,並針對不同摘要類型增加了額外的評估指標,如吸引力、簡潔性和引人入勝程度。評估結果顯示,經過 LoRA 微調的 Gemini Nano 在各項指標上均優於基礎模型。
LoRA 技術的核心在於通過添加小型的附加組件來引導模型朝著期望的方向發展,而不是調整模型的所有參數。這種方法可以顯著減少訓練時間和成本,並且只需要訓練原始參數的 2% 即可實現顯著的輸出變化。Chrome 團隊通過對比 Gemini Nano 基礎模型和經過 LoRA 微調後的模型生成的摘要示例,展示了 LoRA 技術在提升摘要質量和符合特定指令方面的能力。
此外,還提供了一個實時推理演示,展示了 Gemini Nano 和 Gemini Nano with LoRA 在生成 “Ocean Sunfish” 文章的 “tl;dr” 摘要時的性能差異。通過實施微調,Gemini Nano 能夠更好地生成符合特定指令的摘要。
Chrome 團隊鼓勵開發者在 Chrome Canary 中嘗試更新後的模型,並分享反饋。開發者可以通過 Chromium 的問題跟蹤器提交錯誤報告或功能請求,以幫助改進 Chrome 的實現。
#Chrome #Google #AI
Enhancing Gemini Nano: delivering higher quality summaries with LoRA | Blog | Chrome for Developers
ChatGPT 和大量過時的、殘缺不全的解決方案,解決了我們在其推出之前五十多年都沒有遇到過的問題#
ChatGPT 在生成代碼時存在的問題,尤其是其生成的解決方案可能已經過時甚至錯誤,卻仍然被廣泛傳播和使用。
有人詢問如何實現類似 ChatGPT “Searching the web” 的 CSS 動畫漸變文字效果,而 ChatGPT 給出的代碼雖然能夠實現效果,但卻包含了許多冗餘和過時的部分。例如,ChatGPT 的代碼中使用了 -webkit-text-fill-color 和 background-clip 等屬性,這些屬性在過去可能是為了兼容某些瀏覽器而使用,但如今已經不再必要。作者指出,現代瀏覽器已經廣泛支持 background-clip: text,無需再通過
-webkit-text-fill-color 來設置文字透明度,ChatGPT 的這種寫法不僅沒有提升兼容性,反而增加了不必要的代碼量。
Tudor 進一步回顧了 CSS 漸變文字的歷史。早在 2010 年,CSS 的 background-clip 屬性還不被廣泛支持,當時開發者需要借助 -webkit-background-clip 來實現漸變文字效果,並且為了確保在非 WebKit 瀏覽器中也有基本的文字顯示,需要通過複雜的 CSS 屬性組合來實現兼容性。然而,隨著時間推移,現代瀏覽器已經完全支持這些功能,過去的兼容性解決方案已經不再需要,但類似 ChatGPT 這樣的工具卻仍然在生成這些過時的代碼。
Tudor 還指出,ChatGPT 在代碼中設置 background-size 和 background-position 的方式也顯得冗餘。在過去,某些瀏覽器可能不支持在 shorthand 中設置 background-size,但現在這種問題早已不存在。此外,對於水平漸變來說,
background-size 的第二個值(高度)是無關緊要的,無論設置為 200% 還是 auto
,視覺效果都完全相同。
這種生成過時代碼的問題並非 ChatGPT 獨有。其他 AI 工具如 Gemini 也存在類似問題,它們往往將舊的流行解決方案與現代 CSS 混合在一起,生成一種 “畸形的混合體”。Tudor 強調,開發者在使用 AI 生成代碼時,需要更加謹慎,不能僅僅依賴 AI 的輸出,而應該結合最新的技術標準和實踐來優化代碼。
#AI #思考
純 HTML 和 CSS 實現我的世界。#
看了一下 HTML 還挺大的,可能運行起來會有點卡幀。
#前端 #CSS
Open Source Society University 免費自學 CS(計算機科學)的途徑。#
#課程
尋找你的人生方向#
Jessica Livingston 分享了在 Bucknell University 2025 年畢業典禮上的演講內容。她回顧了自己大學畢業時的迷惘狀態,當時她擁有英語學位卻無明確職業規劃,也沒有找到真正感興趣的事情,花費了十年時間才找到自己的方向。她希望幫助畢業生更快地找到目標,尤其是那些渴望有雄心勃勃計劃但尚未找到方向的人。
大多數人在成長過程中一直沿著既定的軌道前進,例如小學、中學、高中和大學,這種經歷讓人們誤以為人生的每個階段都有明確的下一步。然而,大學畢業是這種 “軌道” 的終點,人們需要意識到,從這一刻起,他們可以自由選擇任何方向。儘管這種自由令人興奮,但也讓許多人感到恐懼,因此很多人試圖繼續尋找新的 “軌道”,例如在知名公司找到一份工作,即使這份工作並不真正吸引他們。
畢業生可以利用大學畢業這個節點重新定義自己。許多人可能會因為過去的學業成績或經歷而對自己缺乏信心,但她鼓勵大家不要被這些限制,因為其他人並不了解他們的過去。如果想要改變,就可以從現在開始,變得更加好奇、更有責任感或更有活力,沒有人會阻止這種轉變。
她分享了自己在畢業後選擇了一份並不感興趣的工作的經歷,當時她只是因為有人願意支付工資而感到高興。大學畢業後有無數種職業選擇,而她當時並沒有意識到這一點。她建議畢業生要主動探索這些選擇,而不是被動地接受第一個機會。最好的方法是通過與人交流來縮小選擇範圍。她建議與不同的人交談,了解他們的工作內容,如果發現自己所在的環境或工作與周圍的人不契合,就應該果斷離開。
她通過自己的經歷說明了這一點。她發現與創業相關的人和事讓她感到興奮,於是決定寫一本關於創業的書。儘管許多人對她的項目表示懷疑,但她沒有被這些負面評價所影響。要實現雄心勃勃的計劃,就必須學會抵抗他人的質疑和拒絕。她以 Y Combinator 的創立為例,說明即使在初期被當作笑話,只要堅信自己的想法,最終也能取得成功。
Jessica Livingston 鼓勵畢業生主動掌控自己的人生方向,不要隨波逐流。她建議通過與有趣的人交流來找到最適合自己的道路。她希望畢業生能夠記住,雖然人生的選擇眾多,但通過與他人建立聯繫,可以找到真正讓自己興奮和投入的事業。
#思考 #創業
Defuddle#
Defuddle 旨在從網頁中提取主要內容,去除不必要的元素,如評論、側邊欄、頁眉、頁腳等,從而生成簡潔易讀的 HTML 文檔。
Defuddle 的核心功能是通過分析網頁的 DOM 結構和樣式信息,識別並保留主要的文本內容,同時去除無關的干擾元素。它支持多種輸入方式,包括直接從網頁 DOM 解析、從 HTML 字符串解析以及從 URL 解析。此外,Defuddle 還提供了豐富的配置選項,用戶可以根據需要調整解析行為,例如啟用調試模式、轉換為 Markdown 格式、保留特定的 HTML 屬性等。
在技術實現方面,Defuddle 提供了三種不同的打包版本:核心版本(defuddle),適用於瀏覽器環境,無額外依賴;完整版本(defuddle/full),包含額外的數學公式解析功能;以及 Node.js 版本(defuddle/node),專為 Node.js 環境優化,支持完整的功能特性。Defuddle 使用 TypeScript 編寫,代碼結構清晰,易於擴展和維護。
Defuddle 的輸出結果是一個包含多種元數據的對象,例如文章標題、作者、描述、發佈日期、字數統計等,同時還提供了標準化的 HTML 內容。它通過一系列規則對 HTML 元素進行標準化處理,例如將 H1 轉換為 H2、去除代碼塊的行號和語法高亮、統一腳註格式以及將數學公式轉換為標準的 MathML 格式。
#Tools
Supermemory#
Supermemory,幫助用戶構建屬於自己的 “第二大腦”,它類似於為書籤提供 ChatGPT 般的智能功能。用戶可以通過 Chrome 擴展程序導入推文或保存網站和內容。
Supermemory 的核心功能是為 AI 應用程序提供強大的開發者友好型 API,能夠無縫集成外部知識,作為 AI 堆棧的完美記憶層,提供語義搜索和檢索功能,增強模型的相關上下文。用戶可以利用它存儲和組織知識,通過語義搜索引擎找到基於含義而非僅是關鍵詞匹配的信息,還可以連接到任何數據源,如網站、PDF、圖片等。
Supermemory 的應用場景廣泛,包括增強 LLM 輸出的檢索增強生成(RAG)、創建智能可搜索的知識庫和文檔、構建具有訪問支持文檔的聊天機器人、查詢跨論文、筆記和參考資料的研究助手,以及語義化組織和檢索多媒體內容的內容管理系統。
#AI #Tools