پرش به محتوا

AI Server Action در Odoo 19 چیست؟ راهنمای اتوماسیون هوشمند

1405/05/20 توسط
AI Server Action در Odoo 19 چیست؟ راهنمای اتوماسیون هوشمند
رهام ایزدی


اتوماسیون یکی از قابلیت‌های مهم Odoo برای کاهش فعالیت‌های دستی و تکراری در سازمان است. با Automation Rules و Server Actionها می‌توان مشخص کرد که هنگام وقوع یک رویداد یا برقرار شدن شرایط خاص، چه عملیاتی به‌صورت خودکار انجام شود.

برای مثال:

اگر یک فرصت فروش برنده شد → پروژه ایجاد کن.

یا:

اگر مبلغ سفارش از مقدار مشخصی بیشتر شد → برای مدیر فعالیت ایجاد کن.

این نوع Automation زمانی بسیار خوب عمل می‌کند که قوانین کسب‌وکار مشخص و قابل تبدیل به شرط باشند.

اما همه تصمیم‌های سازمانی به این سادگی نیستند.

فرض کنید بخواهیم به Odoo بگوییم:

محتوای این سند را بررسی کن، تشخیص بده چه نوع سندی است و براساس محتوای آن تصمیم بگیر چه اقدامی باید انجام شود.

یا:

درخواست مشتری را بخوان، موضوع آن را تشخیص بده و مناسب‌ترین اقدام را انتخاب کن.

در چنین شرایطی دیگر با یک if → then ساده مواجه نیستیم.


اینجاست که AI Server Action در Odoo 19 وارد ماجرا می‌شود.

AI Server Action چیست؟


AI Server Action نوعی Server Action مبتنی بر هوش مصنوعی در Odoo است که می‌تواند Record و Context آن را بررسی کند، Prompt تعریف‌شده را تفسیر کند و تصمیم بگیرد کدام Tool باید اجرا شود و چه Argumentهایی باید به آن داده شود.

نکته مهم اینجاست که AI Server Action لزوماً خودش عملیات نهایی را انجام نمی‌دهد.

نقش اصلی آن تصمیم‌گیری است.

ساختار کلی را می‌توان این‌طور تصور کرد:

Record / Trigger

AI Server Action

Record + Context + Prompt

AI Decision

Tool Selection

Arguments

Tool Execution

Action

طبق معماری Odoo، این فرآیند به دو نقش اصلی تقسیم می‌شود:

Manager → AI Server Action

Worker → AI Tool

این تفکیک یکی از مهم‌ترین مفاهیم AI Server Action است.


server action


Manager و Worker در AI Server Action

برای درک درست این قابلیت ابتدا باید تفاوت Manager و Worker را بدانیم.


AI Server Action؛ نقش Manager

AI Server Action نقش تصمیم‌گیرنده یا Manager را دارد.

Manager:

  • Record را می‌خواند.
  • Context آن را بررسی می‌کند.
  • Prompt را تفسیر می‌کند.
  • Tool مناسب را انتخاب می‌کند.
  • Argumentهای لازم برای Tool را تعیین می‌کند.

اما طبق مستندات رسمی Odoo، AI Server Action مسئول enforce کردن Business Ruleها نیست، مستقیماً Record را تغییر نمی‌دهد و صحت عملیات را نیز تضمین نمی‌کند.

وظیفه اصلی آن Decision Making است.


AI Tool؛ نقش Worker

پس چه چیزی عملیات واقعی را انجام می‌دهد؟

Tool.

Tool در واقع یک Server Action استاندارد است که گزینه Use in AI در بخش Usage آن فعال شده است.

Tool می‌تواند عملیات واقعی مانند موارد زیر را انجام دهد:

  • تغییر Record
  • جابه‌جایی Document
  • افزودن Tag
  • اجرای Python Code
  • تغییر یک Field
  • اجرای Business Logic اختصاصی

Odoo تأکید می‌کند که Business Ruleها باید در منطق خود Tool پیاده‌سازی شوند.

