ഒരു സംവാദാത്മക AI ഏജന്റ് ഉള്ളിൽ എങ്ങനെ പ്രവർത്തിക്കുന്നു
OpenClaw-ൽ ഒരു സംഭാഷണ ടേണിന്റെ 6 ഘട്ടങ്ങൾ — യഥാർത്ഥ ലേറ്റൻസി, ഓരോ സംഭാഷണത്തിനുമുള്ള ചെലവ്, ഹാലൂസിനേഷനെതിരായ 4 പ്രതിരോധ നിരകൾ.
Equipe OpenClaw · Time de Engenharia & Produto
A Equipe OpenClaw é formada por engenheiros, designers e especialistas em IA dedicados a construir a melhor plataforma de agentes conversacionais para negócios brasileiros. Combinamos expertise…
ഒരു സംഭാഷണ AI ഏജന്റ് ഉള്ളിൽ എങ്ങനെ പ്രവർത്തിക്കുന്നു (OpenClaw ആർക്കിടെക്ചർ)
ഒരു സംഭാഷണ AI ഏജന്റ് എങ്ങനെ പ്രവർത്തിക്കുന്നു എന്നത് പ്രായോഗികമായി, ഓരോ ടേണിലും? ഈ പോസ്റ്റ് OpenClaw-ന്റെ ബ്ലാക്ക് ബോക്സ് തുറക്കുന്നു: ഉപഭോക്താവിന്റെ സന്ദേശം WhatsApp-ൽ എത്തുന്ന നിമിഷം മുതൽ ഏജന്റ് തിരിച്ചെഴുതുന്ന ടെക്സ്റ്റ് വരെ. ഇത് സാങ്കേതികമായിരിക്കും. പ്രൊഡക്ട് ആർക്കിടെക്ചർ തീരുമാനിക്കുന്നവർക്കും, ഒരു സൊല്യൂഷൻ വാങ്ങാൻ ഉദ്ദേശിക്കുന്നവർക്ക് അതിന്റെ ആഴം വിലയിരുത്താനും, അല്ലെങ്കിൽ സംഭാഷണത്തിന് പിന്നിൽ എന്താണ് സംഭവിക്കുന്നതെന്ന് അറിയാൻ താൽപ്പര്യമുള്ളവർക്കും ഇത് വിലപ്പെട്ടതാണ്.
TL;DR: ഓരോ ടേണും 6 ഘട്ടങ്ങളിലൂടെ കടന്നുപോകുന്നു — ingest, കോൺടെക്സ്റ്റ് റിസോൾവ്, skills തിരഞ്ഞെടുക്കൽ, അടുത്ത ആക്ഷൻ തീരുമാനിക്കൽ, guard-rails-ഓടെ എക്സിക്യൂട്ട്, മെമ്മറി പെർസിസ്റ്റ്. മുഴുവൻ സൈക്കിളും Cloudflare-ന്റെ edge-ൽ <2 സെക്കൻഡിൽ പ്രവർത്തിക്കുന്നു, സ്ഥിരമായ സെർവർ ഇല്ലാതെ.
ആർക്കിടെക്ചർ എന്തുകൊണ്ട് പ്രധാനമാണ്
ഡെമോയിൽ പ്രവർത്തിക്കുന്നതായി തോന്നുന്നതും എന്നാൽ പ്രൊഡക്ഷനിൽ തകരുന്നതുമായ സംഭാഷണ ഏജന്റിന് സാധാരണയായി ഈ 4 പ്രശ്നങ്ങളിൽ ഒന്ന് ഉണ്ടാകും:
- ഉയർന്ന ലേറ്റൻസി — ഉപഭോക്താവ് പ്രതികരണത്തിനായി 8 സെക്കൻഡ് കാത്തിരിക്കുന്നു, സംഭാഷണം മരിക്കുന്നു.
- നിയന്ത്രിക്കാത്ത ഹാലൂസിനേഷൻ — ഏജന്റ് വില, സമയം, പോളിസി എന്നിവ കെട്ടിച്ചമയ്ക്കുന്നു.
- നഷ്ടപ്പെട്ട കോൺടെക്സ്റ്റ് — ഉപഭോക്താവ് 2 ദിവസത്തിന് ശേഷം തിരിച്ചുവരുന്നു, ഏജന്റ് എല്ലാം "മറക്കുന്നു".
- നിയന്ത്രണമില്ലാത്ത ചെലവ് — ഓരോ നീണ്ട സംഭാഷണവും പ്രോംപ്റ്റ് നിറയ്ക്കുന്നു, ടോക്കണിന് നിങ്ങൾ ഭീമമായ തുക നൽകുന്നു.
ഈ 4 എണ്ണവും ആർക്കിടെക്ചർ തിരഞ്ഞെടുപ്പുകളാണ്, മോഡലിന്റെ പരിമിതികളല്ല. ഈ 4 എണ്ണവും ഒഴിവാക്കാനാണ് OpenClaw നിർമ്മിച്ചത് — അത് മനസ്സിലാക്കാനുള്ള വഴി ഒരു ടേണിന്റെ സൈക്കിൾ നോക്കുക എന്നതാണ്.
ഒരു ടേണിന്റെ സൈക്കിൾ (6 ഘട്ടങ്ങൾ)
ഉപഭോക്താവ് ഇപ്പോൾ "quero marcar pra sábado de manhã" എന്ന സന്ദേശം അയച്ചു എന്ന് സങ്കൽപ്പിക്കുക. "received" എന്നതിനും ഏജന്റിന്റെ പ്രതികരണത്തിനും ഇടയിൽ എന്താണ് സംഭവിക്കുന്നത്?
ഘട്ടം 1 — Ingest (edge worker, <50ms)
WhatsApp-ൽ നിന്നുള്ള സന്ദേശം Meta-യുടെ webhook വഴി ഭൂമിശാസ്ത്രപരമായി ഏറ്റവും അടുത്തുള്ള പോയിന്റ് ഓഫ് പ്രസൻസിലെ (PoP) ഒരു Cloudflare Worker-ൽ നേരിട്ട് എത്തുന്നു. ബ്രസീലിൽ, ഇത് സാവോ പോളോ അല്ലെങ്കിൽ റിയോ ആണ്, നെറ്റ്വർക്ക് ലേറ്റൻസി < 20ms.
Worker മൂന്ന് കാര്യങ്ങൾ ചെയ്യുന്നു:
- Webhook-ന്റെ സിഗ്നേച്ചർ വാലിഡേറ്റ് ചെയ്യുന്നു (WABA സീക്രട്ടിനെതിരെ HMAC).
- റിസീവറുടെ ഫോൺ നമ്പർ വഴി ടെനന്റ് ഐഡന്റിഫൈ ചെയ്യുന്നു (
to_numberവഴി multi-tenant). - Payload നോർമലൈസ് ചെയ്യുന്നു — ഓഡിയോ ട്രാൻസ്ക്രിപ്ഷനായി മാറുന്നു, ഇമേജ് വിവരണമായി മാറുന്നു, ലൊക്കേഷൻ
- സംഭാഷണത്തിന്റെ സമീപകാല ചരിത്രം (അവസാനത്തെ N പ്രസക്തമായ ടേണുകൾ).
- ക്ലയന്റിന്റെ ദീർഘകാല മെമ്മറി (മുൻഗണനകൾ, വാങ്ങൽ ചരിത്രം, കുറിപ്പുകൾ).
- ഏജന്റ് സ്റ്റേറ്റ് (പെഴ്സോണ, പ്രവർത്തനക്ഷമമാക്കിയ skills, നിയമങ്ങൾ).
ഇവയെല്ലാം D1-ൽ നിന്നാണ് വരുന്നത് (Cloudflare-ന്റെ വിതരണം ചെയ്ത SQLite). D1 പരമ്പരാഗത Postgres/Mongo-യെ മാറ്റിസ്ഥാപിക്കുന്നു — പരിപാലിക്കാൻ ഡാറ്റാബേസ് സെർവർ ഇല്ല, worker-ൽ നിന്ന് കുറച്ച് ms-ൽ ആക്സസ്, tenant_id വഴി multi-tenant.
പ്രധാന കാര്യം: ഞങ്ങൾ മുഴുവൻ സംഭാഷണവും prompt-ൽ ലോഡ് ചെയ്യുന്നില്ല. OpenClaw-ന്റെ Memory Manager v2 (ഞങ്ങളുടെ ആന്തരിക ഡോക്യുമെന്റേഷനിൽ വിവരിച്ചിരിക്കുന്നത്) നിലവിലെ ടേണിന് പ്രസക്തമായ ടേണുകൾ മാത്രം തിരഞ്ഞെടുക്കുന്നു (അവസാനത്തെ N + ഉയർന്ന സെമാന്റിക് പ്രസക്തിയുള്ള N). ഇത് 100+ ടേണുകളുള്ള സംഭാഷണങ്ങളിൽ പോലും ടോക്കൺ ചെലവ് പ്രവചനാത്മകമായി നിലനിർത്തുന്നു.
ഘട്ടം 3 — Skills തിരഞ്ഞെടുക്കൽ (policy engine, ~20ms)
ഓരോ ഏജന്റിനും ലഭ്യമായ skills-ന്റെ ഒരു കൂട്ടമുണ്ട് — അവന് വിളിക്കാൻ കഴിയുന്ന ഫംഗ്ഷനുകൾ. ഉദാഹരണങ്ങൾ: consultar_calendario, criar_evento, gerar_link_pagamento, consultar_pedido, chamar_humano.
"quero marcar pra sábado de manhã" എന്ന സന്ദേശം ലഭിച്ചാൽ, policy engine ഫിൽട്ടർ ചെയ്യുന്നു:
- കണ്ടെത്തിയ ഉദ്ദേശ്യവുമായി (ഷെഡ്യൂളിംഗ്) അനുയോജ്യമായ Skills.
- സംഭാഷണത്തിന്റെ ഈ ഘട്ടത്തിൽ അനുവദനീയമായ Skills (എല്ലാ skill-ഉം എല്ലായ്പ്പോഴും ലഭ്യമല്ല).
- ഈ tenant പ്രവർത്തനക്ഷമമാക്കിയ Skills (tenant ഇന്റഗ്രേറ്റ് ചെയ്തെങ്കിൽ മാത്രമേ calendar ദൃശ്യമാകൂ).
അവസാനം, സാധ്യമായ 50 എണ്ണമല്ല, ഇവിടെ അർത്ഥമുള്ള 4 എണ്ണം മാത്രം — skills-ന്റെ ഒരു ചെറിയ ഉപവിഭാഗം മോഡലിലേക്ക് കൈമാറുന്നു. ഇത് മോഡൽ തെറ്റായ skill വിളിക്കാനുള്ള സാധ്യത ഗണ്യമായി കുറയ്ക്കുന്നു.
ഘട്ടം 4 — തീരുമാനം (LLM call, 400-1200ms)
ഇപ്പോൾ മോഡൽ പ്രവേശിക്കുന്നു. OpenClaw ഒരു ഫ്രോണ്ടിയർ LLM-ലേക്ക് (Anthropic Claude, OpenAI GPT, Google Gemini — tenant അനുസരിച്ച് കോൺഫിഗർ ചെയ്യാവുന്നത്) ഒരൊറ്റ കോൾ ചെയ്യുന്നു:
- System prompt = ഏജന്റിന്റെ പെഴ്സോണ + നിയമങ്ങൾ + ലഭ്യമായ skills.
- History = ഘട്ടം 2-ൽ തിരഞ്ഞെടുത്ത ടേണുകൾ.
- User message = നിലവിലെ ടേണിന്റെ സന്ദേശം.
മോഡൽ രണ്ടിലൊന്ന് പ്രതികരിക്കുന്നു:
- അന്തിമ പ്രതികരണം (ക്ലയന്റിന് നേരിട്ടുള്ള ടെക്സ്റ്റ്).
- Tool call (നിർദ്ദിഷ്ട പാരാമീറ്ററുകളോടെ ഒരു പ്രത്യേക skill എക്സിക്യൂട്ട് ചെയ്യാനുള്ള അഭ്യർത്ഥന).
"quero marcar pra sábado de manhã" എന്ന ഉദാഹരണത്തിൽ, മോഡൽ സാധാരണയായി ഇത് നൽകുന്നു:
{
"tool": "consultar_calendario",
"args": { "date_range": "2026-04-19 06:00 to 12:00" }
}
ഘട്ടം 5 — Guard-rails-ഓടെ എക്സിക്യൂഷൻ (വേരിയബിൾ, ~100-500ms)
Skill മോഡലിൽ പ്രവർത്തിക്കുന്നില്ല. അത് ഞങ്ങളുടെ കോഡിൽ പ്രവർത്തിക്കുന്നു, അത്:
- പാരാമീറ്ററുകൾ സാധൂകരിക്കുന്നു (date_range-ന് ശരിയായ ഫോർമാറ്റ് ഉണ്ടോ? tenant-ന്റെ നിയമങ്ങൾക്കുള്ളിലാണോ?).
- അനുമതി പരിശോധിക്കുന്നു (ഈ ഏജന്റിന് ഈ കലണ്ടർ അന്വേഷിക്കാൻ അവകാശമുണ്ടോ?).
- കോൾ എക്സിക്യൂട്ട് ചെയ്യുന്നു (ഈ സാഹചര്യത്തിൽ Google Calendar API).
- ഘടനാപരമായ ഫലം മോഡലിലേക്ക് തിരികെ നൽകുന്നു.
ഇത് എന്തുകൊണ്ട് പ്രധാനമാണ്? കാരണം മോഡൽ ഒരിക്കലും ഫലം കെട്ടിച്ചമയ്ക്കുന്നില്ല. കലണ്ടർ [10h, 11h] എന്ന് തിരികെ നൽകിയാൽ, അടുത്ത കോളിലേക്ക് പോകുന്നത് കൃത്യമായി അതുതന്നെയാണ്. skill പരാജയപ്പെട്ടാൽ, മോഡലിന് അത് പരാജയപ്പെട്ടെന്ന് അറിയാം. ഏജന്റ് 9 മണിക്ക് സമയം ഉണ്ടെന്ന് "കണ്ടുപിടിക്കുന്നതിന്" ഇല്ലാത്തപ്പോൾ — പൂജ്യം അപകടസാധ്യത.
സെൻസിറ്റീവ് വിവരങ്ങൾ ഉൾപ്പെടുന്ന കേസുകളിൽ (വില, സമയപരിധി, ക്ലയന്റിന്റെ പേര്), പൈപ്പ്ലൈൻ tool call നിർബന്ധമാക്കുന്നു — മോഡലിനെ സ്വന്തം "അറിവിൽ" നിന്ന് ഉത്തരം നൽകാൻ അനുവദിക്കുന്നില്ല. ഇത് വാണിജ്യ ഏജന്റുകളിൽ ഏറ്റവും സാധാരണമായ ഹാലൂസിനേഷൻ വിഭാഗത്തെ ഇല്ലാതാക്കുന്നു.
ഘട്ടം 6 — പ്രതികരണവും പെർസിസ്റ്റൻസും (~50ms)
skill-ന്റെ ഫലം കൈയിലുള്ളതോടെ, മോഡൽ രണ്ടാമത്തെ കോൾ നടത്തുന്നു — ഇപ്പോൾ ക്ലയന്റിനുള്ള അന്തിമ പ്രതികരണം രൂപപ്പെടുത്താൻ. ഉദാ:
"ശനിയാഴ്ച 10 മണിക്കും 11 മണിക്കും ഉണ്ട്. ഏതാണ് ഇഷ്ടപ്പെടുന്നത്?"
സമാന്തരമായി, worker:
- WhatsApp API വഴി സന്ദേശം തിരികെ അയയ്ക്കുന്നു.
- പൂർണ്ണ ടേൺ (user + assistant + tool calls + ദൈർഘ്യം) D1-ൽ പെർസിസ്റ്റ് ചെയ്യുന്നു.
- ടേൺ പുതിയ വസ്തുത ഉത്പാദിപ്പിച്ചെങ്കിൽ (ഉദാ: "ക്ലയന്റ് ശനിയാഴ്ച ഇഷ്ടപ്പെടുന്നു") ദീർഘകാല മെമ്മറി അപ്ഡേറ്റ് ചെയ്യുന്നു.
- ഒബ്സർവബിലിറ്റി ഇവന്റ് എമിറ്റ് ചെയ്യുന്നു (ലേറ്റൻസി മെട്രിക്, ടോക്കൺ ചെലവ്, എസ്കലേഷൻ നിരക്ക്).
ഇതെല്ലാം സമാന്തരമായി പ്രവർത്തിക്കുന്നു. പെർസിസ്റ്റൻസ് സന്ദേശം അയയ്ക്കുന്നത് ബ്ലോക്ക് ചെയ്യുന്നില്ല — ക്ലയന്റ് D1-നായി കാത്തിരിക്കുന്നില്ല.
ഹാലൂസിനേഷനെതിരായ പ്രതിരോധം എവിടെയാണ്
പ്രൊഡക്ഷനിൽ ഹാലൂസിനേറ്റ് ചെയ്യുന്ന ഏജന്റ് വേഗത്തിൽ വിശ്വാസം നഷ്ടപ്പെടുത്തുന്നു. OpenClaw-ന് 4 പ്രതിരോധ നിരകളുണ്ട്:
- നിർബന്ധിത source-of-truth. വസ്തുതാപരമായ ഡാറ്റ (വില, സമയം, പേര്) എല്ലായ്പ്പോഴും skill-ൽ നിന്ന് വരുന്നു, ഒരിക്കലും മോഡലിൽ നിന്ന് മാത്രമല്ല.
- സെൻസിറ്റീവ് ഡാറ്റയിൽ ഇരട്ട പരിശോധന. ഷെഡ്യൂളിംഗ് പെർസിസ്റ്റ് ചെയ്യുന്നതിന് മുമ്പ് ക്ലയന്റുമായി സ്ഥിരീകരിക്കുന്നു. ആക്സസ് അനുവദിക്കുന്നതിന് മുമ്പ് പേയ്മെന്റ് സ്ഥിരീകരിക്കുന്നു.
- വ്യക്തമായ നെഗറ്റീവ് നിയമങ്ങൾ. ഓരോ ഏജന്റിന്റെയും പെർസോണയിൽ "ഒരിക്കലും X, Y, Z കണ്ടുപിടിക്കരുത്" എന്ന് ഉൾപ്പെടുന്നു — മോഡൽ അനുസരിക്കുന്നു.
- മനുഷ്യനിലേക്ക് ഫാൾബാക്ക്. ഒരു skill-ഉം ചോദ്യം കവർ ചെയ്യാത്തപ്പോൾ, ഏജന്റ് `"ടീമുമായി ഒന്ന്
നല്ല ആർക്കിടെക്ചർ നിങ്ങൾ ബിൽ നോക്കുന്നത് വരെ അദൃശ്യമാണ്. ഓരോ ടേണും 1-2 LLM കോളുകളും + D1 ലുക്കപ്പുകളും നടത്തുന്നു എന്നതിനാൽ, ഒരു പൂർണ്ണ സംഭാഷണത്തിന്റെ (10-15 ടേണുകൾ) സാധാരണ ചെലവ് ഇതാണ്:
Equipe OpenClaw
പ്രസിദ്ധീകരിച്ചത് 2026, മേയ് 28