偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

100行代碼速通Agent開發(fā)

人工智能
自從23年初??GPT??爆火后,每年都會涌現(xiàn)一些爆火的??AI??概念。今年最火的概念無疑是??Agent??。本文會用一個「100行代碼的Agent框架」講解「Agent的開發(fā)原理」。

大家好,我卡頌

自從23年初GPT爆火后,每年都會涌現(xiàn)一些爆火的AI概念。

今年最火的概念無疑是Agent。

伴隨而來的,是各家都在爭奪「Agent的解釋權」:

  • openAI發(fā)布a-practical-guide-to-building-agents[1]
  • Antropic發(fā)布building-effective-agents[2]
  • langchain作者發(fā)文how-to-think-about-agent-frameworks[3]反駁openAI的觀點(目的是推銷自家的langGraph

這些繁雜的信息無疑加深了開發(fā)者對Agent的理解成本。

實際上,Agent的概念非常簡單。本文會用一個「100行代碼的Agent框架」講解「Agent的開發(fā)原理」。

什么是 PocketFlow?

PocketFlow[4]是一款僅有100行代碼的Agent框架,作者是Zachary Huang[5]。

他的概念非常簡單 —— 所有AI應用的核心流程,本質(zhì)來說是不同復雜度的(graph,一種數(shù)據(jù)結(jié)構(gòu)),由最基本的數(shù)據(jù)結(jié)構(gòu)Node組合而成。

以「AI總結(jié)郵件內(nèi)容」這個場景舉例:

只讓AI總結(jié)郵件內(nèi)容,那么核心流程就是一個Node

如果AI總結(jié)郵件后再生成回復草稿,就是兩個Node組成的Flow

如果要重復總結(jié)多份郵件,就是多個Node重復執(zhí)行,這些Node組成Batch

如果要同時總結(jié)多份郵件,就是多個Node同時執(zhí)行,這些Node組成Parallel。

再考慮一些流程設計,比如:

  • 循環(huán):Node A 與 B 的輸出分別作為對方的輸入。

分支:Node根據(jù)條件與不同Node連接。

當有了這些基礎的結(jié)構(gòu)與流程后,就能組合更復雜的圖。

比如「循環(huán)」和「分支」可以組合成Agent。

下圖是一個「總結(jié)郵件內(nèi)容并生成回復」的Agent,他會分析郵件內(nèi)容、確定是否需要人工審核、草擬回復并不斷迭代優(yōu)化。

一些常用的AI工具也能組合生成,比如下圖是RAG的結(jié)構(gòu):

有了RAG,再結(jié)合循環(huán)能組合成「AI聊天應用中的聊天消息記憶模塊」:

到這里你應該能理解為什么PocketFlow代碼只有100行 —— 他只實現(xiàn)了構(gòu)成AI應用所需的基本數(shù)據(jù)結(jié)構(gòu)。

要開發(fā)任何AI應用,只需要:

  • 了解該應用可以設計為「什么結(jié)構(gòu)的圖」(graph)
  • PocketFlow描述圖結(jié)構(gòu)
  • 實現(xiàn)圖結(jié)構(gòu)、輔助方法、圖的狀態(tài)管理

聽起來是不是有種「庫太簡單,以至于需要開發(fā)者自己寫很多代碼」的感覺?

在AI時代,這恰恰不是問題。

Agentic Coding

由于PocketFlow代碼量極少(100行),這意味著你能將他的源代碼、設計理念、使用方法、案例合并為一條提示詞給到大模型。

通過這條提示詞,現(xiàn)代大模型(比如Claude-sonnet-3.7、Gemini2...)可以輕松掌握PocketFlow使用方法的最佳實踐。

作者還為上述最佳實踐設計了一套稱為Agentic Coding[6]AI輔助開發(fā)模式」。

這套開發(fā)模式是「人類設計」與「AI實現(xiàn)」的協(xié)作模式 —— 人類負責理解需求、定義高層架構(gòu)和評估結(jié)果,AI負責實現(xiàn)細節(jié)和優(yōu)化。

假設我要基于PocketFlow開發(fā)一個mini Cursor,Agentic Coding的流程如下:

  • 我去調(diào)研mini Cursor需要實現(xiàn)哪些功能
  • 與AI協(xié)作確定這些功能對應什么圖結(jié)構(gòu)

對于Cursor應該是Agent結(jié)構(gòu)。

  • 與AI協(xié)作確定工具的類型定義

mini Cursor需要如下工具:

  • codebase_search:語義搜索工具
  • read_file:讀取文件內(nèi)容(或大綱)
  • run_terminal_cmd:代表用戶在終端執(zhí)行命令
  • list_dir:快速列出目錄內(nèi)容
  • 等等
  • AI使用PocketFlow實現(xiàn)我在步驟2確定的圖結(jié)構(gòu)
  • AI實現(xiàn)我在步驟3確定的工具
  • 評估、優(yōu)化效果

就我個人體驗,基于Agentic Coding,開發(fā)mini Cursor我只用了1天時間,結(jié)構(gòu)如下:

核心代碼就是定義不同Node,比如核心Agent、各種工具Node。

再將各個Node連接形成圖。

總結(jié)

所有AI應用的核心流程,本質(zhì)來說是不同復雜度的(graph,一種數(shù)據(jù)結(jié)構(gòu)),由最基本的數(shù)據(jù)結(jié)構(gòu)Node組合而成。

PocketFlow提供了最基本的數(shù)據(jù)結(jié)構(gòu)以及一套「人類設計 + AI實現(xiàn)」的協(xié)作開發(fā)模式Agentic Coding(本質(zhì)是一段可以作為cursor rule的提示詞)。

你可以在cursor(或其他AI IDE)幫助下,快速開發(fā)各種AI應用。

參考資料

[1] a-practical-guide-to-building-agents: https://cdn.openai.com/business-guides-and-resources/a-practical-guide-to-building-agents.pdf。

[2] building-effective-agents: https://www.anthropic.com/engineering/building-effective-agents。

[3] how-to-think-about-agent-frameworks: https://blog.langchain.dev/how-to-think-about-agent-frameworks/。

[4] PocketFlow: https://github.com/The-Pocket/PocketFlow-Typescript。

[5] Zachary Huang: https://github.com/zachary62。

[6] Agentic Coding: https://pocketflow.substack.com/p/agentic-coding-the-most-fun-way-to。

責任編輯:姜華 來源: 魔術師卡頌
相關推薦

2025-05-07 07:17:18

2023-05-04 07:34:37

Rust代碼CPU

2025-07-28 01:10:00

2021-12-16 06:21:16

React組件前端

2017-02-08 14:16:17

C代碼終端

2020-03-26 12:38:15

代碼節(jié)點數(shù)據(jù)

2018-01-10 22:19:44

2023-11-27 07:10:06

日志中間件

2020-08-21 13:40:17

Python代碼人體膚色

2019-05-05 09:46:01

Python代碼神經(jīng)網(wǎng)絡

2015-02-09 10:43:00

JavaScript

2020-08-17 17:10:54

機器學習聚類開發(fā)

2025-01-09 11:15:47

2023-02-01 22:40:38

shellDocker

2015-09-01 16:26:18

Linux內(nèi)核

2020-07-20 09:20:48

代碼geventPython

2015-02-26 14:17:45

2015-10-10 14:33:55

2020-04-10 12:25:28

Python爬蟲代碼

2018-11-26 18:57:58

Python數(shù)據(jù)分析爬取
點贊
收藏

51CTO技術棧公眾號