اگر AI یک Tool را انتخاب کند، Tool اجرا خواهد شد مگر اینکه منطق داخلی آن مانع اجرای عملیات شود.

به زبان ساده:

AI تصمیم می‌گیرد.

Tool اجرا می‌کند.


AI Server Action چگونه کار می‌کند؟


Workflow رسمی AI Server Action در Odoo پنج مرحله اصلی دارد:

۱. یک Record باعث Trigger شدن AI Server Action می‌شود.

۲. Prompt با استفاده از Record به‌عنوان Context ارزیابی می‌شود.

۳. AI یکی از Toolهای موجود را انتخاب می‌کند.

۴. AI Argumentهای موردنیاز Tool را مشخص می‌کند.

۵. Tool انتخاب‌شده Python Code یا عملیات تعریف‌شده خود را اجرا می‌کند.

بنابراین AI بین Trigger و اجرای Action قرار می‌گیرد و یک Decision Layer هوشمند به Automation اضافه می‌کند.


تفاوت Server Action معمولی و AI Server Action


در Automation سنتی معمولاً از قبل مشخص می‌کنیم چه اتفاقی باید رخ دهد.

مثلاً:

Stage = Won → Create Project

یا:

Invoice = Paid → Update Status

اما در AI Server Action می‌توان Workflowهایی ایجاد کرد که ابتدا نیاز به تفسیر اطلاعات دارند.

مثلاً:

Document Received

Understand Document

Determine Document Type

Choose Appropriate Tool

Execute Action

تفاوت کلی را می‌توان این‌طور خلاصه کرد:

Automation سنتیAI Server Action
Rule-BasedContext-Aware
مبتنی بر شروط مشخصمبتنی بر Prompt و Context
Action از قبل تعیین شدهAI می‌تواند Tool مناسب را انتخاب کند
مناسب تصمیم‌های قطعیمناسب تصمیم‌های وابسته به محتوا
If → ThenUnderstand → Decide → Execute

بنابراین AI Server Action جای Server Action معمولی را نمی‌گیرد.

بلکه برای نوع دیگری از مسئله طراحی شده است.


یک مثال واقعی: دسته‌بندی هوشمند اسناد


یکی از بهترین نمونه‌ها برای درک AI Server Action، مدیریت Documents است.

فرض کنید روزانه فایل‌های مختلفی وارد Odoo می‌شوند:

  • Invoice
  • Vendor Bill
  • Contract
  • Receipt
  • HR Document
  • Project Document
  • Purchase Document

در Automation سنتی ممکن است قانونی مانند این تعریف کنیم:

اگر Filename شامل Invoice بود → فایل را به پوشه Invoice منتقل کن.

اما اگر فایل این نام را داشته باشد چه؟

scan_28491.pdf

Filename دیگر اطلاعات کافی برای تصمیم‌گیری ندارد.

AI می‌تواند محتوا و Context سند را بررسی کرده و تشخیص دهد که سند چیست.

مثلاً:

New Document

AI Analysis

Document = Vendor Bill

Select Tool

Move / Tag / Rename / Create Bill

اتفاقاً Odoo در مستندات رسمی AI Server Action از نمونه Auto-sort documents in Inbox استفاده می‌کند.

در این مثال AI محتوای Document را بررسی می‌کند و می‌تواند Toolهایی مانند افزودن Tag، انتقال Document به Folder، تغییر نام Document یا ایجاد Invoice/Bill را انتخاب کند. خود AI Server Action سند را جابه‌جا یا Tag نمی‌کند؛ بلکه Tool مناسب را انتخاب می‌کند.


Prompt در AI Server Action چه نقشی دارد؟


Prompt در AI Server Action صرفاً یک سؤال برای ChatGPT نیست.

Prompt مشخص می‌کند:

AI چه چیزی را بررسی کند، هدف Workflow چیست و براساس چه Contextی تصمیم بگیرد.

برای مثال Prompt می‌تواند مفهومی شبیه این داشته باشد:

