Emergent چیست؟ آموزش ساخت اپلیکیشن با هوش مصنوعی

Emergent پلتفرمی عامل‌محور برای ساخت اپلیکیشن‌های تمام‌پشته با پرامپت است. در این آموزش، یک دستیار پاسخ‌گویی فارسی با React، FastAPI، دیتابیس و API درواره می‌سازیم.

Share
Emergent چیست؟ آموزش ساخت اپلیکیشن با هوش مصنوعی

ابزارهای ساخت برنامه با هوش مصنوعی در حال تغییر شیوه طراحی و توسعه محصولات نرم‌افزاری هستند. در این ابزارها، به‌جای نوشتن تمام کدها از ابتدا، هدف، صفحه‌ها، قابلیت‌ها و جریان‌های برنامه را با زبان طبیعی توضیح می‌دهید و عامل‌های هوش مصنوعی بخش بزرگی از پیاده‌سازی را انجام می‌دهند.

Emergent یکی از پلتفرم‌های این حوزه است که روی ساخت اپلیکیشن‌های تمام‌پشته تمرکز دارد. این پلتفرم می‌تواند رابط کاربری، بک‌اند، دیتابیس، احراز هویت، آزمایش و استقرار برنامه را در یک فرایند گفت‌وگومحور مدیریت کند.

در این آموزش، یک پروژه متفاوت و کاربردی می‌سازیم: دستیار پاسخ‌گویی هوشمند برای مشتریان یک فروشگاه ایرانی. اطلاعات پایه و پرسش‌های متداول در دیتابیس نگهداری می‌شوند و پاسخ‌ها با استفاده از API هوش مصنوعی درواره تولید خواهند شد.

فهرست مطالب

  • Emergent چیست؟
  • Emergent چگونه کار می‌کند؟
  • عامل‌های Emergent چه کاری انجام می‌دهند؟
  • فناوری‌های مورد استفاده Emergent
  • کاربردهای Emergent
  • مقایسه Emergent با Base44، Lovable، Replit و v0
  • آموزش ساخت دستیار پاسخ‌گویی هوشمند
  • طراحی معماری و دیتابیس
  • اتصال Emergent به API درواره
  • ساخت Endpoint با FastAPI
  • اتصال رابط React به بک‌اند
  • آزمایش و رفع خطا
  • اتصال GitHub و انتشار
  • هزینه استفاده از Emergent
  • محدودیت‌ها و اشتباهات متداول
  • پرسش‌های متداول

Emergent چیست؟

Emergent یک پلتفرم توسعه عامل‌محور است که ایده‌های نوشته‌شده با زبان طبیعی را به اپلیکیشن‌های قابل‌اجرا تبدیل می‌کند.

کاربر می‌تواند برنامه موردنظر خود را توضیح دهد و عامل‌های Emergent مراحل مختلف توسعه را انجام دهند:

  • طراحی رابط کاربری
  • ایجاد صفحه‌ها و مؤلفه‌ها
  • ساخت بک‌اند
  • طراحی دیتابیس
  • پیاده‌سازی احراز هویت
  • اتصال APIهای خارجی
  • آزمایش قابلیت‌ها
  • رفع خطا
  • اتصال به GitHub
  • استقرار برنامه
  • اتصال دامنه اختصاصی

طبق معرفی رسمی Emergent، کد تولیدشده متعلق به کاربر است و می‌توان آن را با GitHub همگام‌سازی، دانلود، اصلاح یا روی زیرساخت دیگری میزبانی کرد.

توسعه عامل‌محور یعنی چه؟

در ابزارهای تولید کد ساده، مدل معمولاً یک قطعه‌کد یا پاسخ متنی ارائه می‌کند. در یک محیط عامل‌محور، عامل هوش مصنوعی می‌تواند چند مرحله متوالی را انجام دهد:

  1. نیازمندی را تحلیل کند.
  2. ساختار پروژه را مشخص کند.
  3. فایل‌های لازم را بسازد.
  4. وابستگی‌ها را نصب کند.
  5. برنامه را اجرا کند.
  6. نتیجه را آزمایش کند.
  7. خطاها را تشخیص دهد.
  8. کد را اصلاح کند.
  9. نسخه قابل‌انتشار ایجاد کند.

بنابراین نقش کاربر فقط نوشتن یک درخواست اولیه نیست. کاربر باید نتیجه هر مرحله را بررسی، معیارهای پذیرش را مشخص و عامل را برای اصلاح خروجی هدایت کند.

