SkillWeaver:能夠通過自我發(fā)現(xiàn)和精煉技能實(shí)現(xiàn)自我改進(jìn)的的智能體框架
SkillWeaver是什么?
SkillWeaver 是一個(gè)可以讓W(xué)eb智能體(比如網(wǎng)頁機(jī)器人)通過發(fā)現(xiàn)和磨練技能來自我改進(jìn)的一個(gè)框架,使Web Agents能夠通過自主探索和技能合成實(shí)現(xiàn)自我提升。它通過將網(wǎng)站交互抽象為可重用的技能(API),并通過Web Agents在新網(wǎng)站上自主發(fā)現(xiàn)、練習(xí)和提煉這些技能,通過迭代探索,不斷擴(kuò)展API庫(kù),來增強(qiáng)智能體的能力。SkillWeaver 可以應(yīng)用多種場(chǎng)景,比如自動(dòng)化網(wǎng)頁瀏覽任務(wù)、提高代理在復(fù)雜數(shù)字環(huán)境中的適應(yīng)能力等。此外,而且還可以幫助開發(fā)者設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試自己的AGI框構(gòu)。
SkillWeaver功能特征
自主技能發(fā)現(xiàn)與練習(xí):面對(duì)新網(wǎng)站時(shí),代理能夠自主發(fā)現(xiàn)潛在技能,并通過實(shí)踐將這些技能提煉為穩(wěn)健的 API。
迭代探索與能力提升:通過不斷探索和添加新技能,代理持續(xù)擴(kuò)充其輕量級(jí)、即插即用的 API 庫(kù),從而顯著提升自身能力。
技能轉(zhuǎn)移與共享:表現(xiàn)良好的代理合成的 API 可以傳遞給能力較弱的代理,從而加速學(xué)習(xí)過程并促進(jìn)共享知識(shí)庫(kù)的發(fā)展。
高效性能提升:實(shí)驗(yàn)表明,SkillWeaver 在 WebArena 平臺(tái)和真實(shí)網(wǎng)站上的應(yīng)用分別實(shí)現(xiàn)了 31.8% 和 39.8% 的成功率提升。
適應(yīng)復(fù)雜環(huán)境:SkillWeaver 能夠使代理更好地適應(yīng)真實(shí)世界網(wǎng)站的高度多樣性和復(fù)雜性。
SkillWeaver應(yīng)用場(chǎng)景
自動(dòng)化網(wǎng)頁任務(wù):自動(dòng)完成網(wǎng)頁瀏覽、搜索、篩選等任務(wù),從網(wǎng)頁中提取信息,如電商商品信息、用戶評(píng)論等。
復(fù)雜任務(wù)組合:將多個(gè)簡(jiǎn)單技能組合成復(fù)雜任務(wù),如多步驟操作。
跨代理知識(shí)共享:代理之間共享技能,提升整體效率。
適應(yīng)復(fù)雜網(wǎng)頁環(huán)境:在復(fù)雜多變的網(wǎng)頁環(huán)境中保持高效。
生成可復(fù)用技能庫(kù):生成輕量級(jí)、可復(fù)用的技能庫(kù),方便后續(xù)任務(wù)調(diào)用。
提升決策能力:通過技能合成,提升代理的決策和推理能力。
自動(dòng)化測(cè)試與調(diào)試:確保技能的可靠性和穩(wěn)定性。
泛化能力:合成的技能可在不同網(wǎng)站上通用。
低代碼開發(fā):幫助開發(fā)者快速構(gòu)建和部署自動(dòng)化任務(wù),減少代碼編寫。
SkillWeaver安裝使用
安裝:創(chuàng)建虛擬環(huán)境
conda create -n skillweaver python=3.10 conda activate skillweaver pip install -r requirements.txt playwright install
然后配置 Openai API:
export OPENAI_API_KEY=
示例代碼
以下是一個(gè)簡(jiǎn)單的示例,展示如何使用 SkillWeaver 創(chuàng)建一個(gè)執(zhí)行搜索任務(wù)的人類輸入代理:
from skillweaver import Schema from skillweaver.llms import OpenAI # 創(chuàng)建 AGI 畫布 skillweb = Schema(llm=OpenAI(openai_api_key="*****")) # 設(shè)置全局變量 # 添加并暴露在 schema 中使用的技能 search, human = skillweb.load_skills(['SearchRetreival', 'HumanInputObserver']) # 連接兩個(gè)代理,并可以在此處指定自定義處理邏輯 skillweb.schedule([human, search]) # 運(yùn)行 skillweb.run()
Github地址:https://github.com/OSU-NLP-Group/SkillWeaver
項(xiàng)目主頁:https://osu-nlp-group.github.io/SkillWeaver/
相關(guān)文章
- 用戶登錄