Awọn ibeere ifọrọwanilẹnuwo AI jara 6: Sọ awọn ọna ipilẹ mẹta ti AI Agent: ReAct, Plan-and-Solve ati Reflection
Awọn ọna ipilẹ mẹta ti AI Agent: ReAct, Plan-and-Solve ati Reflection
AI Agent jẹ ẹrọ oye ti o le ṣe akiyesi agbegbe, ṣe ipinnu ati ṣe awọn iṣe. Awọn ọna ipilẹ akọkọ mẹta ni: ReAct, Plan-and-Solve ati Reflection. A ṣe apejuwe wọn ni isalẹ, pẹlu awọn fọto ṣiṣan ati awọn apẹẹrẹ koodu.
1. ReAct (Reasoning + Acting)
Ero pataki: Ṣe adapọ ero (Reasoning) ati iṣe (Acting) ni ọna kọnkọ. Agent ni igbesẹ kọọkan kọkọ ronu nipa ipo lọwọlọwọ ati igbesẹ atẹle (ero), lẹhinna ṣe iṣe kan (bi lilo irinṣẹ, wiwa alaye), lẹhinna tẹsiwaju ero da lori abajade.
Fọto ṣiṣan:
[Ipo ibẹrẹ] → [Ero: ronu igbesẹ atẹle] → [Iṣe: ṣe iṣe] → [Wo abajade] → [Ero: imudojuiwọn ero] → ... → [Idahun ikẹhin]
Apẹẹrẹ koodu (pseudocode):
def react_agent(ibéèrè):
àyíká = []
nigba ti ko ti yanju:
# Ero: ṣe ipilẹṣẹ igbesẹ ero
ero = llm.generate_thought(ibéèrè, àyíká)
# Iṣe: yan iṣe da lori ero
iṣe = llm.choose_action(ero)
# Ṣe iṣe, gba akiyesi
akiyesi = execute_action(iṣe)
# Fi ero, iṣe, akiyesi kun si àyíká
àyíká.append((ero, iṣe, akiyesi))
pada idahun_ikẹhin
Apẹẹrẹ:
- Olumulo beere: "Bawo ni oju-ọjọ ṣe wa ni Ilu Beijing loni?"
- Agent ronu: "Mo nilo lati beere API oju-ọjọ, mo nilo orukọ ilu ati ọjọ."
- Iṣe: Pe API oju-ọjọ (paramita: Beijing, loni)
- Akiyesi: Pada "O ṣe, 25°C"
- Ero: "Mo ti gba alaye, mo le dahun."
- Iṣejade: "Oju-ọjọ Beijing loni jẹ o ṣe, 25°C."
2. Plan-and-Solve
Ero pataki: Kọkọ ṣe agbekalẹ ero pipe (Plan), lẹhinna ṣe ni igbesẹ (Solve). Ni ipele ero, a pin iṣẹ-ṣiṣe eka si awọn igbesẹ kekere, ni ipele ṣiṣe, a ṣe ni ọna tẹle, o ṣee ṣe lati ṣatunṣe ero da lori awọn abajade aarin.
Fọto ṣiṣan:
[Iṣẹ-ṣiṣe] → [Ṣe agbekalẹ ero: pin awọn igbesẹ kekere] → [Ṣe igbesẹ 1] → [Ṣe igbesẹ 2] → ... → [Ṣe igbesẹ N] → [Idahun ikẹhin]
Apẹẹrẹ koodu:
def plan_and_solve(iṣẹ_ṣiṣe):
# Ipele ero
ero = llm.generate_plan(iṣẹ_ṣiṣe) # Fun apẹẹrẹ: ["Wa alaye", "Tọ alaye", "Kọ ijabọ"]
àyíká = {}
fun igbesẹ in ero:
# Ṣe igbesẹ kọọkan
abajade = execute_step(igbesẹ, àyíká)
àyíká[igbesẹ] = abajade
# Ṣe akojọpọ abajade
ikẹhin = llm.synthesize(àyíká)
pada ikẹhin
Apẹẹrẹ:
- Iṣẹ-ṣiṣe: "Kọ bulọọgi kan nipa AI Agent"
- Ero:
1. Wa asọye AI Agent ati awọn ilọsiwaju tuntun
2. Ka ki o si tọ awọn koko pataki
3. Kọ ilana bulọọgi
4. Fọwọsi akoonu
5. Ṣe atunṣe ati gbejade
- Ṣiṣe: Ṣe igbesẹ kọọkan ni ọna tẹle, nikẹhin gbejade bulọọgi.
3. Reflection
Ero pataki: Agent lakoko ṣiṣe tabi lẹhin ṣiṣe, ṣe atunyẹwo ihuwasi tirẹ (Reflection), ṣe ayẹwo abajade ati mu awọn iṣe atẹle dara si. Nigbagbogbo pẹlu ibawi ara ẹni, atunṣe aṣiṣe tabi imudara ilana.
Fọto ṣiṣan:
[Iṣe] → [Wo abajade] → [Atunyẹwo: ṣe ayẹwo boya aṣeyọri] → [Ti o ba kuna: ṣatunṣe ilana] → [Tun ṣe iṣe] → ... → [Aṣeyọri]
Apẹẹrẹ koodu:
def reflection_agent(iṣẹ_ṣiṣe):
igbiyanju_ti_o_pọju = 3
fun igbiyanju in range(igbiyanju_ti_o_pọju):
iṣe = llm.generate_action(iṣẹ_ṣiṣe)
abajade = execute(iṣe)
# Atunyẹwo
atunyẹwo = llm.reflect(iṣẹ_ṣiṣe, iṣe, abajade)
ti atunyẹwo['aṣeyọri']:
pada abajade
bí bẹ́ẹ̀ kọ́:
# Da lori atunyẹwo, ṣatunṣe apejuwe iṣẹ-ṣiṣe tabi ilana
iṣẹ_ṣiṣe = atunyẹwo['iṣẹ_ṣiṣe_imudara']
pada None
Apẹẹrẹ:
- Iṣẹ-ṣiṣe: "Ṣe iṣiro 1234 * 5678"
- Iṣe: Ṣe iṣiro taara, gba abajade 7006652
- Atunyẹwo: Ṣayẹwo ilana iṣiro, ri aṣiṣe gbigbe
- Atunṣe: Tun ṣe iṣiro, gba abajade to tọ 7006652 (tọ gangan)
- Ti o ba tun ṣe aṣiṣe, tẹsiwaju atunyẹwo titi o fi tọ.
Akopọ afiwe
| Ọna | Ẹya | Ipo lilo |
|---|---|---|
| ReAct | Ero ati iṣe ni ọna kọnkọ, ṣatunṣe ni gbígbé | Awọn iṣẹ-ṣiṣe ti o nilo ibaraẹnisọrọ alaye ni akoko gidi (bi ibeere, wiwa) |
| Plan-and-Solve | Kọkọ ero lẹhinna ṣe, pipin ni eto | Awọn iṣẹ-ṣiṣe eka ti o ni awọn igbesẹ pupọ (bi kikọ, itupalẹ data) |
| Reflection | Atunyẹwo ara ẹni ati atunṣe, imudara ni atunwi | Awọn iṣẹ-ṣiṣe ti o nilo iṣedede giga (bi iṣiro mathimatiki, ipilẹṣẹ koodu) |
Ni lilo gangan, a maa n ṣe akojọpọ awọn mẹta, fun apẹẹrẹ ReAct pẹlu ẹrọ atunyẹwo, tabi Plan-and-Solve pẹlu atunyẹwo lẹhin igbesẹ kọọkan.
评论
暂无已展示的评论。
发表评论(匿名)