Emergent چگونه کار می‌کند؟

فرایند معمول ساخت برنامه در Emergent از چند مرحله تشکیل می‌شود.

۱. توضیح ایده

ابتدا هدف محصول، کاربران، صفحه‌ها و قابلیت‌های اصلی را توضیح می‌دهید.

یک دستیار فارسی برای پاسخ‌گویی به مشتریان فروشگاه بساز.
مدیر فروشگاه باید بتواند پرسش‌های متداول را مدیریت کند و
بازدیدکنندگان در یک صفحه گفت‌وگو سؤال خود را بپرسند.

۲. تهیه برنامه اجرایی

عامل Emergent ساختار پروژه و فناوری‌های موردنیاز را تعیین می‌کند. برای پروژه‌های پیچیده بهتر است از عامل بخواهید پیش از کدنویسی، برنامه اجرایی و مدل داده را ارائه کند.

۳. تولید فرانت‌اند و بک‌اند

Emergent می‌تواند رابط React، بک‌اند Node.js یا FastAPI و دیتابیس MongoDB را ایجاد کند. در پروژه‌های موبایل نیز از Expo و React Native استفاده می‌شود. این فناوری‌ها در صفحه رسمی Emergent Enterprise معرفی شده‌اند.

۴. اجرای برنامه

نسخه ایجادشده در محیط پیش‌نمایش اجرا می‌شود. می‌توانید صفحه‌ها، فرم‌ها، درخواست‌های API و جریان ورود کاربران را آزمایش کنید.

۵. اصلاح مرحله‌ای

هر تغییر را بهتر است در یک درخواست مشخص انجام دهید:

  • نقش مدیر را اضافه کن.
  • صفحه مدیریت پرسش‌های متداول را بساز.
  • پیام‌های خطا را فارسی کن.
  • پاسخ‌های دستیار را در دیتابیس ذخیره کن.
  • فقط مدیر بتواند پرسش‌های متداول را حذف کند.
  • نسخه موبایل صفحه گفت‌وگو را اصلاح کن.

۶. انتشار

پس از بررسی سلامت پروژه، می‌توان برنامه را منتشر یا کد آن را به GitHub منتقل کرد.

عامل‌های مختلف Emergent

مستندات ساخت اولین برنامه در Emergent چند عامل را برای نیازهای مختلف معرفی می‌کنند. نام و امکانات این عامل‌ها ممکن است در آینده تغییر کند، اما منطق کلی انتخاب آن‌ها به این صورت است:

  • عامل‌های اصلی برای ساخت محصولات کامل و پیچیده
  • عامل متعادل برای پروژه‌های روزمره
  • عامل دقیق‌تر برای نیازمندی‌های حساس و چندمرحله‌ای
  • عامل Prototype برای ساخت سریع رابط اولیه
  • عامل Mobile برای برنامه‌های iOS و Android

برای یک رابط نمایشی ساده، استفاده از حالت Prototype می‌تواند اعتبار کمتری مصرف کند. برای پروژه‌ای شامل بک‌اند، احراز هویت، دیتابیس و API خارجی باید عامل مناسب ساخت برنامه کامل را انتخاب کنید.

Emergent برای چه افرادی مناسب است؟

Emergent می‌تواند برای این گروه‌ها مفید باشد:

  • بنیان‌گذاران برای ساخت نسخه اولیه محصول
  • صاحبان کسب‌وکار برای ایجاد ابزارهای داخلی
  • مدیران محصول برای آزمایش ایده
  • طراحان برای تبدیل جریان کار به برنامه
  • برنامه‌نویسان برای تولید سریع ساختار اولیه
  • تیم‌های فروش برای ساخت داشبورد و پورتال
  • تیم‌های پشتیبانی برای ایجاد ابزار پاسخ‌گویی
  • آژانس‌ها برای تولید سریع نمونه قابل‌نمایش

نداشتن تجربه برنامه‌نویسی مانع شروع کار نیست؛ اما برای بررسی کیفیت کد، دسترسی‌های دیتابیس، منطق تجاری و آمادگی محصول برای انتشار، دانش فنی همچنان ارزشمند است.

چه برنامه‌هایی می‌توان با Emergent ساخت؟

  • اپلیکیشن تحت وب
  • برنامه موبایل
  • داشبورد مدیریت
  • پورتال مشتریان
  • سامانه مدیریت درخواست
  • ابزارهای هوش مصنوعی
  • فروشگاه اینترنتی
  • برنامه اشتراکی
  • ابزارهای گزارش‌گیری
  • برنامه مدیریت پروژه
  • سایت محتوایی
  • نرم‌افزار داخلی سازمان
  • سامانه رزرو
  • برنامه آموزشی