محتوای Document را بررسی کن، نوع آن را تشخیص بده و مناسب‌ترین Tool را براساس محتوای سند انتخاب کن.

AI سپس Record را به‌عنوان Context دریافت می‌کند و براساس Prompt تصمیم می‌گیرد.

به همین دلیل کیفیت Prompt اهمیت زیادی دارد.

اگر Prompt مبهم باشد، AI ممکن است Tool متفاوتی از آنچه انتظار داریم انتخاب کند. مستندات Odoo نیز نبود Context کافی در Prompt را یکی از دلایل انتخاب Tool غیرمنتظره معرفی می‌کند.

AI Server Action

AI Schema چیست؟


فرض کنید Toolای داریم به نام:

AI: Move to Folder

این Tool برای انتقال Document باید بداند مقصد کدام Folder است.

بنابراین ممکن است به Argument زیر نیاز داشته باشد:

folder_id

AI این Argument را از روی Python Code حدس نمی‌زند.

Argument باید در تنظیمات Tool و قسمت AI Schema تعریف شده باشد.

نام Argument در AI Schema نیز باید دقیقاً با Variable مورد استفاده در Python Code مطابقت داشته باشد.

Description مربوط به Argument به AI کمک می‌کند بفهمد:

  • این Parameter چیست؛
  • چه نوع مقداری انتظار می‌رود؛
  • چه زمانی باید مقدار آن را ارسال کند.

اگر Argument در Usage تعریف نشده باشد، AI نمی‌تواند آن را در اختیار Tool قرار دهد؛ حتی اگر Python Code به آن Variable اشاره کرده باشد.

در نتیجه AI Schema را می‌توان نوعی قرارداد بین AI و Tool در نظر گرفت.


چگونه یک Custom AI Tool در Odoo بسازیم؟


AI Server Action محدود به Toolهای از پیش آماده نیست.

می‌توان Server Action اختصاصی ایجاد کرد و آن را در اختیار AI قرار داد.

فرض کنید می‌خواهیم Toolای بسازیم که Description یک Task را تغییر دهد.

یک نمونه ساده از منطق اجرایی می‌تواند چنین باشد:

record.write({'description': content})

در این مثال Variableای به نام:

content

وجود دارد.

بنابراین باید content در قسمت Usage مربوط به Tool به‌عنوان Argument تعریف شود.

سپس AI می‌تواند هنگام انتخاب این Tool، مقدار مناسب content را تولید و به آن ارسال کند. این همان الگویی است که Odoo برای توضیح ساخت Custom AI Tool در مستندات خود ارائه کرده است.


امنیت در AI Server Action


یکی از مهم‌ترین موضوعات هنگام استفاده از AI Server Action، امنیت و کنترل Business Logic است.

نباید AI Server Action را به معنی:

«دادن دسترسی آزاد Database به AI»

در نظر بگیریم.

معماری مناسب باید چیزی شبیه این باشد:

AI = Decision Layer

Tool = Execution Layer

Business Rules = Control Layer

فرض کنید AI Tool می‌تواند Discount سفارش فروش را تغییر دهد.

اگر حداکثر Discount مجاز شرکت ۲۰ درصد است، نباید فقط داخل Prompt بنویسیم:

بیشتر از ۲۰ درصد تخفیف نده.

محدودیت ۲۰ درصد باید در Business Logic واقعی Tool نیز کنترل شود.

چرا؟

چون Prompt یک Instruction برای AI است؛ اما Business Rule باید در لایه اجرایی enforce شود.

Odoo نیز صراحتاً تأکید می‌کند که AI Server Action خودش Business Ruleها را enforce نمی‌کند و این مسئولیت بر عهده Tool است.

یک اصل مهم برای طراحی این سیستم:

Prompt راهنمای AI است؛ Business Rule محافظ سیستم است.


کاربرد AI Server Action در CRM


فرض کنید Leadهای زیادی از Website، فرم‌ها، کمپین‌ها و کانال‌های دیگر وارد CRM می‌شوند.

