n8n AI Agent ను మీ స్వంత VPS లో ఎలా నిర్మించాలి?
n8n లో AI Agent నోడ్, Claude మోడల్ క్రెడెన్షియల్స్, HTTP Request టూల్ మరియు మెమరీని సెటప్ చేయడం ఎలాగో తెలుసుకోండి. ఖర్చును నియంత్రించే సెట్టింగ్స్ తో వర్క్ ఫ్లోను రూపొందించండి.
n8n AI agent అంటే ఏమిటి మరియు అది chain తో ఎలా భిన్నంగా ఉంటుంది
n8n AI agent అనేది ఒకే AI Agent నోడ్, దీనికి అనుబంధంగా సబ్-నోడ్లు ఉంటాయి: ఒక చాట్ మోడల్, ఒకటి లేదా అంతకంటే ఎక్కువ టూల్స్, మరియు ఐచ్ఛికంగా మెమరీ. మీరు ఒక లక్ష్యాన్ని సాధారణ భాషలో చెబితే, ఆ మోడల్ ఏ టూల్స్ను, ఏ క్రమంలో పిలవాలో నిర్ణయించుకుని సమాధానం ఇస్తుంది. ఈ క్రింద ఉన్నదంతా ఆ ఒకే ఆలోచన చుట్టూ ఉన్న కాన్ఫిగరేషన్.
Chain దీనికి విరుద్ధంగా పనిచేస్తుంది. ఒక Basic LLM Chain లో మీరు దశలను నిర్ణయిస్తారు, మోడల్ కేవలం టెక్స్ట్ను మాత్రమే పూర్తి చేస్తుంది. Agent లో మోడల్ దశలను నిర్ణయిస్తుంది, కాబట్టి ఒకే ప్రశ్న ఈరోజు ఒక మోడల్ కాల్తో పూర్తవ్వచ్చు, రేపు తొమ్మిది కాల్స్ అవసరం కావచ్చు. ఆ ఒక్క వ్యత్యాసమే ఈ గైడ్లోని ప్రతి సెట్టింగ్ను ప్రభావితం చేస్తుంది.
n8n ఇప్పటికే మీరు నియంత్రించే మెషీన్లో HTTPS వెనుక నడుస్తోందని ఇది భావిస్తుంది. ఒకవేళ అలా లేకపోతే, Docker లో real certificate తో n8n ను self-host చేయడం తో ప్రారంభించండి, ఎందుకంటే మీరు స్టోర్ చేయబోయే API key కి ఆ గైడ్లో పేర్కొన్న encryption-key బ్యాకప్ అవసరం. Agent-యేతర పద్ధతుల కోసం, అంటే webhook summarizers మరియు scheduled classifiers కోసం, Claude మరియు n8n వర్క్ఫ్లో పద్ధతులు చూడండి.
ఇక్కడ ఉన్న ఏ ఫీల్డ్ పేరునైనా నమ్మే ముందు మీ వెర్షన్ను తనిఖీ చేయండి, ఎందుకంటే n8n తన AI నోడ్లను తరచుగా మారుస్తుంటుంది.
docker compose exec n8n n8n --versionఈ గైడ్లోని పేర్లు జూలై 2026 నాటికి n8n ప్రస్తుత స్టేబుల్ వెర్షన్కు అనుగుణంగా ఉన్నాయి. వెర్షన్ 1.82.0 నుండి ప్రతి AI Agent నోడ్ Tools Agent గా నడుస్తుంది, కాబట్టి పాత agent-type డ్రాప్డౌన్ ఇప్పుడు లేదు.
దశ 1: ట్రిగ్గర్ను ఎంచుకోండి
Conversational agent కోసం, Chat Trigger నోడ్ను జోడించండి. మీరు బిల్డ్ చేస్తున్నప్పుడు Make Chat Publicly Available ఆప్షన్ను ఆఫ్ చేసి ఉంచండి, తద్వారా ఎడిటర్ యొక్క చాట్ ప్యానెల్ ద్వారా మాత్రమే దీనిని చేరుకోగలరు. ఏజెంట్ పూర్తయిన తర్వాత మరియు మీరు అథెంటికేషన్ గురించి నిర్ణయం తీసుకున్న తర్వాత దీనిని ఆన్ చేయండి.
Chat Trigger ఏజెంట్కు chatInput అనే ఫీల్డ్ను అందిస్తుంది. ఆ పేరు దశ 3లో ముఖ్యమైనది, మరియు దానిని తప్పుగా నమోదు చేయడం సాధారణంగా జరిగే మొదటి పొరపాటు.
Unattended agent కోసం, దానికి బదులుగా Schedule Trigger లేదా Webhook నోడ్ను ఉపయోగించండి. వీటిలో ఏదీ chatInput ను ఉత్పత్తి చేయదు, కాబట్టి మీరు ప్రాంప్ట్ను మీరే స్వయంగా వ్రాయాల్సి ఉంటుంది.
దశ 2: మోడల్ క్రెడెన్షియల్
కాన్వాస్పై ఒక AI Agent నోడ్ను ఉంచండి. n8n వెంటనే దాని కింద ఖాళీగా ఉన్న Chat Model కనెక్టర్ను చూపిస్తుంది. అక్కడ ఒక Anthropic Chat Model సబ్-నోడ్ను జత చేయండి.
platform.claude.com లోని Anthropic Console లో, Settings మరియు ఆ తర్వాత API Keys విభాగంలో క్రెడెన్షియల్ను సృష్టించండి. ఈ కీ ఒకసారి మాత్రమే కనిపిస్తుంది. API వినియోగానికి టోకెన్ల వారీగా బిల్లు పడుతుంది మరియు ఇది Claude.ai సబ్స్క్రిప్షన్కు సంబంధం లేనిది, కాబట్టి మొదటిసారి రన్ చేసే ముందు ఖాతాలో బిల్లింగ్ సెటప్ అయి ఉండాలి.
కంపెనీకి కాకుండా, ప్రతి ఏజెంట్కు తగిన మోడల్ను ఎంచుకోండి. ఏదైనా సమాచారాన్ని వెతికి నివేదించే ఒకే టూల్ ఉన్న ఏజెంట్ Haiku పై బాగా పనిచేస్తుంది; జూలై 2026 నాటికి దీని ధర మిలియన్ ఇన్పుట్ టోకెన్లకు $1 మరియు మిలియన్ అవుట్పుట్ టోకెన్లకు $5 గా ఉంది. ఏజెంట్కు అనేక టూల్స్ ఉండి, వాటి మధ్య ప్లాన్ చేయాల్సి వచ్చినప్పుడు Sonnet కు మారండి. చౌకైన మోడల్ తప్పుడు టూల్ను నాలుగుసార్లు పిలవడం వల్ల కలిగే నష్టాన్ని మీరు నివారించాలి, ఎందుకంటే ఇది ఖరీదైన మోడల్ సరైన టూల్ను ఒక్కసారి పిలవడం కంటే ఎక్కువ ఖర్చు అవుతుంది.
సబ్-నోడ్ ఆప్షన్లలో Maximum Number of Tokens ను సెట్ చేయండి. ఇది మోడల్ ఇచ్చే ప్రతి సమాధానం యొక్క నిడివిని పరిమితం చేస్తుంది. దీన్ని పెద్ద డిఫాల్ట్ విలువ వద్ద వదిలేస్తే, ఒక గందరగోళమైన రన్ చాలా సుదీర్ఘమైన సమాధానాన్ని ఇచ్చి మీకు ఎక్కువ బిల్లు పడేలా చేయవచ్చు.
n8n డాక్యుమెంటేషన్ నుండి అందరినీ ఇబ్బంది పెట్టే ఒక ముఖ్యమైన విషయం: సబ్-నోడ్లోని ఎక్స్ప్రెషన్లు ఎల్లప్పుడూ మొదటి ఇన్పుట్ ఐటమ్కు మాత్రమే వర్తిస్తాయి, ప్రతి ఐటమ్కు విడివిడిగా పనిచేయవు. ప్రతి ఐటమ్కు సంబంధించిన ఎక్స్ప్రెషన్లను రూట్ నోడ్ యొక్క ప్రాంప్ట్ ఫీల్డ్స్లో ఉంచండి.
దశ 3: ఏజెంట్ అందుకునే ప్రాంప్ట్
AI Agent నోడ్ను తెరవండి. Prompt పారామీటర్లో రెండు సెట్టింగ్లు ఉంటాయి.
- Take from previous node automatically అనేది
chatInputఅనే పేరుతో ఇన్కమింగ్ ఫీల్డ్ వస్తుందని ఆశిస్తుంది. Chat Trigger వెనుక ఇది సరైన ఎంపిక. - Define below అనేది Prompt (User Message) అనే ఫీల్డ్ను చూపిస్తుంది, అక్కడ మీరు స్టాటిక్ టెక్స్ట్ను లేదా ఎక్స్ప్రెషన్ను రాయవచ్చు. Schedule Trigger లేదా Webhook నోడ్ వెనుక ఇది సరైన ఎంపిక.
ముందు భాగంలో Webhook నోడ్ ఉన్నప్పుడు, POST బాడీ $json.body కింద చేరుతుంది, కాబట్టి ప్రాంప్ట్ ఫీల్డ్ ఈ విధంగా కనిపిస్తుంది.
Check the current status of {{ $json.body.service }} and tell me
whether it is up. If it is down, say for how long. No preamble.దశ 4: ఏజెంట్కు ఒక సాధనాన్ని (tool) అందించడం
ఏదైనా టూల్ సబ్-నోడ్ లేని AI ఏజెంట్ నోడ్ రన్ అవ్వడానికి నిరాకరిస్తుంది. ఒకే ఒక పని చేసే సాధనంతో ప్రారంభించండి, ఎందుకంటే సరిగ్గా కాన్ఫిగర్ కాని నాలుగు సాధనాల కంటే, సరిగ్గా పనిచేసే ఒక సాధనం మీకు ఎక్కువ నేర్పుతుంది.
ఏజెంట్ యొక్క Tool కనెక్టర్కు HTTP Request నోడ్ను జత చేయండి. సాధారణ HTTP Request నోడ్ను ఎలా కాన్ఫిగర్ చేస్తారో అలాగే దీన్ని కూడా చేయండి, ఆపై ముందుగా ఒక షెల్ (shell) నుండి ఆ ఎండ్పాయింట్ను పరీక్షించండి.
curl -s -H 'Accept: application/json' \
https://status.example.com/api/status/database | head -c 400ఒకవేళ ఆ curl కమాండ్ ఏదైనా ఎర్రర్ లేదా HTML లాగిన్ పేజీని ఇస్తే, ఏజెంట్ కూడా విఫలమవుతుంది. ఇది నిజానికి URL లేదా అథెంటికేషన్ సమస్య అయినప్పటికీ, మోడల్ సమస్యగా అనిపించవచ్చు. దీన్ని నోడ్లో కాకుండా, షెల్లోనే సరిచేయండి.
టూల్ యొక్క Description ఫీల్డ్ మీ సహోద్యోగుల కోసం రాసే డాక్యుమెంటేషన్ కాదు. ఈ సాధనం అవసరమా కాదా అని నిర్ణయించుకునేటప్పుడు మోడల్ చదివే ఏకైక సమాచారం ఇదే. ఇది ఏమి తిరిగి ఇస్తుందో స్పష్టంగా రాయండి: "Returns the current up or down state and the downtime duration for one monitored service, as JSON."
రిక్వెస్ట్లో కొంత భాగాన్ని మోడల్ ద్వారా పూరించడానికి, $fromAI() ఎక్స్ప్రెషన్ను ఉపయోగించండి. ఇది AI ఏజెంట్ నోడ్కు కనెక్ట్ చేయబడిన టూల్స్లో మాత్రమే పనిచేస్తుంది, Code టూల్లో పనిచేయదు.
{{ $fromAI('service', 'The name of the service to look up', 'string') }}దీని ఆర్గ్యుమెంట్లు key, ఆపై ఐచ్ఛికంగా description, type మరియు defaultValue. కీ (key) 1 నుండి 64 అక్షరాల పొడవు ఉండాలి, ఇందులో అక్షరాలు, అంకెలు, అండర్స్కోర్లు మరియు హైఫన్లు ఉండవచ్చు. రకం (type) అనేది string, number, boolean లేదా json లలో ఒకటి అయి ఉండాలి, డిఫాల్ట్గా string ఉంటుంది. పూర్తి స్థాయి కాల్ ఇలా ఉంటుంది.
{{ $fromAI('limit', 'How many records to return', 'number', 20) }}కీ అనేది ఒక సూచన మాత్రమే, ఇప్పటికే ఉన్న డేటాకు రిఫరెన్స్ కాదు. $fromAI('service') అనేది ఎక్కడి నుండైనా service అనే ఫీల్డ్ను చదవదు. ఇది మోడల్కు "ఒక విలువను తయారు చేసి దానికి service అని పేరు పెట్టు" అని చెబుతుంది. అప్పుడు మోడల్ సంభాషణలో, ఇన్పుట్ డేటాలో మరియు ఇతర టూల్ ఫలితాలలో వెతికి ఒక విలువను కనుగొంటుంది. చాట్ వర్క్ఫ్లోలో అయితే, అది నేరుగా వినియోగదారుని అడగవచ్చు.
వెబ్ సెర్చ్ అనేది సాధారణంగా రెండవ సాధనంగా ఉంటుంది. ఇది కూడా మరొక HTTP ఎండ్పాయింట్ కాబట్టి, మీరు ఇదే నోడ్ను పెయిడ్ సెర్చ్ API కి బదులుగా మీ సొంత SearXNG ఇన్స్టన్స్కు పాయింట్ చేయవచ్చు. అయితే, అది తిరిగి ఇచ్చే ప్రతి పేజీని అన్ట్రస్టెడ్ టెక్స్ట్గా పరిగణించి, మీ ప్రాంప్ట్లో ఉంచుకోవాలి.
Step 5: మెమరీ, మరియు ఏజెంట్ ఎందుకు మర్చిపోతుంది
మెమరీ సబ్-నోడ్ లేకపోతే, ప్రతి సందేశం శూన్యం నుండి మొదలవుతుంది. ఇటీవలి సంభాషణను నిల్వ చేయడానికి Simple Memory సబ్-నోడ్ను జత చేయండి.
దీనికి రెండు పారామీటర్లు ఉంటాయి. Session Key అనేది ఇది ఏ సంభాషణో నిర్ణయిస్తుంది, కాబట్టి వేర్వేరు కీలు ఉన్న ఇద్దరు వినియోగదారులు విడివిడి చరిత్రలను పొందుతారు. Context Window Length అనేది ప్రాంప్ట్లోకి ఎన్ని మునుపటి సంభాషణలు తిరిగి పంపాలో నిర్ణయిస్తుంది.
Context Window Length అనేది నాణ్యతను పెంచే డయల్ మాత్రమే కాదు, ఇది ఖర్చును నిర్ణయించే డయల్ కూడా. ఎందుకంటే గుర్తుంచుకున్న ప్రతి సంభాషణ, తదుపరి ప్రతి కాల్లో ఇన్పుట్ టోకెన్లుగా మళ్లీ పంపబడుతుంది. ఎక్కువ మాట్లాడే ఏజెంట్పై 20 విండో పరిమాణాన్ని ఉంచితే, మీరు అదే ప్రారంభ సందేశాలకు ఇరవై సార్లు చెల్లించాల్సి వస్తుంది.
n8n క్యూ మోడ్ (queue mode) లో నడుస్తున్నప్పుడు, యాక్టివ్ ప్రొడక్షన్ వర్క్ఫ్లోలో Simple Memory పనిచేయదు. ఎందుకంటే చరిత్ర అనేది షేర్డ్ స్టోర్లో కాకుండా, వర్క్ఫ్లో సొంత డేటాలోనే ఉంటుంది. క్యూ-మోడ్ ఇన్స్టన్స్లో, దానికి బదులుగా Postgres Chat Memory సబ్-నోడ్ను ఉపయోగించండి మరియు మెయిన్ ప్రాసెస్ మరియు వర్కర్లు రెండూ చేరుకోగల డేటాబేస్ను దానికి అనుసంధానించండి.
దశ 6: సిస్టమ్ మెసేజ్ (System Message)
ఏజెంట్ యొక్క Options తెరిచి, ఒక System Message ను జోడించండి. ఇక్కడే ఉద్యోగ వివరణ (job description) ఉంటుంది, మరియు వర్క్ఫ్లోలో అత్యంత ప్రభావవంతమైన టెక్స్ట్ ఇదే.
You are an infrastructure status assistant. Always call the status
tool before answering a question about whether something is running.
Never guess. If the tool returns an error, say so and stop."సమాధానం ఇచ్చే ముందు ఎల్లప్పుడూ status టూల్ను కాల్ చేయండి" అనే సూచన ఇక్కడ కీలక పాత్ర పోషిస్తుంది. ఇది లేకపోతే, తనకు సమాధానం తెలుసని భావించే మోడల్ టూల్ను దాటవేసి, తన జ్ఞాపకశక్తి నుండి సమాధానం ఇస్తుంది. మీ ఇన్ఫ్రాస్ట్రక్చర్ మారిన వెంటనే, ఆ సమాధానం తప్పుగా ఉండే అవకాశం ఉంది.
ఏజెంట్ లూప్లో ఎందుకు పడుతుంది, దాన్ని ఆపేది ఏమిటి
Options కింద Max Iterations అనే సెట్టింగ్ ఉంటుంది, దీని డిఫాల్ట్ విలువ 10. ఒక iteration అంటే ఒక మోడల్ కాల్ మరియు దానికి వచ్చిన టూల్ ఫలితాన్ని తిరిగి కాంటెక్స్ట్లోకి పంపడం. కాబట్టి ఒక ఏజెంట్ రన్ అంటే ఒకే API కాల్ కాదు, ఇది పది కాల్స్ వరకు ఉండవచ్చు. ప్రతి కాల్లో పెరుగుతున్న సంభాషణ మొత్తం ఇన్పుట్గా వెళ్తుంది.
దీని విలువను తగ్గించండి. చాలా వరకు సింగిల్-టూల్ ఏజెంట్లు రెండు iterations లోనే పూర్తవుతాయి. 3 లేదా 4 పరిమితిని సెట్ చేయడం వల్ల, లూప్లో పడే ఏజెంట్ అకస్మాత్తుగా ఆగిపోతుంది, దీనిని మీరు ఎగ్జిక్యూషన్ లిస్ట్లో స్పష్టంగా చూడవచ్చు.
మీరు డీబగ్ చేస్తున్నప్పుడు, Return Intermediate Steps ను ఆన్ చేయండి. అప్పుడు ఫైనల్ అవుట్పుట్లో ఏజెంట్ చేసిన టూల్ కాల్స్ కనిపిస్తాయి. "మోడల్ టూల్ను అసలు పిలవలేదు" అనే విషయానికి, "టూల్ ఏ ఉపయోగకరమైన సమాచారాన్ని ఇవ్వలేదు" అనే విషయానికి మధ్య తేడాను గుర్తించడానికి ఇది సహాయపడుతుంది. మీరు లైవ్లోకి వెళ్లే ముందు దీన్ని మళ్ళీ ఆఫ్ చేయండి, ఎందుకంటే ఆ అదనపు స్టెప్స్ ఎండ్ యూజర్కు అనవసరమైన సమాచారం (noise) లాగా ఉంటాయి.
షెల్ నుండి రన్ ఎలా జరుగుతుందో గమనించండి.
docker compose logs -f n8nఅటెండెన్స్ లేని ఏజెంట్ అనవసరంగా ఖర్చు చేయకుండా నిరోధించడం
Chat Trigger వెనుక ఉన్న agent ను ఒక మనిషి పర్యవేక్షిస్తాడు. సమాధానం తప్పుగా కనిపిస్తే ఆ వ్యక్తి దాన్ని ఆపుతాడు. Schedule Trigger వెనుక ఉన్న agent ను ఎవరూ పర్యవేక్షించరు. ఇక్కడ మీరు licence ఖర్చును కాకుండా model వినియోగ ఖర్చును పర్యవేక్షిస్తున్నారు. Agent, tool, memory nodes అన్నీ ఉచిత self-hosted edition లో పనిచేస్తాయి. చెల్లింపు key అవసరమయ్యే features ప్రధానంగా team మరియు governance కు సంబంధించినవే. దీనిపై పూర్తి వివరణ ఎల్లప్పుడూ పనిచేసే VPS పై AI agent ఖర్చు నియంత్రణ లో ఉంది. ఇక్కడ ఎక్కువ పనిని నాలుగు settings నిర్వహిస్తాయి.
- మోడల్ సబ్-నోడ్లో Maximum Number of Tokens ను పరిమితం చేయండి, తద్వారా ఏ ఒక్క ప్రతిస్పందన కూడా ఎక్కువ సమయం తీసుకోదు.
- Max Iterations ను పనిని పూర్తి చేయడానికి అవసరమైన అతి తక్కువ సంఖ్యకు సెట్ చేయండి.
- టూల్ ప్రతిస్పందనలను చిన్నవిగా ఉంచండి. 4,000 లైన్ల JSON blob ను ఇచ్చే టూల్, ఆ మొత్తం డేటాను తదుపరి మోడల్ కాల్లోకి, ఆపై అదే రన్లో జరిగే ప్రతి కాల్లోకి పంపుతుంది.
- ఏజెంట్కు నిజంగా షెడ్యూల్ అవసరమా అని ప్రశ్నించుకోండి. ప్రతి ఐదు నిమిషాలకు ఒకసారి రన్ అయ్యే జాబ్ రోజుకు 288 సార్లు నడుస్తుంది. ఒక రన్కు అయ్యే ఖర్చును, మీరు ఈ సంఖ్యతో గుణించాల్సి ఉంటుంది.
మీరు మార్పులు చేస్తున్నప్పుడు వర్క్ఫ్లోను డీయాక్టివేట్ చేయండి. Schedule Trigger ఉన్న యాక్టివ్ వర్క్ఫ్లో, n8n సేవ్ చేసిన వెర్షన్పై రన్ అవుతూనే ఉంటుంది, ఇది ఎల్లప్పుడూ మీ స్క్రీన్పై ఉన్న వెర్షన్ కాకపోవచ్చు.
FAQ
నా AI Agent నోడ్ ఎందుకు అమలు కావట్లేదు?
AI Agent నోడ్కు ఒక chat model సబ్-నోడ్ మరియు కనీసం ఒక tool సబ్-నోడ్ అవసరం. మోడల్ ఉండి టూల్ లేని నోడ్, ఏ API కాల్ చేయకముందే విఫలమవుతుంది. ఏదైనా ఒక టూల్ను, అది చిన్నదైనా సరే, జత చేసి మళ్ళీ రన్ చేయండి.
ఏజెంట్ సమాధానం ఇస్తోంది, కానీ నా టూల్ను ఎందుకు పిలవడం లేదు?
ఇది దాదాపు ఎప్పుడూ టూల్ యొక్క Description ఫీల్డ్ వల్లనే జరుగుతుంది. మోడల్ ఆ వివరణలను చదివి టూల్స్ను ఎంచుకుంటుంది, కాబట్టి "HTTP Request" వంటి వివరణ ఆ టూల్ ఎప్పుడు ఉపయోగపడుతుందో చెప్పలేదు. ఏ డేటా తిరిగి వస్తుంది మరియు ఏ పరిస్థితిలో అది ఉపయోగకరంగా ఉంటుందో వివరణను తిరిగి రాయండి, ఆపై సమాధానం ఇచ్చే ముందు ఆ టూల్ను పిలవమని ఏజెంట్కు సూచిస్తూ System Message లో ఒక లైన్ జోడించండి.
ఒకే ప్రశ్న ప్రతిసారీ వేర్వేరు ఖర్చును ఎందుకు చూపిస్తుంది?
ఎందుకంటే మోడల్ ఎన్ని అడుగులు (steps) వేయాలో అదే నిర్ణయించుకుంటుంది. ప్రతి iteration లో ఇప్పటివరకు జరిగిన సంభాషణ మొత్తం, మునుపటి టూల్ అవుట్పుట్తో సహా మళ్ళీ పంపబడుతుంది, కాబట్టి నాలుగు iterations తీసుకునే రన్, ఒకే కాల్ కంటే నాలుగు రెట్లు ఎక్కువ ఖర్చు అవుతుంది. Max Iterations అనేది గరిష్ట పరిమితి, మరియు Return Intermediate Steps ఆ రన్ వాస్తవానికి ఎన్ని అడుగులు వేసిందో మీకు చూపిస్తుంది.
ఎడిటర్లో మెమరీ పనిచేస్తోంది కానీ ప్రొడక్షన్లో పనిచేయడం లేదు. ఏమి మారింది?
ఇన్స్టాన్స్ queue mode లో నడుస్తుందో లేదో తనిఖీ చేయండి. Simple Memory హిస్టరీని వర్క్ఫ్లో యొక్క సొంత ఎగ్జిక్యూషన్ డేటాలో నిల్వ చేస్తుంది, ఇది వేరే వర్కర్ ప్రాసెస్కు పంపబడినప్పుడు అందుబాటులో ఉండదు, కాబట్టి యాక్టివ్ ప్రొడక్షన్ వర్క్ఫ్లో దానిని కోల్పోతుంది. దీనికి బదులుగా Postgres Chat Memory సబ్-నోడ్ను వాడండి, ఇది అన్ని వర్కర్లు పంచుకునే డేటాబేస్లో హిస్టరీని భద్రపరుస్తుంది.