بر اساس مستندات رسمی Emergent، این پلتفرم قابلیت‌هایی مانند پیش‌نمایش زنده، آزمایش، اتصال GitHub، استقرار و اتصال سرویس‌های خارجی را در فرایند ساخت برنامه قرار می‌دهد.

مقایسه Emergent با Base44، Lovable، Replit و v0

ابزارتمرکز اصلیفناوری و زیرساختمناسب‌تر برای
Emergentساخت عامل‌محور برنامه کاملReact، FastAPI یا Node.js و MongoDBمحصولات تمام‌پشته و برنامه موبایل
Base44ساخت برنامه در محیط یکپارچهبک‌اند و دیتابیس مدیریت‌شدهابزار داخلی و نسخه اولیه محصول
Lovableساخت برنامه وب با پرامپتReact و سرویس‌های متصلنمونه‌سازی سریع محصولات وب
Replit Agentتوسعه و میزبانی یکپارچهمحیط توسعه ابری Replitکاربران خواهان کنترل بیشتر روی محیط اجرا
v0تولید رابط و برنامه Next.jsReact، Next.js و Vercelپروژه‌های مبتنی بر اکوسیستم Vercel

مزیت Emergent در هماهنگی چند عامل برای ساخت، آزمایش و انتشار برنامه است. در مقابل، v0 برای پروژه‌های Next.js و Base44 برای تجربه یکپارچه دیتابیس و بک‌اند مدیریت‌شده گزینه‌های متفاوتی ارائه می‌کنند.

پروژه عملی: ساخت دستیار پاسخ‌گویی هوشمند فروشگاه

برنامه ما دو بخش اصلی دارد.

بخش عمومی

بازدیدکننده می‌تواند:

  • سؤال خود را بنویسد.
  • پاسخ فارسی دریافت کند.
  • پیام‌های قبلی همان گفت‌وگو را مشاهده کند.
  • در صورت کافی‌نبودن پاسخ، درخواست تماس با پشتیبانی ثبت کند.

بخش مدیریت

مدیر می‌تواند:

  • وارد حساب کاربری شود.
  • پرسش‌های متداول را ایجاد و ویرایش کند.
  • دسته‌بندی‌ها را مدیریت کند.
  • گفت‌وگوهای اخیر را مشاهده کند.
  • پاسخ‌های نامناسب را علامت‌گذاری کند.
  • وضعیت درخواست‌های ارجاع‌شده را تغییر دهد.

ساختار فنی

رابط React
    ↓
بک‌اند FastAPI
    ↓
دیتابیس MongoDB
    ↓
API درواره

کلید API فقط در محیط بک‌اند قرار می‌گیرد و هیچ‌گاه به مرورگر ارسال نمی‌شود.

مرحله اول: ایجاد پروژه

یک پروژه جدید در Emergent ایجاد کنید و پرامپت زیر را بنویسید:

یک اپلیکیشن تمام‌پشته فارسی برای پاسخ‌گویی هوشمند به
مشتریان فروشگاه بساز.

فناوری‌های پروژه:
- React برای فرانت‌اند
- FastAPI برای بک‌اند
- MongoDB برای دیتابیس

بخش عمومی شامل یک صفحه گفت‌وگوی کاملاً راست‌چین باشد.
کاربر بتواند سؤال بپرسد و پاسخ را در قالب پیام دریافت کند.

یک پنل مدیریت با احراز هویت ایجاد کن که شامل این قسمت‌ها باشد:
- داشبورد
- مدیریت پرسش‌های متداول
- دسته‌بندی‌ها
- گفت‌وگوهای اخیر
- درخواست‌های ارجاع‌شده به پشتیبانی

طراحی باید فارسی، واکنش‌گرا، مینیمال و حرفه‌ای باشد.
فعلاً برای پاسخ دستیار از داده آزمایشی استفاده کن.
هنوز API خارجی اضافه نکن.

پیش از پیاده‌سازی، معماری، مدل داده و مراحل ساخت را ارائه کن.

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

مرحله دوم: تعریف مدل داده

از Emergent بخواهید این مجموعه‌ها را ایجاد کند.

مجموعه FAQ

  • question
  • answer
  • category
  • keywords
  • is_active
  • created_at
  • updated_at

مجموعه Conversation

  • session_id
  • status
  • started_at
  • last_message_at