Automation معمولی می‌تواند براساس اطلاعات ساختاریافته تصمیم بگیرد:

Expected Revenue > X → High Priority

اما ارزش یا Intent یک Lead همیشه با یک عدد مشخص نمی‌شود.

ممکن است لازم باشد مواردی مانند:

  • متن درخواست مشتری
  • محصول موردنظر
  • نیاز مطرح‌شده
  • اطلاعات Lead
  • Context موجود

بررسی شوند.

Workflow می‌تواند چنین باشد:

New Lead

AI Analysis

Determine Intent

Select Tool

Add Tag / Assign Team / Create Activity

در این حالت AI جای CRM را نمی‌گیرد؛ بلکه یک Decision Layer به Workflow اضافه می‌کند.


کاربرد AI Server Action در Helpdesk


سناریوی دیگری را در Helpdesk تصور کنید.

مشتری Ticket زیر را ارسال می‌کند:

بعد از تأیید سفارش، فاکتور ایجاد نمی‌شود و نمی‌توانم فرآیند فروش را تکمیل کنم.

برای یک Automation ساده، درک مفهوم این متن دشوار است.

اما AI می‌تواند متن Ticket را بررسی کرده و اطلاعاتی مانند موضوع یا Context درخواست را استخراج کند و سپس براساس Toolهای در اختیارش تصمیم بگیرد چه اقدامی مناسب است.

برای مثال:

New Ticket

AI Interpretation

Sales / Invoice Problem

Select Tool

Add Tag / Update Field / Route Ticket

Odoo نیز AI را در Workflowهای پشتیبانی با Automation Rules، AI Fields و Agents ترکیب کرده و امکان استفاده از AI در رویدادهای چرخه عمر Record را فراهم کرده است.

cloud server

کاربرد AI Server Action برای داده‌های غیرساختاریافته


یکی از جذاب‌ترین کاربردهای AI Server Action، ایجاد پل میان Unstructured Data و فرآیندهای ساختاریافته ERP است.

فرض کنید یکی از کارکنان چنین درخواستی ثبت می‌کند:

برای نمایشگاه هفته آینده به ۲۰ بروشور جدید و دو استند نیاز داریم.

این یک متن آزاد است.

اما AI می‌تواند Context آن را تفسیر کند:

Request

AI Interpretation

Marketing Request

Select Tool

Start Appropriate Workflow

در نتیجه اطلاعاتی که در ابتدا فقط یک متن انسانی بوده، می‌تواند وارد یک Business Process ساختاریافته شود.


چه زمانی از AI Server Action استفاده کنیم؟


قرار نیست هر Automation موجود در Odoo را با AI جایگزین کنیم.

اگر فرآیند کاملاً قطعی است:

Invoice Paid → Update Status

احتمالاً استفاده از AI هیچ مزیت خاصی ندارد.

Automation معمولی سریع‌تر، قابل پیش‌بینی‌تر و ساده‌تر است.

اما اگر Workflow چنین ساختاری داشته باشد:

Incoming Information

Understand

Interpret Context

Decide

Select Action

اینجا AI Server Action ارزش بررسی دارد.

یک قانون ساده:

اگر تصمیم را می‌توان با چند شرط مشخص و قطعی تعریف کرد، از Automation معمولی استفاده کنید. اگر تصمیم نیازمند فهم محتوا و Context است، AI Server Action می‌تواند گزینه مناسب‌تری باشد.


چه زمانی AI Server Action انتخاب مناسبی نیست؟


رای Business Ruleهای قطعی استفاده از AI معمولاً ضروری نیست.

مثلاً:

سفارش‌های بیشتر از یک میلیارد تومان باید توسط مدیر فروش تأیید شوند.

این قانون هیچ ابهامی ندارد.

بنابراین:

Amount > 1B → Manager Approval

راه‌حل منطقی‌تری است.

همچنین برای عملیات حساس مانند:

  • تأیید پرداخت
  • حذف اطلاعات
  • تغییر قیمت حساس
  • تأیید قرارداد
  • تغییر Permission
  • عملیات مالی مهم

