學(xué)習(xí)如何構(gòu)建高效AI Agent

Anthropic的工程師Barry Zhang在最近的AI Engineering大會上分享了《How We Build Effective Agents》的演講,非常受用,學(xué)習(xí)之余結(jié)合自己的工作實踐做了一些總結(jié)。以下是我對他演講的內(nèi)容的總結(jié)和思考。

1. 不要為任何事情都構(gòu)建Agent(Don't build agents for everything)

Barry提到,Agent可以擴(kuò)展復(fù)雜和有價值的任務(wù),但并不是簡單一對一的升級所有類型的任務(wù)。他提到一個是否需要構(gòu)建Agent的簡單的檢查列表:

| 任務(wù)足夠復(fù)雜嗎?| No -> Workflows
Yes -> Agents |
| 任務(wù)有足夠有價值?| <0.1 -> Workflows <br> >1 -> Agents |
| 任務(wù)的所有部分都可以執(zhí)行嗎?| No -> Reduce scope
Yes -> Agents |
| 錯誤和發(fā)現(xiàn)錯誤的代價是什么?| High -> Read-only/human-in-the-loop
Low -> Agents|

非常簡單的一個檢查表??梢钥吹紸gent更適合不差錢,足夠復(fù)雜,同時可以完全自動化的任務(wù)。另外如果你發(fā)現(xiàn)如果Agent執(zhí)行的任務(wù)真的發(fā)生了錯誤,是否能夠接受。如果這些回答都是“是”的話,那么就可以考慮構(gòu)建Agent了。否則,老老實實構(gòu)建自動化workflow。

Tips
用上面的檢查表來看一個實際的例子:為什么說寫代碼的場景最適合用Agent?

  • 任務(wù)足夠復(fù)雜嗎?是的,代碼可以寫的非常復(fù)雜。
  • 任務(wù)有足夠有價值?是的,好的代碼可以節(jié)省大量的時間和金錢。當(dāng)然也可以換回來很多錢。
  • 任務(wù)的所有部分都可以執(zhí)行嗎?是的,例如Claude就可以執(zhí)行代碼。
  • 錯誤和發(fā)現(xiàn)錯誤的代價是什么?可以控制很低。通過Unit-Tests和持續(xù)集成來將錯誤控制在一個可接受的范圍內(nèi)。

2. 保持簡單(Keep it simple)

Agent定義: Agent是模型在循環(huán)里面使用工具。

agent1.png

  • Env: 代表了Agent運(yùn)行的上下文環(huán)境??赡苁且粋€網(wǎng)頁,一臺電腦,或者是一個軟件系統(tǒng)。
  • Tools: 代表了Agent可以使用的工具。可能是一個API,也可能是基于STDIO的本地一個應(yīng)用。
  • System_Prompt:指導(dǎo)模型在一定的環(huán)境上下文中,使用工具來完成任務(wù),從而達(dá)到目的。

基于上面的三個因素來構(gòu)建Agent,并且持續(xù)優(yōu)化這三個因素,可以讓構(gòu)建Agent更高效。

Tips
當(dāng)你給系統(tǒng)提示詞增加2個以上任務(wù)描述要求的時候,你會發(fā)現(xiàn)Agent會出現(xiàn)更大幾率無法遵循你的指令來工作。因為系統(tǒng)提示詞的復(fù)雜度增加了。你可以考慮將復(fù)雜的任務(wù)拆分成多個簡單的任務(wù),并使用多個單一任務(wù)的Agent來完成任務(wù),這樣更高效,同時單個Agent調(diào)試也更可控。

3. 像你的Agent一樣思考(Think like your agent)

看下圖,一個Agent的工作循環(huán)??梢韵胂笠幌拢绻闶茿gent本身是如何思考并執(zhí)行的。類似于你閉上眼睛,一片漆黑,你可以獲得上下文信息只有128K token,多一些的也就只有1~2M,這里面包含了可以使用的Tool的描述。之后你要在有限的信息中開始嘗試執(zhí)行任務(wù)。睜開眼睛看到且僅能看到一個結(jié)果的后,再決定做下一個動作。


Thinkingloop

你的信息永遠(yuǎn)都是有限的。這時候你要考慮你作為Agent,如何才能高效的工作?

Tips
當(dāng)你用上面的方式轉(zhuǎn)變你的視角,你會發(fā)現(xiàn)簡潔高效的系統(tǒng)提示詞是多么的重要。只在必要的時候進(jìn)行推理,畢竟上下文信息有限。這樣你可以最大限度的提高Agent的執(zhí)行準(zhǔn)確率和效果。

總結(jié)與思考

Agent的構(gòu)建是一個復(fù)雜的過程,并且不是所有場景都適合構(gòu)建Agent。當(dāng)你需要考慮到如何讓Agent在有限的信息中做出正確的決策的時候。保持簡單,關(guān)注最重要的因素,才能讓Agent更高效的工作。

視頻鏈接

視頻鏈接

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容