مجموعه Message

  • conversation_id
  • role
  • content
  • created_at
  • needs_review

مجموعه SupportRequest

  • conversation_id
  • name
  • phone_or_email
  • description
  • status
  • created_at

پرامپت پیشنهادی:

مدل‌های MongoDB موردنیاز را برای FAQ، Conversation،
Message و SupportRequest ایجاد کن.

برای تمام ورودی‌ها اعتبارسنجی Pydantic قرار بده.
صفحه عمومی فقط اجازه ایجاد پیام و درخواست پشتیبانی داشته باشد.
مدیریت FAQها و مشاهده تمام گفت‌وگوها فقط برای مدیر مجاز باشد.

مرحله سوم: ساخت نسخه آزمایشی

پیش از اتصال مدل هوش مصنوعی، جریان برنامه را با پاسخ‌های آزمایشی بررسی کنید:

  • ایجاد پرسش متداول
  • ویرایش و حذف پرسش
  • ارسال پیام از صفحه عمومی
  • ساخت Conversation
  • ذخیره Message
  • نمایش پاسخ آزمایشی
  • ثبت درخواست پشتیبانی
  • ورود مدیر
  • محدودبودن صفحه مدیریت

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

مرحله چهارم: افزودن متغیرهای محیطی درواره

در تنظیمات Environment Variables پروژه، مقادیر زیر را اضافه کنید:

DARVAREH_API_KEY=your_api_key
DARVAREH_MODEL_ID=your_model_id
DARVAREH_BASE_URL=https://api.darvareh.ir/v1

کلید واقعی نباید در کد React، فایل عمومی یا مخزن GitHub قرار گیرد.

مستندات استفاده از API در Emergent توصیه می‌کنند کلیدهای خصوصی در Environment Variables نگهداری و دسترسی آن‌ها در زمان اجرا بررسی شود.

مرحله پنجم: نصب کتابخانه OpenAI

ازآنجاکه API درواره با ساختار OpenAI سازگار است، در بک‌اند پایتون می‌توان از کتابخانه OpenAI استفاده کرد:

pip install openai

اگر پروژه فایل requirements.txt دارد، این وابستگی را به آن اضافه کنید:

openai

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

فایلی مانند services/darvareh.py ایجاد کنید:

import os
from openai import AsyncOpenAI

api_key = os.getenv("DARVAREH_API_KEY")
model_id = os.getenv("DARVAREH_MODEL_ID")
base_url = os.getenv(
    "DARVAREH_BASE_URL",
    "https://api.darvareh.ir/v1",
)

if not api_key or not model_id:
    raise RuntimeError(
        "Darvareh environment variables are missing."
    )

client = AsyncOpenAI(
    api_key=api_key,
    base_url=base_url,
    timeout=30.0,
)


async def generate_answer(
    question: str,
    faq_context: str,
    conversation_history: list[dict],
) -> str:
    messages = [
        {
            "role": "system",
            "content": (
                "شما دستیار فارسی پشتیبانی فروشگاه هستید. "
                "فقط بر اساس اطلاعات ارائه‌شده پاسخ دهید. "
                "اگر پاسخ در اطلاعات موجود نیست، صادقانه اعلام "
                "کنید و پیشنهاد ارتباط با پشتیبانی بدهید. "
                "از ساختن قیمت، موجودی، شرایط ارسال یا قوانین "
                "تأییدنشده خودداری کنید."
            ),
        },
        {
            "role": "system",
            "content": f"اطلاعات فروشگاه:\n{faq_context}",
        },
        *conversation_history,
        {
            "role": "user",
            "content": question,
        },
    ]

    response = await client.chat.completions.create(
        model=model_id,
        messages=messages,
    )

    answer = response.choices[0].message.content

    if not answer or not answer.strip():
        raise RuntimeError("Empty response from AI model.")

    return answer.strip()

در این ساختار:

  • کلید فقط از متغیر محیطی خوانده می‌شود.
  • مدل از تنظیمات پروژه دریافت می‌شود.
  • اطلاعات FAQ به مدل داده می‌شوند.
  • تاریخچه محدود گفت‌وگو به درخواست اضافه می‌شود.
  • مدل موظف است خارج از اطلاعات فروشگاه ادعا نسازد.

مرحله هفتم: ساخت Endpoint گفت‌وگو

نمونه فایل routes/chat.py:

from fastapi import APIRouter, HTTPException
from pydantic import BaseModel, Field

from services.darvareh import generate_answer

