AI Agent 70天:從業(yè)務(wù)代碼到Agent工程化實(shí)戰(zhàn))
今天是我從寫(xiě)了十年業(yè)務(wù)代碼的前端正式轉(zhuǎn)向AI Agent方向的第70天。白天我是一名前端Leader晚上九點(diǎn)以后回到工位才切回另一個(gè)自己學(xué)Python、跑LangGraph、做RAG、搭A(yù)gent部署。70天不算長(zhǎng)但足夠讓我打破兩件事一是對(duì)“前端已經(jīng)到頭”的焦慮二是對(duì)“AI Agent就是調(diào)大模型聊天”的錯(cuò)誤判斷。很多同行問(wèn)我前端轉(zhuǎn)AI Agent是不是等于轉(zhuǎn)后端正好借著第70天這個(gè)節(jié)點(diǎn)把這段時(shí)間踩過(guò)的坑、看過(guò)的架構(gòu)、總結(jié)出來(lái)的方法完整寫(xiě)一遍。文章會(huì)比較長(zhǎng)適合兩類(lèi)人一類(lèi)是還在猶豫要不要轉(zhuǎn)型的前端同事另一類(lèi)是想在團(tuán)隊(duì)里稍微懂點(diǎn)Agent原理的Manager。我盡量不堆術(shù)語(yǔ)所有技術(shù)概念都用最直白的方式講。1. 為什么一個(gè)前端Leader會(huì)跳進(jìn)AI Agent這個(gè)坑1.1 我先承認(rèn)前端的天花板越來(lái)越明顯干了十年前端從PC端到移動(dòng)端、從jQuery到Vue再到React說(shuō)實(shí)話傳統(tǒng)前端工作里“純界面層”的重復(fù)度已經(jīng)非常高了?,F(xiàn)在很多前端項(xiàng)目一大半時(shí)間花在搭頁(yè)面、調(diào)組件、處理表單狀態(tài)、對(duì)齊設(shè)計(jì)稿和接口文檔上。這兩年更明顯組件庫(kù)越來(lái)越完善低代碼平臺(tái)越來(lái)越強(qiáng)AI直接生成代碼的能力也越來(lái)越嚇人。搜索里經(jīng)常能看到“ai agent 前端開(kāi)發(fā)”、“codex 前端開(kāi)發(fā)會(huì)使用的插件”、“前端開(kāi)發(fā)skills”這類(lèi)詞說(shuō)明大家已經(jīng)默認(rèn)AI能接手很大一部分編碼工作。當(dāng)一個(gè)崗位的核心技能可以被工具替代時(shí)Leader必須考慮團(tuán)隊(duì)下一步往哪走個(gè)人的路該怎么拓寬這是最現(xiàn)實(shí)的驅(qū)動(dòng)力。另一個(gè)是業(yè)務(wù)方視角。不管做B端還是C端業(yè)務(wù)方現(xiàn)在聊的已經(jīng)不是“做個(gè)表單頁(yè)面”而是“能不能讓系統(tǒng)自己完成一條完整的任務(wù)”。比如讓AI自動(dòng)整理商品資料、自動(dòng)生成營(yíng)銷(xiāo)文案、自動(dòng)跟進(jìn)客戶(hù)消息。這些需求本質(zhì)上不再是頁(yè)面功能而是Agent任務(wù)。業(yè)務(wù)方不管前端后端他們要的是“結(jié)果”。如果你只懂UI你沒(méi)辦法判斷這個(gè)需求能不能做、該怎么做、風(fēng)險(xiǎn)在哪里。1.2 70天前我給自己定了一套笨但有效的節(jié)奏決定轉(zhuǎn)型之后我沒(méi)有立刻報(bào)課或者買(mǎi)一堆書(shū)而是按“輸出倒逼輸入”的方法給自己排了計(jì)劃。計(jì)劃的核心只有三條每天至少投入1.5小時(shí)每周產(chǎn)出一個(gè)可運(yùn)行的小項(xiàng)目每天記錄學(xué)習(xí)日志。標(biāo)題里的“DAY70”就是這么來(lái)的我用一個(gè)文檔天天記不追求文筆只追求把今天理解的東西寫(xiě)明白。時(shí)間安排上白天工作不推晚上和周末全身心撲進(jìn)來(lái)。這段時(shí)間走完我的體感是第1-14天最痛苦因?yàn)槟惆l(fā)現(xiàn)自己跟一個(gè)剛畢業(yè)的新人一樣什么都不會(huì)第15-35天會(huì)進(jìn)入“能看懂但寫(xiě)不出來(lái)”的瓶頸期第36-50天基本能照葫蘆畫(huà)瓢跑通一個(gè)簡(jiǎn)單Agent第51-70天開(kāi)始敢做工程化改造了至少能把自己的想法放進(jìn)Agent架構(gòu)里。很多人問(wèn)“70天夠不夠”如果把目標(biāo)定成大廠算法研究員那70天只能是起點(diǎn)。但如果目標(biāo)是能獨(dú)立搭建一個(gè)符合業(yè)務(wù)場(chǎng)景的AI Agent應(yīng)用70天按我的節(jié)奏是可行的。這也是我這篇文章最想傳達(dá)的一個(gè)觀點(diǎn)轉(zhuǎn)型不是要把自己變成大模型專(zhuān)家而是把已有的工程能力遷移到新的技術(shù)棧上。2. 70天學(xué)習(xí)路線從零七級(jí)到真正做出Agent2.1 先補(bǔ)Python還是先學(xué)框架我的答案是同時(shí)進(jìn)行這是新手最容易糾結(jié)的問(wèn)題。網(wǎng)上有人推薦先從Python語(yǔ)法慢慢學(xué)有人說(shuō)直接用LangGraph邊做邊學(xué)。我的建議偏向后者但要配一點(diǎn)前置條件。我不建議完全零基礎(chǔ)的人直接看框架源碼那樣會(huì)吐。也不建議把Python學(xué)透再動(dòng)手沒(méi)那個(gè)必要。前端轉(zhuǎn)Agent你需要的Python知識(shí)其實(shí)很聚焦基本語(yǔ)法、函數(shù)定義、異步async/await、類(lèi)與對(duì)象、處理JSON、環(huán)境變量管理。這些東西大概兩周就能上手因?yàn)槲覀冇芯幊趟季S打底缺的只是語(yǔ)法習(xí)慣。等這三周過(guò)去再碰LangChain、LangGraph這類(lèi)框架就舒服很多。我注意到現(xiàn)在也有人搜“基于rust語(yǔ)言ai agent”Rust做Agent是有潛力高性能、低資源、適合做運(yùn)行時(shí)底層但目前主流Agent生態(tài)和示例仍然集中在Python除非你是專(zhuān)門(mén)研究中間件的高P否則業(yè)務(wù)型Agent還是先吃Python紅利。說(shuō)句經(jīng)驗(yàn)之談?wù)Z言切換最大的坑不在語(yǔ)言本身而在于心智模型。前端是“事件循環(huán)驅(qū)動(dòng)的UI狀態(tài)機(jī)”Agent是“推理循環(huán)驅(qū)動(dòng)的任務(wù)狀態(tài)機(jī)”看起來(lái)都像狀態(tài)機(jī)但本質(zhì)不同。前者所有分支都是確定性的后者每一步都可能帶隨機(jī)性。這一點(diǎn)想通了代碼反而是小事。2.2 Agent的五段核心循環(huán)理解它才能調(diào)試它從第25天開(kāi)始我基本不看單個(gè)模型API的調(diào)用示例了開(kāi)始逼自己理解一個(gè)Agent是怎么轉(zhuǎn)起來(lái)的。這里我把核心循環(huán)拆成五個(gè)階段這也是我看LangGraph文檔時(shí)最重要的抽象任務(wù)理解把用戶(hù)輸入轉(zhuǎn)成可執(zhí)行目標(biāo)拆出約束條件。規(guī)劃把目標(biāo)拆成子步驟判斷每一步需要什么工具。執(zhí)行調(diào)用工具或模型生成內(nèi)容得到觀察結(jié)果。記憶把結(jié)果存進(jìn)短期上下文或長(zhǎng)期向量庫(kù)供后續(xù)決策。完成判斷對(duì)比目標(biāo)是否達(dá)成沒(méi)達(dá)成就回到規(guī)劃階段繼續(xù)循環(huán)達(dá)成就輸出。剛開(kāi)始我寫(xiě)Agent是這樣的while True: result model_call(history tools) if result.is_final_answer: break action parse_action(result) observation call_tool(action) history.append(observation)這段代碼很簡(jiǎn)單但它能幫我把概念變成可運(yùn)行的東西。如果你也是前端出身可以把這想象成Redux的單向數(shù)據(jù)流dispatch一個(gè)action經(jīng)過(guò)reducer得到一個(gè)新state再觸發(fā)下一個(gè)action。Agent本質(zhì)上就是讓模型去決定下一個(gè)dispatch該是什么而工具調(diào)用就是執(zhí)行副作用函數(shù)。2.3 “AI Agent token”到底要懂到哪個(gè)程度搜索熱詞里出現(xiàn)的“ai agent token是什么意思”我猜很多前端同學(xué)都困惑過(guò)。我自己的理解是token是模型理解文本的粒度中文字符通常一個(gè)漢字約對(duì)應(yīng)1到1.5個(gè)token英文一個(gè)單詞約1到2個(gè)token。你可以把它理解成模型面前的一盤(pán)小棋子模型一次最多只能看這么多棋子。上下文窗口就是這副棋盤(pán)的大小。普通開(kāi)源模型多在8K、32K商業(yè)API大模型比如Claude、GPT系列有128K甚至更多。聽(tīng)起來(lái)很大但別高興太早工具描述、歷史對(duì)話、檢索回來(lái)的資料塊、系統(tǒng)提示詞都會(huì)吃掉這個(gè)空間。我算過(guò)一個(gè)實(shí)際例子如果每輪對(duì)話平均800字約1200個(gè)token開(kāi)32K上下文的模型只能容納約26輪還要留出答復(fù)的空間。遇到工具返回長(zhǎng)文本基本兩三次就把窗口干穿。真正做Agent時(shí)你要把token當(dāng)成預(yù)算來(lái)管理不是當(dāng)成容量來(lái)使用。什么時(shí)候截?cái)嗯f對(duì)話、什么時(shí)候把檢索結(jié)果做摘要后再放回上下文、什么時(shí)候用向量數(shù)據(jù)庫(kù)做召回而不是把所有文檔全塞進(jìn)來(lái)這些才是Agent工程師和“只會(huì)調(diào)用API”的人的分水嶺。3. 前端經(jīng)驗(yàn)不是沒(méi)用而是換了一種用法3.1 前端在Agent應(yīng)用里的3個(gè)落地位置很多前端同事覺(jué)得自己轉(zhuǎn)Agent意味著放棄前端實(shí)際情況恰恰相反。Agent產(chǎn)品同樣需要有界面而且這個(gè)界面比傳統(tǒng)網(wǎng)頁(yè)復(fù)雜得多。第一個(gè)位置是對(duì)話型交互界面。包括流式輸出、渲染富文本、Markdown、代碼高亮、消息卡片以及Agent思考過(guò)程的可視化。這個(gè)區(qū)域非常吃前端能力你需要在流式更新時(shí)保證UI狀態(tài)不亂在用戶(hù)發(fā)消息時(shí)快速鎖定輸入狀態(tài)同時(shí)渲染出工具調(diào)用時(shí)間線。我們用過(guò)的組件庫(kù)做傳統(tǒng)B端沒(méi)問(wèn)題但放Agent場(chǎng)景就差一點(diǎn)我一般會(huì)針對(duì)思考過(guò)程單獨(dú)寫(xiě)一個(gè)Timeline組件實(shí)時(shí)展示Step1、Step2和執(zhí)行結(jié)果。第二個(gè)位置是Agent配置后臺(tái)。給業(yè)務(wù)人員配置工具參數(shù)、配置角色提示、配置知識(shí)庫(kù)、配置測(cè)試用例。這類(lèi)后臺(tái)需要大量腳手架和表單邏輯反而是前端最擅長(zhǎng)的事情。如果團(tuán)隊(duì)在后端用SpringBoot搭建Agent服務(wù)前端用Vue做管理端中間協(xié)商好調(diào)度接口你會(huì)發(fā)現(xiàn)工作路徑順序是順的。第三個(gè)位置是數(shù)據(jù)觀測(cè)面板。Agent跑起來(lái)之后你需要觀測(cè)每一輪對(duì)話的關(guān)鍵信息模型名、上下文窗口使用率、工具調(diào)用結(jié)果、耗時(shí)、失敗率。這個(gè)面板本質(zhì)上就是運(yùn)維監(jiān)控的前端翻版。我甚至見(jiàn)過(guò)一個(gè)團(tuán)隊(duì)后端只把事件流推給前端前端自己算token消耗、自己畫(huà)趨勢(shì)圖協(xié)作很順。3.2 Agent的“前后端分離”比Web前后端分離更嚴(yán)格有個(gè)熱搜詞我一眼就注意到了“open webui 需要后端服務(wù) 您正在使用不受支持的方法(僅運(yùn)行前端服務(wù))。請(qǐng)通過(guò)后端”。這個(gè)報(bào)錯(cuò)提示很典型說(shuō)明很多從前端切入AI Agent的人會(huì)習(xí)慣性地認(rèn)為“我只要起一個(gè)純前端項(xiàng)目把前端代碼部署上去就行”。但AI應(yīng)用幾乎不可能做純前端。大模型API不能直接暴露在瀏覽器里會(huì)泄露密鑰消息流需要后端做持久連接用戶(hù)鑒權(quán)、會(huì)話存儲(chǔ)、工具調(diào)用代理都需要后端能力。所以真正合理的架構(gòu)是把前端只承擔(dān)展示和交互把所有與模型通信、工具執(zhí)行、知識(shí)檢索相關(guān)的邏輯全部放在后端。有意思的是搜索詞里還有“若依前后端分離前端代碼在哪里”和“hzero前端開(kāi)發(fā)”這類(lèi)傳統(tǒng)中后臺(tái)的框架方法論放到Agent項(xiàng)目里依然成立。后端負(fù)責(zé)域名、權(quán)限、數(shù)據(jù)安全前端負(fù)責(zé)體驗(yàn)、交互、渲染這個(gè)基本分工完全沒(méi)變。變的只是后端不再是簡(jiǎn)單返回CRUD數(shù)據(jù)而是要調(diào)度一個(gè)會(huì)推理的Agent runtime。我甚至在團(tuán)隊(duì)內(nèi)部做過(guò)一次分享用一張表格給前端同事類(lèi)比前端狀態(tài)管理與Agent狀態(tài)管理的關(guān)系傳統(tǒng)前端AI Agent系統(tǒng)用戶(hù)事件觸發(fā)action模型推理決定下一步動(dòng)作Redux/Pinia管理全局狀態(tài)Memory/記憶模塊管理上下文請(qǐng)求后端接口拿數(shù)據(jù)調(diào)用工具獲取觀察結(jié)果路由守衛(wèi)控制頁(yè)面訪問(wèn)完成條件判斷Agent何時(shí)終止3.3 工具調(diào)用完全可以當(dāng)成接口調(diào)試來(lái)對(duì)待我在第40天左右特別有體會(huì)Agent所謂“調(diào)用工具”和我們前端調(diào)后端接口沒(méi)有本質(zhì)區(qū)別。你定義一個(gè)工具名、描述、參數(shù)結(jié)構(gòu)模型根據(jù)用戶(hù)需求決定要不要調(diào)用調(diào)用時(shí)填參數(shù)后端執(zhí)行完返回結(jié)果。從工程視角看這就是一次接口調(diào)用只是參數(shù)不是前端填的而是模型生成的。這就帶來(lái)一個(gè)問(wèn)題模型生成的參數(shù)經(jīng)常瞎寫(xiě)可能多個(gè)字段、少個(gè)必填項(xiàng)、類(lèi)型不對(duì)。傳統(tǒng)前端后端聯(lián)調(diào)還可以靠工具類(lèi)型系統(tǒng)兜底Agent工具調(diào)用沒(méi)人在運(yùn)行前幫你檢查。所以我習(xí)慣在每個(gè)工具入口做一層Schema校驗(yàn)不合法直接拒絕并把錯(cuò)誤信息返回給模型讓它重新生成參數(shù)。這樣一次迭代成功率能從六成提到九成。把工具當(dāng)成API來(lái)管理還有一個(gè)好處數(shù)據(jù)結(jié)構(gòu)穩(wěn)定復(fù)用性強(qiáng)。一張員工請(qǐng)假表、一個(gè)庫(kù)存查詢(xún)接口、一個(gè)內(nèi)容發(fā)布方法都可以變成Agent工具前端只要負(fù)責(zé)把結(jié)果渲染出來(lái)。我會(huì)把工具調(diào)用記錄同時(shí)發(fā)到前端相當(dāng)于給每一步操作留痕方便用戶(hù)反查。這個(gè)設(shè)計(jì)理念其實(shí)就是從我們熟知的接口Trace面板搬過(guò)來(lái)的。4. 70天里我踩過(guò)的坑按頻次排序整理4.1 無(wú)限循環(huán)和Agent跑飛不要指望模型自覺(jué)停止第一次用LangGraph搭一個(gè)多步驟Agent時(shí)我自信滿(mǎn)滿(mǎn)讓它自主規(guī)劃結(jié)果5分鐘過(guò)去了它一直在反復(fù)調(diào)用工具甚至偶爾自己給自己編造一個(gè)結(jié)果。當(dāng)時(shí)我第一反應(yīng)就是死循環(huán)了趕緊把日志拉出來(lái)看。排查下來(lái)問(wèn)題主要有三個(gè)第一最終判斷條件太模糊。我沒(méi)有清楚告訴模型“當(dāng)信息足夠時(shí)立即終止”而是說(shuō)“你認(rèn)為合適時(shí)停止”這對(duì)模型來(lái)說(shuō)過(guò)于開(kāi)放。第二工具調(diào)用結(jié)果里“狀態(tài)字段”不夠明確導(dǎo)致模型分不清到底成功沒(méi)有。第三缺少一個(gè)兜底節(jié)點(diǎn)循環(huán)次數(shù)超過(guò)N就直接終止回到人工復(fù)盤(pán)。我現(xiàn)在寫(xiě)Agent一定有強(qiáng)制性約束最大循環(huán)次數(shù)設(shè)成8到15次每一步必須返回結(jié)構(gòu)化的中間結(jié)果關(guān)鍵分支再加一層規(guī)則判斷。前端里做個(gè)路由守衛(wèi)至少可以有效攔截?zé)o限跳轉(zhuǎn)Agent同理。4.2 上下文爆炸Token計(jì)算和截?cái)嗖呗粤硪粋€(gè)高頻坑是長(zhǎng)會(huì)話崩掉。前一天還正常聊的Agent第二天用戶(hù)連續(xù)發(fā)了一小時(shí)長(zhǎng)消息突然開(kāi)始胡言亂語(yǔ)。我最初以為是模型抽風(fēng)后來(lái)查日志才發(fā)現(xiàn)上下文窗口已經(jīng)逼近上限最前面的工具返回信息被擠掉了模型看不到早期約束。解決辦法是按長(zhǎng)度窗口滑動(dòng)并給歷史記錄做摘要。我的策略是這樣如果歷史消息超過(guò)總上下文的60%先把最早的服務(wù)端數(shù)據(jù)歸檔只保留一句摘要。比如用戶(hù)昨天問(wèn)過(guò)的三個(gè)問(wèn)題壓縮成“用戶(hù)昨天咨詢(xún)了A、B、C三件事均已解決正在處理D”再把今天的內(nèi)容完整保留。還要注意一個(gè)細(xì)節(jié)最關(guān)鍵的指令和最近一輪工具調(diào)用結(jié)果永遠(yuǎn)放在Prompt的優(yōu)先級(jí)高位。模型對(duì)越靠后的內(nèi)容權(quán)重越大把關(guān)鍵內(nèi)容放在越靠后效果越好。這個(gè)我實(shí)測(cè)下來(lái)比靠前制定指令更有效。4.3 工具調(diào)用參數(shù)不聽(tīng)話改Schema比改Prompt快得多有一段時(shí)間我給Agent接了一個(gè)“查詢(xún)銷(xiāo)售訂單”的工具輸出結(jié)果一般是長(zhǎng)文本。結(jié)果發(fā)現(xiàn)模型經(jīng)常不填必填的shopId或者把date格式傳成“昨天”。一開(kāi)始我反復(fù)在提示詞里加“一定要傳shopId格式要正確”但效果不穩(wěn)定偶爾還是會(huì)翻車(chē)。后來(lái)我換了個(gè)思路工具參數(shù)定義改成JSON Schema并對(duì)shopId字段加description和枚舉示例date字段明確格式為YYYY-MM-DD。同時(shí)在后端做兜底校驗(yàn)參數(shù)不對(duì)就直接返回400讓模型自己看錯(cuò)誤信息重試。改完之后成功率提升非常明顯。我現(xiàn)在跟同事強(qiáng)調(diào)最多的一句話就是后端定義好接口和錯(cuò)誤碼Agent才能像人一樣學(xué)會(huì)怎么用工具。這個(gè)原則和前端調(diào)后端接口是完全一樣的不要指望調(diào)用方自覺(jué)要指望契約和校驗(yàn)來(lái)保障。4.4 Open WebUI“僅運(yùn)行前端服務(wù)”的報(bào)錯(cuò)其實(shí)是前后端架構(gòu)問(wèn)題很多剛接觸AI前端開(kāi)發(fā)的同學(xué)會(huì)用Open WebUI這類(lèi)項(xiàng)目做本地管理界面會(huì)看到一個(gè)明確的提醒您正在使用不受支持的方法僅運(yùn)行前端服務(wù)請(qǐng)通過(guò)后端。這里面有個(gè)很核心的工程概念A(yù)I應(yīng)用必須走后端來(lái)管理模型連接與密鑰不能直接把模型API地址暴露給瀏覽器。我自己也犯過(guò)這個(gè)錯(cuò)。最開(kāi)始圖省事在一個(gè)純前端項(xiàng)目里直接調(diào)用模型API打開(kāi)頁(yè)面發(fā)現(xiàn)雖然能發(fā)消息但只要刷新頁(yè)面翻到歷史會(huì)話就失效而且密鑰直接暴露在請(qǐng)求里安全完全不過(guò)關(guān)。后來(lái)我把請(qǐng)求改走后端轉(zhuǎn)發(fā)才解決了持久化和安全問(wèn)題。順帶一提前端安全技術(shù)也值得復(fù)用很多Agent管理后臺(tái)同樣需要防XSS、CSRF、防惡意爬取。搜索里的“前端網(wǎng)絡(luò)安全”“防止爬蟲(chóng)防止查看頁(yè)面源碼”其實(shí)在Agent里同樣要關(guān)注尤其你做了一個(gè)AI工具別人可能直接抓你的API接口把能力白嫖走。5. 如果讓我重來(lái)給想轉(zhuǎn)AI Agent的人一點(diǎn)心得5.1 最少就能跑通的路先做最小閉環(huán)如果你也想用最少的時(shí)間和成本在兩周內(nèi)做出一個(gè)真正能演示的Agent我建議不要一上來(lái)就研究LangGraph、Dify這類(lèi)底層編排更不要先啃Rust。最優(yōu)路徑是先把一個(gè)大模型API摸熟然后只做一件事把一個(gè)固定業(yè)務(wù)比如“自動(dòng)生成商品標(biāo)題”通過(guò)一個(gè)工具函數(shù)和一個(gè)系統(tǒng)提示詞跑出一個(gè)能調(diào)用的Agent雛形。等這個(gè)雛形成功了再逐步加工具、加記憶、加規(guī)劃。很多人容易倒過(guò)來(lái)一開(kāi)始就搭復(fù)雜的多Agent架構(gòu)Agent之間互相調(diào)用一個(gè)崩了全都涼。我的經(jīng)驗(yàn)是Agent越簡(jiǎn)單越容易調(diào)試越容易debug也就越容易學(xué)習(xí)。第1周學(xué)Python基礎(chǔ)、看懂API調(diào)用完成一個(gè)單純聊天機(jī)器人。第2周寫(xiě)一個(gè)單一工具調(diào)用比如查詢(xún)天氣、查庫(kù)存學(xué)會(huì)處理工具返回結(jié)果。第3周引入多步規(guī)劃和記憶讓Agent記錄中間結(jié)果并完成更復(fù)雜的任務(wù)。第4周之后再考慮上RAG、上向量庫(kù)、上LangGraph狀態(tài)機(jī)。到第9-12周把項(xiàng)目工程化加上用戶(hù)鑒權(quán)、日志、監(jiān)控、部署。這個(gè)節(jié)奏保守但穩(wěn)妥適合工作黨。別拿網(wǎng)上那些“7天沖刺AI Agent工程師”的課程節(jié)奏套自己能堅(jiān)持超過(guò)兩周就算贏。5.2 前端Leader要注意的“三不一無(wú)”最后想聊一下心態(tài)。你在團(tuán)隊(duì)里是帶人的Leader轉(zhuǎn)型選擇和應(yīng)屆生完全不一樣你沒(méi)法完全清零重來(lái)也沒(méi)有大把時(shí)間試錯(cuò)。這70天里我給自己定了幾條紀(jì)律想分享給同樣在帶團(tuán)隊(duì)的朋友一是不要在小步快跑階段內(nèi)卷。前端Leader有一種職業(yè)病上手任何新東西都會(huì)忍不住先優(yōu)化工具鏈、做腳手架、封裝組件。學(xué)會(huì)Python時(shí)我也這樣結(jié)果一周時(shí)間都在折騰環(huán)境配置和代碼格式化后來(lái)才醒悟先把功能跑通比什么都重要。二是不要拿前端的“確定性”去要求一切。Agent有天然的隨機(jī)性同樣輸入兩次結(jié)果可能不一樣。你如果還帶著“必須復(fù)現(xiàn)Bug”的老開(kāi)發(fā)習(xí)慣會(huì)被搞瘋。設(shè)計(jì)Agent時(shí)要有兜底策略而不是追求每一步都完美。三是不要把團(tuán)隊(duì)牛馬兄弟丟下自己?jiǎn)物w。前端Leader帶團(tuán)隊(duì)轉(zhuǎn)AI的價(jià)值在于“組團(tuán)升級(jí)”。我會(huì)把Agent相關(guān)學(xué)習(xí)內(nèi)容拆成快手短視頻分享給組員每周一次十分鐘同步。能帶團(tuán)隊(duì)一起認(rèn)知升級(jí)比一個(gè)人悶頭看更有效率。四是不要害怕“不是科班出身”。Agent這個(gè)領(lǐng)域太新了科班沒(méi)學(xué)過(guò)“AI Agent架構(gòu)”這門(mén)課所有人都是邊做邊學(xué)。前端同學(xué)的交互理解、界面設(shè)計(jì)、工程化經(jīng)驗(yàn)在Agent產(chǎn)品里反而是稀缺能力。最后分享我自己驗(yàn)證過(guò)的一個(gè)小技巧如果你正在嘗試把現(xiàn)有業(yè)務(wù)流程變成Agent有一個(gè)特別低成本的做法先把你手頭經(jīng)常要用的一個(gè)后端接口包裝成工具接進(jìn)你選的Agent框架里。然后在System Prompt里加一句“當(dāng)你需要了解該業(yè)務(wù)信息時(shí)務(wù)必先調(diào)用查詢(xún)工具把結(jié)果整理后告知用戶(hù)”再去測(cè)試。你會(huì)很直觀地看到Agent是怎么走過(guò)去“查詢(xún)-整理-回復(fù)”的閉環(huán)。我在第70天最大的體會(huì)是這個(gè)領(lǐng)域確實(shí)深但并不是無(wú)路可走。前端積累的架構(gòu)思維、接口思維、用戶(hù)體驗(yàn)思維都會(huì)轉(zhuǎn)成你在Agent時(shí)代的獨(dú)特優(yōu)勢(shì)。剩下的就是在每天夜深人靜時(shí)把那行看似普通的循環(huán)代碼繼續(xù)跑下去。