بهتر است AI را با Business Ruleهای قطعی و Approval انسانی ترکیب کنیم.

هدف هوشمندسازی Automation است، نه حذف کنترل سازمانی.


تفاوت AI Server Action و AI Agent


AI Server Action و AI Agent به یکدیگر مرتبط‌اند اما یک مفهوم نیستند.

AI Server Action بیشتر برای Automation Workflow طراحی شده است.

مثلاً:

Ticket Created → AI Decision → Tool → Action

اما AI Agent یک دستیار هوشمند در Odoo است که می‌تواند زبان طبیعی را درک کند و با استفاده از Topics، Tools و Sources به کاربر کمک کند یا Task انجام دهد.

در ساختار Agent، Topics مشخص می‌کنند Agent چه وظایفی دارد و Tools چه عملیاتی را می‌تواند انجام دهد. Sources نیز اطلاعات موردنیاز Agent را فراهم می‌کنند؛ از جمله PDF، Weblink، Documents و Knowledge Articles.

تفاوت ساده:

AI Server ActionAI Agent
بخشی از Automationدستیار هوشمند
معمولاً با Trigger اجرا می‌شودبا درخواست و تعامل کاربر نیز کار می‌کند
روی Record و Context تصمیم می‌گیردبراساس Prompt، Topic و Sources فعالیت می‌کند
Tool انتخاب می‌کنداز Tools برای انجام Task استفاده می‌کند
مناسب Workflow Automationمناسب Assistant Experience

در نتیجه:

AI Server Action = Automation Intelligence

AI Agent = Intelligent Assistant


تفاوت AI Server Action و AI Field


AI Field قابلیت دیگری در Odoo 19 است که نباید آن را با AI Server Action اشتباه گرفت.

AI Field می‌تواند براساس Context یک Record و Prompt، مقدار یک Field را تولید یا پیشنهاد کند.

مثلاً:

Customer Message

AI Field

خلاصه درخواست مشتری

یا:

Product Information

AI Field

Product Description

Odoo امکان اضافه کردن AI Field از طریق Studio یا Property Field را فراهم کرده و Prompt مشخص می‌کند AI چه اطلاعاتی تولید کند.

بنابراین تفاوت را می‌توان خیلی ساده بیان کرد:

AI Field → Generate Information

AI Server Action → Decide What Action Should Happen

AI Agent → Understand Requests + Use Tools & Sources


خطاهای رایج AI Server Action

هنگام پیاده‌سازی AI Server Action ممکن است با چند مشکل رایج مواجه شوید.


چرا Tools خالی است؟

دو مورد را بررسی کنید:

  • حداقل یک Server Action باید گزینه Use in AI فعال داشته باشد.
  • Tool باید برای همان Model مربوط به AI Server Action تعریف شده باشد.


چرا Tool اجرا شد اما اتفاقی نیفتاد؟

دلایل احتمالی عبارت‌اند از:

  • Python Code بدون ایجاد تغییر پایان یافته است.
  • Argument لازم ارسال نشده یا خالی بوده است.
  • Business Condition موردنیاز در Tool پیاده‌سازی نشده است.


چرا AI ابزار اشتباهی انتخاب می‌کند؟

Odoo سه علت مهم را مطرح می‌کند:

  • Prompt، Context کافی ندارد.
  • چند Tool با Intent مشابه وجود دارند.
  • Constraints کافی در سطح Tool اعمال نشده است.

بنابراین اگر AI Tool اشتباهی انتخاب کرد، سه بخش را بررسی کنید:

Prompt → Tool Design → Business Constraints


Best Practice برای طراحی AI Server Action

برای استفاده حرفه‌ای از AI Server Action بهتر است چند اصل مهم را رعایت کنید.


Toolها را کوچک و مشخص طراحی کنید

به‌جای یک Tool مبهم مانند:

Manage Document

Toolهای مشخص ایجاد کنید:

Move Document

Add Document Tag

Rename Document