router = APIRouter(prefix="/api/chat", tags=["chat"])


class ChatRequest(BaseModel):
    session_id: str = Field(min_length=8, max_length=100)
    message: str = Field(min_length=2, max_length=1000)


class ChatResponse(BaseModel):
    answer: str
    needs_support: bool = False


@router.post("", response_model=ChatResponse)
async def chat(payload: ChatRequest):
    try:
        # در پروژه واقعی این اطلاعات از MongoDB خوانده می‌شوند.
        faq_context = """
        ساعات پاسخ‌گویی: شنبه تا چهارشنبه، ۹ تا ۱۷
        زمان معمول ارسال: دو تا پنج روز کاری
        امکان مرجوعی: مطابق شرایط درج‌شده در صفحه قوانین
        پیگیری سفارش: از بخش سفارش‌های حساب کاربری
        """

        # در پروژه واقعی آخرین پیام‌های همان session_id
        # از دیتابیس دریافت می‌شوند.
        conversation_history = []

        answer = await generate_answer(
            question=payload.message,
            faq_context=faq_context,
            conversation_history=conversation_history,
        )

        needs_support = "پشتیبانی" in answer

        return ChatResponse(
            answer=answer,
            needs_support=needs_support,
        )

    except Exception as error:
        print(f"Chat endpoint failed: {error}")

        raise HTTPException(
            status_code=500,
            detail=(
                "در حال حاضر امکان دریافت پاسخ وجود ندارد. "
                "کمی بعد دوباره تلاش کنید."
            ),
        )

پس از آزمایش اولیه، از Emergent بخواهید داده ثابت را با اطلاعات واقعی MongoDB جایگزین کند:

Endpoint گفت‌وگو را اصلاح کن.

فقط FAQهای فعال را از MongoDB دریافت کن.
آخرین پیام‌های همان session_id را به‌عنوان تاریخچه بخوان.
پیام کاربر و پاسخ دستیار را در Message ذخیره کن.
تعداد پیام‌های تاریخچه را محدود نگه دار.
در صورت نبود پاسخ مناسب، needs_support را true برگردان.

مرحله هشتم: اتصال Router به FastAPI

در فایل اصلی برنامه:

from fastapi import FastAPI
from routes.chat import router as chat_router

app = FastAPI()

app.include_router(chat_router)

اگر برنامه قبلاً Routerهای مختلف دارد، مسیر جدید را با ساختار موجود پروژه هماهنگ کنید.

مرحله نهم: اتصال رابط React

نمونه تابع ارسال پیام:

async function sendMessage(message: string) {
  setLoading(true);
  setError("");

  try {
    const response = await fetch("/api/chat", {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        session_id: sessionId,
        message,
      }),
    });

    const data = await response.json();

    if (!response.ok) {
      throw new Error(
        data.detail || "دریافت پاسخ ناموفق بود."
      );
    }

    setMessages((current) => [
      ...current,
      {
        role: "user",
        content: message,
      },
      {
        role: "assistant",
        content: data.answer,
      },
    ]);

    if (data.needs_support) {
      setShowSupportForm(true);
    }
  } catch (requestError) {
    setError(
      requestError instanceof Error
        ? requestError.message
        : "خطایی غیرمنتظره رخ داد."
    );
  } finally {
    setLoading(false);
  }
}

هنگام ارسال درخواست:

  • دکمه ارسال را غیرفعال کنید.
  • پیام کاربر را خالی نکنید مگر درخواست پذیرفته شود.
  • وضعیت «در حال نوشتن» نمایش دهید.
  • امکان ارسال چند درخواست هم‌زمان را محدود کنید.
  • خطا را با متن فارسی و قابل‌فهم نمایش دهید.

مرحله دهم: بهبود بازیابی اطلاعات

ارسال تمام FAQها در هر درخواست برای پروژه کوچک قابل‌قبول است، اما با افزایش اطلاعات بهتر است فقط موارد مرتبط انتخاب شوند.

از Emergent بخواهید:

پیش از ارسال درخواست به مدل، FAQهای مرتبط با سؤال را
بر اساس عنوان، کلمات کلیدی و دسته‌بندی انتخاب کن.

حداکثر موارد لازم را به مدل بفرست و FAQهای غیرفعال را
کنار بگذار.

اگر هیچ FAQ مرتبطی پیدا نشد، دستیار نباید پاسخ قطعی بسازد
و باید ارتباط با پشتیبانی را پیشنهاد دهد.

