百度做網(wǎng)站多中國建設(shè)銀行北京招聘信息網(wǎng)站
鶴壁市浩天電氣有限公司
2026/01/22 10:10:26
百度做網(wǎng)站多,中國建設(shè)銀行北京招聘信息網(wǎng)站,常州網(wǎng)站建設(shè)cz35,python的網(wǎng)站開發(fā)源碼最近有學員出去面試#xff0c;他們面試的崗位為AI應(yīng)用工程師、Agent應(yīng)用工程師或者AI產(chǎn)品經(jīng)理#xff0c;而最近經(jīng)常會遇到的一個問題是#xff1a; 什么是ReAct#xff0c;他主要是來解決什么問題的#xff1f; 怎么說呢#xff0c;這個問題問的太大了#xff0c;他其…最近有學員出去面試他們面試的崗位為AI應(yīng)用工程師、Agent應(yīng)用工程師或者AI產(chǎn)品經(jīng)理而最近經(jīng)常會遇到的一個問題是什么是ReAct他主要是來解決什么問題的怎么說呢這個問題問的太大了他其實不太適合作為一般崗位的面試題的。但要注意這不是說ReAct不重要相反ReAct本身很重要只不過要完全理解幾乎需要將整個Agent架構(gòu)梳理清楚所以多數(shù)人不大可能回答好這個問題另一方面對于多數(shù)人這個詞匯是比較**“低頻”**的因為多數(shù)中小型公司老板在用Agent做融資、講故事不準備真用Agent解決生產(chǎn)問題所以很多同學并沒有相關(guān)實踐的機會最終的結(jié)果就是多數(shù)人只在一些文章讀到過整體是很模糊的。所以ReAct是什么呢ReAct Reason Act是 2022 年 Google/Princeton 提出的一個范式**Reasoning**讓LLM思考為什么和如何執(zhí)行行動**Acting**讓LLM執(zhí)行具體行動并與環(huán)境交互**循環(huán)反饋**通過觀察結(jié)果驅(qū)動下一步推理翻譯翻譯就是先思考、再執(zhí)行但這個好像并不能回答為什么、是什么、如何做問題所以就得追根溯源了unsetunsetWhy ReActunsetunset從模型的演進來說我們想解決的是他只能想/說不能做的問題。在這個基礎(chǔ)上我們提出了Function Calling/MCP其基本語法就是預設(shè)一些工具掛在模型請求上每次由模型根據(jù)用戶問題與工具參數(shù)描述、name等做判斷是否調(diào)用。比如最經(jīng)典的問題**成都這兩天天氣怎么樣**想要由模型自動調(diào)用就需要這樣寫# 把“工具”掛在模型上這里是一個 get_weather 函數(shù){type: function,function: { name: get_weather, description: 查詢未來幾天某個城市的天氣預報, parameters: { type: object, properties: { city: { type: string, description: 城市名例如成都 }, days: { type: integer, description: 查詢多少天的預報1-7 } } required: [city, days] } }}基本交互模型確定后緊接著問題就出現(xiàn)了真實場景工具太多、用戶的問題太模糊、用戶的意圖過多…反正所有的問題疊加在一起就一句話模型在工具調(diào)用一塊表現(xiàn)很差。于是這個時候思維鏈CoT就出現(xiàn)了他需要對用戶問題進行分析將復雜的問題分解為一個個小步驟小工具調(diào)用再看著這些工具一個個執(zhí)行成功一個再執(zhí)行下一個希望由此增加整體AI產(chǎn)品體驗最后總結(jié)一句ReAct想要解決的核心問題是把 “會思考” 和 “會操作外部世界” 這兩件事綁在一起形成一個可觀察、可迭代的任務(wù)。接下來我們用個簡單例子來看看ReAct架構(gòu)詳細實現(xiàn)unsetunsetReAct架構(gòu)核心unsetunset首先ReAct架構(gòu)是一套循環(huán)流程... → 推理(Thought) → 行動(Action) → 觀察(Observation) → ...這一范式的核心是在**“思考-行動-觀察”的循環(huán)中完成任務(wù)。也就是說Agent一邊思考如何解決問題一邊調(diào)用工具獲取信息然后根據(jù)觀察**到的結(jié)果調(diào)整下一步計劃直到得出最終答案。下面通過一個實例演示這個過程**2018 年世界杯冠軍國家的總統(tǒng)是誰**他可能的完整過程是**Thought**用戶的問題是“2018年世界杯冠軍國家的總統(tǒng)”。這是一個復合問題需要拆解成兩個步驟首先找到2018年世界杯的冠軍是哪國然后查明該國的總統(tǒng)是誰**Action**調(diào)用搜索引擎工具查詢關(guān)鍵詞2018 年世界杯 冠軍**Observation**返回“2018年世界杯冠軍是法國。”**Thought**Agent得知冠軍國家是法國。需要知道法國總統(tǒng)是誰**Action**再次調(diào)用搜索引擎工具查詢關(guān)鍵詞“法國總統(tǒng)是誰”**Observation**搜索結(jié)果顯示“法國現(xiàn)任總統(tǒng)是埃馬紐埃爾·馬克龍Emmanuel Macron?!?*最終回答**綜合前面的信息Agent回答用戶“2018 年世界杯冠軍法國的總統(tǒng)是埃馬紐埃爾·馬克龍。”在解題過程中Agent經(jīng)歷了兩輪**“思考→行動→觀察”**的循環(huán)逐步把復雜問題拆解并求解?,F(xiàn)在業(yè)內(nèi)普遍認為并且有數(shù)據(jù)證明CoT可以有效降低模型幻覺這也是ReAct的重要意義之一接下來我們來看看簡單實現(xiàn)一、狀態(tài)管理├── 全局狀態(tài) (GlobalState)│ ├── task_id: query_│ ├── original_query: 2018世界杯冠軍國家的總統(tǒng)是誰│ ├── task_graph: 任務(wù)依賴圖│ └── verified_facts: {france_won_2018: true}│├── 會話狀態(tài) (SessionState)│ ├── current_plan: 當前執(zhí)行計劃│ ├── available_tools: [search, calculator, ...]│ └── context_window: 最近10輪思考-行動歷史│└── 執(zhí)行狀態(tài) (ExecutionState) ├── step_id: step_001 ├── current_action: {tool: search, params: {...}} └── partial_results: {}Agent架構(gòu)實現(xiàn)到最后難點大概都是上下文設(shè)計現(xiàn)階段常用的技巧是用一個“記事本”來記錄復雜任務(wù)的信息包括用戶問了什么已經(jīng)知道什么嘗試過什么方法哪些信息被驗證過…要在AI工程中實現(xiàn)上述問題本身就挺難的我們用的這種分層設(shè)計允許系統(tǒng)在不同粒度上管理狀態(tài)避免單一狀態(tài)對象過于臃腫、也避免了整體項目復雜度。這里具體的實現(xiàn)我們就不展開了大家可以去OpenManus看看我們這里給出偽代碼即可狀態(tài)對象 { 任務(wù)ID: 查詢_001, 原始問題: 2018世界杯冠軍國家的總統(tǒng)是誰, 已驗證事實: { 冠軍國家: 法國, 法國總統(tǒng): 馬克龍 }, 思考記錄: [這是一個復合問題需要兩步...], 行動記錄: [ {工具: 搜索, 查詢: 2018世界杯冠軍}, {工具: 搜索, 查詢: 法國總統(tǒng)} ], 當前步驟: 3}二、決策引擎基礎(chǔ)狀態(tài)設(shè)計也可以叫上下文工程是第一步第二步將AI的思考過程展示出來就像我們解題過程分析當前情況確定還需要什么信息選擇獲取信息的方法Tools評估結(jié)果并決定下一步具體代碼也不寫了整個流程如圖開始 ↓分析當前狀態(tài) ├── 已有足夠信息 → 生成答案 ├── 需要外部信息 → 選擇工具執(zhí)行 └── 需要更多分析 → 深入思考 ↓執(zhí)行決策 ↓更新狀態(tài) ↓檢查是否完成 ├── 是 → 結(jié)束 └── 否 → 回到分析當前狀態(tài)三、工具調(diào)用如上所述除了自身能力AI解決問題的辦法只有Tools調(diào)用包括這里用到的搜索引擎工具以及我們最常見的知識庫查詢工具只要模型需要對外交互那么都是工具調(diào)用而ReAct模式中工具調(diào)用的部分流程很固定1. 匹配需求 → 確定需要什么工具2. 選擇工具 → 哪個工具最適合3. 準備參數(shù) → 工具需要什么輸入4. 執(zhí)行調(diào)用 → 運行工具獲取結(jié)果5. 驗證結(jié)果 → 檢查結(jié)果是否可靠四、案例流程代碼化這里問題依舊是2018世界杯冠軍國家的總統(tǒng)是誰這里第一步就是狀態(tài)初始化{ 任務(wù): 2018世界杯冠軍國家的總統(tǒng)是誰, 已知: {}, 需要: [2018冠軍國家, 該國總統(tǒng)]}然后是首次決策AI思考: 這是一個復合問題先要找到冠軍國家AI行動: 使用搜索工具查詢2018世界杯冠軍結(jié)果: 2018年世界杯冠軍是法國隊更新狀態(tài): 添加冠軍國家法國然后是二次決策AI思考: 知道了冠軍是法國現(xiàn)在需要法國總統(tǒng)信息AI行動: 使用搜索工具查詢法國現(xiàn)任總統(tǒng)結(jié)果: 法國現(xiàn)任總統(tǒng)是埃馬紐埃爾·馬克龍更新狀態(tài): 添加法國總統(tǒng)馬克龍最終在這個基礎(chǔ)下生成答案AI思考: 已收集全部信息可以回答AI回答: 2018年世界杯冠軍是法國法國總統(tǒng)是埃馬紐埃爾·馬克龍上述流程在倒推時候好像很簡單但真的人模型一步步踩在點上其實是有點難的尤其是在復雜業(yè)務(wù)場景上比如有很多問題要考慮如何判斷信息是否足夠如何選擇搜索關(guān)鍵詞如何處理不確定性…上述每一次步驟失誤就要完犢子所以生產(chǎn)項目會有很多糾錯糾錯的結(jié)果就是很浪費時間和Token。下面是一些小技巧五、小技巧首先Thought的組織與生成是比較關(guān)鍵的他的輸入是狀態(tài)信息和預設(shè)工具輸出是下一步行動計劃這里提供一套不錯的模板基于當前已知信息 {已知信息}我們還需要 {缺失信息} 來回答問題。下一步應(yīng)該 {行動計劃}使用 {工具名稱}其次在某些時候工具會很多為防止模型亂調(diào)用一般是需要對工具進行建模評分的比如需求查詢實時天氣候選工具1. 天氣API實時、準確→ 得分 902. 網(wǎng)頁搜索可能過時→ 得分 603. 歷史數(shù)據(jù)庫非實時→ 得分 30當然你說建模沒問題具體依舊還是AI判斷是否有可能不準這個是有可能的而且暫時沒辦法避免…然后就是持續(xù)的狀態(tài)管理AI亂不亂狀態(tài)上下文說了算1. 分層存儲短期記憶 長期記憶2. 智能壓縮保留關(guān)鍵信息刪除冗余3. 版本控制支持回滾到之前狀態(tài)4. 依賴跟蹤記錄信息之間的關(guān)聯(lián)最后所有的AI產(chǎn)品都是需要測試數(shù)據(jù)集的或者說需要一套好壞評估標準比如任務(wù)完成率用戶問題被正確解決的比例平均響應(yīng)時間從提問到獲得答案的時間對話輪次平均需要多少輪交互用戶滿意度用戶對答案的評價思考質(zhì)量AI思考的相關(guān)性和有效性工具準確率工具返回正確結(jié)果的比例循環(huán)效率平均每個問題需要的循環(huán)次數(shù)資源消耗API調(diào)用次數(shù)、Token使用量…這里就扯遠了我們就不展開了…unsetunset結(jié)語unsetunset沒有完美的價格ReAct與生俱來的會具有一些缺陷這里也需要提一嘴一、響應(yīng)時間過長/耗Token當前大家都知道模型是不可盡信的為了保證輸出的穩(wěn)定性可能在流程上會有2次乃至3次校驗這樣來回的結(jié)果就是Agent的響應(yīng)時長很忙并且Token消耗也很快。比如最近一個Manus的案例就是用戶一次PPT就把一個月的Token用完了并且PPT還沒完成于是投訴要求退款。二、過度思考過度思考的原因是模型帶來的有可能換個模型就好了但問題還是如第一點所示AI并不知道問題簡單與否從保險的情況下他情愿在簡單的場景下也多加驗證比如問題在簡單問題上過度分析原因缺乏問題復雜度判斷可能的解決方案又 ? 添加問題分類器簡單/復雜 ? 為簡單問題設(shè)計快捷通道 ? 設(shè)置思考預算Token限制三、工具問題雖然現(xiàn)在GPT本身也是支持MCP的但是很多公司在使用的時候其實還是喜歡橋接一層底層自己調(diào)用Function Calling原因很簡單沒有生產(chǎn)級AI應(yīng)用會毫無保留的使用第三方服務(wù)四、狀態(tài)混亂應(yīng)該說這不是ReAct的問題只要是復雜的AI項目只要涉及到意圖識別那么上下文工程就會很復雜如何做好分層信息設(shè)計這就是AI工程的核心了這里不做展開……雖然ReAct有這樣那樣的問題但并不妨礙他現(xiàn)在成為事實上的標準了?,F(xiàn)在回歸面試題ReAct是什么呢ReAct是一套Agent的交互模型他的作用是讓模型具有鏈接外部世界的能力并且盡可能降低幻覺的發(fā)生需要特別強調(diào)的是ReAct的全局日志是可調(diào)式、可觀測的這也變相提高了我們AI產(chǎn)品的可控性。如何學習大模型 AI 由于新崗位的生產(chǎn)效率要優(yōu)于被取代崗位的生產(chǎn)效率所以實際上整個社會的生產(chǎn)效率是提升的。但是具體到個人只能說是“最先掌握AI的人將會比較晚掌握AI的人有競爭優(yōu)勢”。這句話放在計算機、互聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)的開局時期都是一樣的道理。我在一線互聯(lián)網(wǎng)企業(yè)工作十余年里指導過不少同行后輩。幫助很多人得到了學習和成長。我意識到有很多經(jīng)驗和知識值得分享給大家也可以通過我們的能力和經(jīng)驗解答大家在人工智能學習中的很多困惑所以在工作繁忙的情況下還是堅持各種整理和分享。但苦于知識傳播途徑有限很多互聯(lián)網(wǎng)行業(yè)朋友無法獲得正確的資料得到學習提升故此將并將重要的AI大模型資料包括AI大模型入門學習思維導圖、精品AI大模型學習書籍手冊、視頻教程、實戰(zhàn)學習等錄播視頻免費分享出來。第一階段10天初階應(yīng)用該階段讓大家對大模型 AI有一個最前沿的認識對大模型 AI 的理解超過 95% 的人可以在相關(guān)討論時發(fā)表高級、不跟風、又接地氣的見解別人只會和 AI 聊天而你能調(diào)教 AI并能用代碼將大模型和業(yè)務(wù)銜接。大模型 AI 能干什么大模型是怎樣獲得「智能」的用好 AI 的核心心法大模型應(yīng)用業(yè)務(wù)架構(gòu)大模型應(yīng)用技術(shù)架構(gòu)代碼示例向 GPT-3.5 灌入新知識提示工程的意義和核心思想Prompt 典型構(gòu)成指令調(diào)優(yōu)方法論思維鏈和思維樹Prompt 攻擊和防范…第二階段30天高階應(yīng)用該階段我們正式進入大模型 AI 進階實戰(zhàn)學習學會構(gòu)造私有知識庫擴展 AI 的能力??焖匍_發(fā)一個完整的基于 agent 對話機器人。掌握功能最強的大模型開發(fā)框架抓住最新的技術(shù)進展適合 Python 和 JavaScript 程序員。為什么要做 RAG搭建一個簡單的 ChatPDF檢索的基礎(chǔ)概念什么是向量表示Embeddings向量數(shù)據(jù)庫與向量檢索基于向量檢索的 RAG搭建 RAG 系統(tǒng)的擴展知識混合檢索與 RAG-Fusion 簡介向量模型本地部署…第三階段30天模型訓練恭喜你如果學到這里你基本可以找到一份大模型 AI相關(guān)的工作自己也能訓練 GPT 了通過微調(diào)訓練自己的垂直大模型能獨立訓練開源多模態(tài)大模型掌握更多技術(shù)方案。到此為止大概2個月的時間。你已經(jīng)成為了一名“AI小子”。那么你還想往下探索嗎為什么要做 RAG什么是模型什么是模型訓練求解器 損失函數(shù)簡介小實驗2手寫一個簡單的神經(jīng)網(wǎng)絡(luò)并訓練它什么是訓練/預訓練/微調(diào)/輕量化微調(diào)Transformer結(jié)構(gòu)簡介輕量化微調(diào)實驗數(shù)據(jù)集的構(gòu)建…第四階段20天商業(yè)閉環(huán)對全球大模型從性能、吞吐量、成本等方面有一定的認知可以在云端和本地等多種環(huán)境下部署大模型找到適合自己的項目/創(chuàng)業(yè)方向做一名被 AI 武裝的產(chǎn)品經(jīng)理。硬件選型帶你了解全球大模型使用國產(chǎn)大模型服務(wù)搭建 OpenAI 代理熱身基于阿里云 PAI 部署 Stable Diffusion在本地計算機運行大模型大模型的私有化部署基于 vLLM 部署大模型案例如何優(yōu)雅地在阿里云私有部署開源大模型部署一套開源 LLM 項目內(nèi)容安全互聯(lián)網(wǎng)信息服務(wù)算法備案…學習是一個過程只要學習就會有挑戰(zhàn)。天道酬勤你越努力就會成為越優(yōu)秀的自己。如果你能在15天內(nèi)完成所有的任務(wù)那你堪稱天才。然而如果你能完成 60-70% 的內(nèi)容你就已經(jīng)開始具備成為一名大模型 AI 的正確特征了。這份完整版的大模型 AI 學習資料已經(jīng)上傳CSDN朋友們?nèi)绻枰梢晕⑿艗呙柘路紺SDN官方認證二維碼免費領(lǐng)取【保證100%免費】