Create Vendor Bill

هرچه وظیفه Tool مشخص‌تر باشد، انتخاب آن برای AI نیز واضح‌تر خواهد بود.


Prompt را دقیق بنویسید

Prompt باید هدف Workflow و Context موردنیاز AI را مشخص کند.


AI Schema را دقیق تعریف کنید

Argumentها باید Name و Description واضح داشته باشند و Name آنها با Variable مورد استفاده در Code مطابقت داشته باشد.


Business Rule را داخل Tool enforce کنید

به Prompt برای اجرای محدودیت‌های حساس اعتماد نکنید.

Validation اصلی باید در Business Logic وجود داشته باشد.


برای Ruleهای ساده AI استفاده نکنید

اگر یک Condition ساده مسئله را حل می‌کند، همان Automation استاندارد معمولاً انتخاب بهتری است.

AI Server Action در Odoo 19

از Automation سنتی تا Intelligent Automation


AI Server Action نشان‌دهنده یک تغییر مهم در نحوه طراحی Automation در ERP است.

در Automation سنتی داریم:

Trigger → Condition → Action

اما با AI می‌توانیم به معماری زیر برسیم:

Trigger

Context

AI Interpretation

Decision

Controlled Tool

Business Validation

Action

یعنی Automation دیگر صرفاً براساس Ruleهای ثابت تصمیم نمی‌گیرد و می‌تواند در بخش‌هایی از Workflow، اطلاعات غیرساختاریافته را نیز تفسیر کند.

با این حال، Business Logic و کنترل عملیات همچنان باید در Odoo باقی بماند.


آیا AI Server Action جای Automation معمولی را می‌گیرد؟


خیر.

در واقع بهترین معماری احتمالاً ترکیبی از هر دو است.

برای تصمیم‌های قطعی:

Rule-Based Automation

برای تصمیم‌هایی که نیاز به تفسیر دارند:

AI-Based Decision

و برای عملیات حساس:

Approval / Business Validation

در نتیجه یک Workflow پیشرفته می‌تواند چنین باشد:

Trigger → Rules → AI Decision → Tool → Validation → Action

این رویکرد هم از قدرت AI استفاده می‌کند و هم کنترل فرآیند را حفظ می‌کند.

جمع‌بندی


AI Server Action در Odoo 19 یک لایه تصمیم‌گیری هوشمند به Automationهای Odoo اضافه می‌کند.

AI Record و Context را بررسی می‌کند، Prompt را تفسیر می‌کند و تصمیم می‌گیرد کدام Tool با چه Argumentهایی اجرا شود. در مقابل، Tool مسئول اجرای واقعی عملیات و enforce کردن Business Ruleها است.

بنابراین معماری اصلی آن را می‌توان در یک جمله خلاصه کرد:

Manager تصمیم می‌گیرد؛ Worker اجرا می‌کند.

به همین دلیل AI Server Action را می‌توان یکی از مهم‌ترین قدم‌های Odoo 19 به سمت Intelligent Automation و Agentic ERP دانست.



سؤالات متداول

AI Server Action قابلیتی در Odoo 19 است که اجازه می‌دهد AI هنگام اجرای Workflow، Record و Context را بررسی کرده، Prompt را تفسیر کند و Tool مناسب و Argumentهای آن را انتخاب کند.

در معماری توضیح‌داده‌شده توسط Odoo، AI Server Action نقش Manager و تصمیم‌گیرنده را دارد و Tool یا Worker مسئول اجرای عملیات و تغییر Record است.

در این چارچوب، Tool یک Server Action استاندارد است که Use in AI برای آن فعال شده و منطق اجرایی عملیات را در اختیار دارد.

بله. می‌توان Server Action اختصاصی ایجاد کرد، Argumentهای موردنیاز آن را در AI Schema تعریف کرد و آن را برای استفاده AI در دسترس قرار داد.


AI Server Action در Odoo 19 چیست؟ راهنمای اتوماسیون هوشمند
رهام ایزدی 1405/05/20
بایگانی