در نسخه پیشرفته‌تر می‌توان از Embedding و جست‌وجوی معنایی استفاده کرد؛ اما برای نسخه اولیه، جست‌وجوی متنی و کلمات کلیدی ساده‌تر و قابل‌کنترل‌تر است.

نوشتن پرامپت بهتر برای Emergent

نتیجه موردنظر را توضیح دهید

به‌جای نام‌بردن از چند فناوری، کاربرد واقعی برنامه را مشخص کنید.

ضعیف:

یک چت‌بات بساز.

بهتر:

یک دستیار پشتیبانی فارسی برای فروشگاه بساز که فقط بر اساس
FAQهای فعال پاسخ دهد، گفت‌وگوها را ذخیره کند و در صورت نبود
پاسخ، درخواست را به پشتیبانی ارجاع دهد.

نقش‌های کاربران را مشخص کنید

توضیح دهید چه کسی به هر بخش دسترسی دارد:

  • بازدیدکننده
  • کاربر ثبت‌نام‌شده
  • کارشناس پشتیبانی
  • مدیر

معیار پذیرش بنویسید

کار زمانی کامل است که:
- سؤال کاربر در دیتابیس ذخیره شود.
- پاسخ فقط از مسیر بک‌اند تولید شود.
- کلید API در فرانت‌اند وجود نداشته باشد.
- FAQهای غیرفعال استفاده نشوند.
- خطای API در رابط مدیریت شود.
- صفحه در موبایل درست نمایش داده شود.

هر مرحله را جداگانه بسازید

ابتدا مدل داده، بعد صفحه مدیریت، سپس صفحه گفت‌وگو و در پایان اتصال مدل را اضافه کنید.

آزمایش پروژه

آزمایش پاسخ موجود

یک FAQ درباره زمان ارسال ایجاد کنید و سؤال زیر را بپرسید:

سفارش من چند روزه ارسال می‌شود؟

پاسخ باید با اطلاعات ثبت‌شده هماهنگ باشد.

آزمایش اطلاعات ناموجود

سؤالی درباره موضوعی بپرسید که در FAQ وجود ندارد. دستیار نباید پاسخ قطعی و ساختگی ارائه کند.

آزمایش FAQ غیرفعال

یک FAQ را غیرفعال کنید و بررسی کنید در پاسخ استفاده نشود.

آزمایش جلسه‌های مختلف

دو session_id ایجاد کنید. پیام‌های یک گفت‌وگو نباید وارد تاریخچه گفت‌وگوی دیگر شوند.

آزمایش ورودی طولانی

پیامی طولانی‌تر از محدودیت تعیین‌شده ارسال کنید. بک‌اند باید آن را رد کند.

آزمایش خطای مدل

شناسه مدل را موقتاً در محیط آزمایشی اشتباه وارد کنید. برنامه باید پیام عمومی نشان دهد و جزئیات داخلی را افشا نکند.

آزمایش نسخه موبایل

نمایش پیام‌های طولانی، فرم پشتیبانی، منو و صفحه مدیریت را روی عرض‌های مختلف بررسی کنید.

اتصال پروژه به GitHub

اتصال GitHub چند مزیت مهم دارد:

  • مالکیت و دسترسی مستقل به کد
  • تاریخچه تغییرات
  • امکان بررسی فایل‌ها
  • توسعه محلی
  • همکاری تیمی
  • امکان استقرار روی زیرساخت دیگر
  • بازگشت به نسخه قبلی

Emergent اعلام می‌کند کد تولیدشده قابل‌انتقال و قابل‌تغییر است. پس از اتصال GitHub بررسی کنید فایل‌های .env در مخزن قرار نگرفته باشند.

فایل .gitignore باید شامل موارد مشابه زیر باشد:

.env
.env.local
.env.production
__pycache__/
node_modules/

انتشار برنامه

پیش از انتشار از قابلیت Health Check یا بررسی سلامت پروژه استفاده کنید. موارد زیر را آزمایش کنید:

  • اجرای موفق فرانت‌اند
  • اجرای موفق بک‌اند
  • اتصال MongoDB
  • موجودبودن Environment Variables
  • پاسخ Endpoint
  • ورود مدیر
  • مجوزهای صفحه مدیریت
  • ایجاد و ویرایش FAQ
  • ذخیره گفت‌وگو
  • نمایش صحیح موبایل

تفاوت پیش‌نمایش و نسخه منتشرشده را جدی بگیرید. تنظیمات Environment Variables، دامنه و مسیرهای API ممکن است در محیط انتشار نیازمند بررسی جداگانه باشند.

هزینه استفاده از Emergent

Emergent از سیستم اعتبار برای ساخت و اصلاح پروژه استفاده می‌کند. طرح‌ها، میزان اعتبار و امکاناتی مانند پروژه خصوصی، GitHub و قابلیت‌های تیمی ممکن است تغییر کنند.

برای اطلاعات به‌روز باید صفحه رسمی Emergent و بخش قیمت‌گذاری آن بررسی شود.

هزینه نهایی پروژه می‌تواند شامل این بخش‌ها باشد:

  • اعتبار ساخت در Emergent
  • هزینه میزبانی یا منابع اضافه
  • دامنه اختصاصی
  • سرویس دیتابیس خارجی در صورت استفاده
  • مصرف API درواره
  • خدمات جانبی مانند ایمیل یا پیامک

اعتبار Emergent برای ساخت برنامه با هزینه اجرای مدل در برنامه نهایی یکسان نیست. پس از انتشار، درخواست‌های کاربران به API درواره به‌صورت جداگانه محاسبه می‌شوند.

محدودیت‌های Emergent

مصرف اعتبار در اصلاحات متعدد

درخواست‌های مبهم و تغییرات رفت‌وبرگشتی می‌توانند اعتبار بیشتری مصرف کنند.

نیاز به بررسی معماری

ساخته‌شدن و اجرای برنامه به‌معنای مناسب‌بودن معماری آن برای مقیاس واقعی نیست.

احتمال تولید قابلیت ناقص

عامل ممکن است ظاهر یک قابلیت را بسازد اما بخشی از منطق، مجوز یا مدیریت خطای آن کامل نباشد.

وابستگی به کیفیت پرامپت

نیازمندی‌های مبهم معمولاً خروجی عمومی یا ناسازگار ایجاد می‌کنند.

تفاوت پیش‌نمایش و Production

تنظیمات دامنه، متغیرهای محیطی و اتصال سرویس‌ها باید در نسخه منتشرشده نیز جداگانه آزمایش شوند.

اشتباهات متداول

ساخت تمام محصول در یک درخواست

پروژه‌های بزرگ را به بخش‌های قابل‌آزمایش تقسیم کنید.

قراردادن کلید API در React

کلید درواره فقط باید در Environment Variables بک‌اند نگهداری شود.

ذخیره‌نکردن کد در GitHub

برای پروژه جدی، نسخه‌ای مستقل از کد و تاریخچه تغییرات نگهداری کنید.

اعتماد به آزمایش ظاهری

بازشدن صفحه کافی نیست. دسترسی‌ها، خطاها، دیتابیس و Endpointها نیز باید آزمایش شوند.

ارسال تمام دیتابیس به مدل

فقط اطلاعات مرتبط و ضروری را در هر درخواست ارسال کنید.

پاسخ قطعی خارج از اطلاعات

دستیار باید در صورت نبود داده، کاربر را به پشتیبانی ارجاع دهد.

چک‌لیست انتشار

  • رابط فارسی و راست‌چین است.
  • نسخه موبایل آزمایش شده است.
  • صفحه مدیریت به احراز هویت نیاز دارد.
  • کاربران عمومی به عملیات مدیریتی دسترسی ندارند.
  • کلید درواره فقط در بک‌اند قرار دارد.
  • فایل‌های .env وارد GitHub نشده‌اند.
  • ورودی‌ها با Pydantic اعتبارسنجی می‌شوند.
  • خطاهای API مدیریت می‌شوند.
  • FAQهای غیرفعال استفاده نمی‌شوند.
  • تاریخچه هر جلسه جدا نگهداری می‌شود.
  • تعداد پیام‌های ارسالی به مدل محدود است.
  • درخواست تکراری کنترل می‌شود.
  • مصرف API پایش می‌شود.
  • نسخه منتشرشده جداگانه آزمایش شده است.
  • کد پروژه در GitHub نگهداری می‌شود.

پرسش‌های متداول

Emergent چیست؟

Emergent یک پلتفرم توسعه مبتنی بر هوش مصنوعی است که با استفاده از پرامپت، اپلیکیشن‌های تحت وب و موبایل را از طراحی تا استقرار ایجاد می‌کند.

آیا Emergent رایگان است؟

Emergent امکان شروع با اعتبار محدود را ارائه می‌دهد. برای ساخت پروژه‌های کامل‌تر و استفاده از امکانات بیشتر ممکن است به طرح پولی نیاز داشته باشید.

آیا برای استفاده از Emergent باید برنامه‌نویسی بلد باشیم؟

برای شروع لزوماً به برنامه‌نویسی نیاز ندارید. برای بررسی معماری، کد، دسترسی داده‌ها و آمادگی محصول واقعی، آشنایی فنی مفید است.

Emergent از چه فناوری‌هایی استفاده می‌کند؟

در پروژه‌های وب معمولاً از React برای رابط، Node.js یا FastAPI برای بک‌اند و MongoDB برای دیتابیس استفاده می‌شود. برنامه‌های موبایل می‌توانند با Expo و React Native ساخته شوند.

آیا می‌توان کد Emergent را دریافت کرد؟

بله. بر اساس اطلاعات رسمی Emergent، کد تولیدشده متعلق به کاربر است و می‌تواند با GitHub همگام‌سازی یا روی زیرساخت دیگری میزبانی شود.

آیا Emergent فقط نمونه اولیه می‌سازد؟

Emergent برای ساخت برنامه‌های تمام‌پشته طراحی شده است؛ اما هر پروژه باید پیش از استفاده واقعی از نظر منطق، دسترسی‌ها، خطاها و مقیاس‌پذیری بررسی شود.

آیا می‌توان Emergent را به API درواره متصل کرد؟

بله. می‌توانید در بک‌اند FastAPI یا Node.js از API سازگار با OpenAI درواره استفاده کنید.

کلید API درواره را کجا ذخیره کنیم؟

کلید باید در Environment Variables بک‌اند ذخیره شود و نباید در کد React یا فایل‌های GitHub قرار بگیرد.

تفاوت Emergent و Lovable چیست؟

Lovable بیشتر برای ساخت سریع برنامه‌های وب شناخته می‌شود. Emergent فرایند عامل‌محورتری برای تولید فرانت‌اند، بک‌اند، دیتابیس، آزمایش و استقرار ارائه می‌کند.

آیا Emergent برنامه موبایل هم می‌سازد؟

بله. عامل Mobile می‌تواند برنامه‌های چندسکویی مبتنی بر Expo و React Native ایجاد کند.

منابع اصلی و معتبر

مقالات مرتبط

جمع‌بندی

Emergent یک محیط عامل‌محور برای تبدیل ایده به اپلیکیشن تمام‌پشته است. این پلتفرم می‌تواند مراحل طراحی، ساخت فرانت‌اند، توسعه بک‌اند، ایجاد دیتابیس، آزمایش و انتشار را در یک گردش کار گفت‌وگومحور انجام دهد.

ترکیب Emergent و API درواره امکان ساخت ابزارهای واقعی مانند دستیار پشتیبانی، تولیدکننده محتوا، تحلیل‌گر اسناد و سامانه پاسخ‌گویی فارسی را فراهم می‌کند. در این معماری، Emergent ساخت برنامه را تسریع می‌کند و درواره دسترسی برنامه به مدل‌های هوش مصنوعی را بر عهده می‌گیرد.

برای دریافت کلید API، مشاهده مدل‌های موجود و افزودن قابلیت‌های هوش مصنوعی به برنامه خود، به وب‌سایت درواره مراجعه کنید.

این مقاله صرفاً با هدف آموزش و اطلاع‌رسانی تهیه شده است. پیش از استفاده عملی، مستندات رسمی سرویس‌ها و صفحه سلب مسئولیت را مطالعه کنید.

Read more

اتوماسیون هوش مصنوعی چیست؟ کاربردها و آموزش ساخت AI Automation

اتوماسیون هوش مصنوعی چیست؟ کاربردها و آموزش ساخت AI Automation

اتوماسیون هوش مصنوعی با ترکیب گردش‌کارهای خودکار و مدل‌های هوش مصنوعی، پردازش متن، دسته‌بندی، استخراج اطلاعات و تصمیم‌های پیشنهادی را خودکار می‌کند. در این راهنما، معماری و ساخت نمونه عملی آن با API درواره را می‌آموزید.

Agentic Commerce چیست؟ آینده خرید با ایجنت هوش مصنوعی

Agentic Commerce چیست؟ آینده خرید با ایجنت هوش مصنوعی

Agentic Commerce شیوه‌ای جدید برای خرید اینترنتی است که در آن ایجنت هوش مصنوعی می‌تواند نیاز کاربر را بفهمد، محصولات را جست‌وجو و مقایسه کند و فرایند خرید را پیش ببرد. در این راهنما با معماری، UCP، ACP و پیاده‌سازی آن با API درواره آشنا می‌شوید.