Alejandro Rioja.
AI Agents

كيف تبني أول وكيل ذكاء اصطناعي خاص بك في 15 دقيقة

Alejandro Rioja
Alejandro Rioja
6 د قراءة
TL;DR

لا تحتاج إلى إطار عمل أو دورة تدريبية أو شهادة دكتوراه. تحتاج إلى Node.js و SDK الخاص بـ Anthropic و25 سطرًا من TypeScript. يبني هذا الدرس وكيلًا حقيقيًا وعاملًا — ملخّص محتوى منظَّم يمكنك نشره على Cloudflare في الجلسة نفسها. الشرط الوحيد المسبق هو مفتاح API مجاني.

نشرة بريدية مجانية

كل أربعاء. أكثر من 28,400 مشترك. بدون حشو.

جدول المحتويات

محدّث في يونيو 2026.

الخلاصة: لا تحتاج إلى إطار عمل أو دورة تدريبية أو شهادة دكتوراه. تحتاج إلى Node.js و SDK الخاص بـ Anthropic و25 سطرًا من TypeScript. يبني هذا الدرس وكيلًا حقيقيًا وعاملًا — ملخّص محتوى منظَّم يمكنك نشره على Cloudflare في الجلسة نفسها. الشرط الوحيد المسبق هو مفتاح API مجاني.

[قراءة المُشغِّل] أكثر ما أسمعه من المؤسسين الذين يريدون الأتمتة باستخدام الذكاء الاصطناعي هو “عليّ أن أتعلّم المزيد أولًا”. لا، لا حاجة لذلك. نمط الوكيل بسيط، وأسرع طريقة لفهمه هي أن تبني واحدًا. إليك المسار الدقيق الذي كنت سأسلكه لو بدأت من الصفر اليوم.

لماذا تخذلك معظم دروس “ابنِ وكيل ذكاء اصطناعي”

فهي إما تستخدم Python (مناسبة لمهندسي تعلّم الآلة، لكنها عائق لكل من سواهم)، أو تخفي الكود الحقيقي خلف إطار عمل مثل LangChain، أو تبني شيئًا مجرّدًا أكثر من اللازم لربطه بعملك الفعلي.

يفعل هذا الدرس ثلاثة أشياء بطريقة مختلفة:

  1. TypeScript فقط — إن سبق لك كتابة JavaScript، يمكنك متابعة هذا
  2. بلا إطار عمل — سترى كل سطر من الكود يتعامل مع النموذج
  3. مُخرَج مفيد — ستبني ملخِّصًا منظَّمًا يمكنك استخدامه فعليًا على رسائل العملاء أو المراجعات أو ملاحظات الاجتماعات

ما الذي ستبنيه

وكيل تلخيص محتوى: الصق أي كتلة نصّية، واحصل في المقابل على ملخّص منظَّم بتنسيق متّسق. طلب HTTP واحد للدخول، وملخّص نظيف واحد للخروج.

لماذا هذا كمشروع أول: النمط — موجِّه النظام + مُدخَل المستخدم ← مُخرَج منظَّم — هو أساس كل وكيل أُشغّله. بدِّل موجِّه النظام وستحصل على مُجيب أسئلة، أو مُعيد صياغة نبرة، أو مُصنِّف، أو مولِّد مسوّدات. تعلّم هذا مرة واحدة وستكون قد تعلّمت 80% مما تفعله الوكلاء في بيئة الإنتاج فعليًا.

المتطلبات المسبقة (دقيقتان)

بلا Docker. بلا بيئة افتراضية. بلا pip install لأي شيء.

الخطوة 1: إنشاء المشروع (دقيقتان)

bash
mkdir my-first-agent && cd my-first-agent
npm init -y
npm install @anthropic-ai/sdk
npm install -D tsx typescript

أضف سكربتًا إلى package.json لتتمكّن من تشغيل الوكيل بسهولة:

json
{
  "scripts": {
    "agent": "tsx agent.ts"
  }
}

الخطوة 2: كتابة الوكيل (5 دقائق)

أنشئ agent.ts والصق هذا:

typescript
import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  apiKey: process.env.ANTHROPIC_API_KEY,
});

const SYSTEM_PROMPT = `You are a precise content summarizer. When given any block of text, return a structured summary in this exact format:

**One-line summary:** <the core point in one sentence>

**Key points:**
- <point 1>
- <point 2>
- <point 3 if applicable>

**Action item (if any):** <one concrete next step, or "None">

Be specific. No filler. Under 150 words total.`;

async function summarize(text: string): Promise<string> {
  const message = await client.messages.create({
    model: "claude-haiku-4-5",
    max_tokens: 512,
    system: SYSTEM_PROMPT,
    messages: [{ role: "user", content: text }],
  });

  const block = message.content[0];
  if (block.type !== "text") throw new Error("Unexpected response type");
  return block.text;
}

const sample = `
  Hey team — following up on the Q2 review meeting.
  We agreed to push the launch to July 15th instead of June 30th
  due to the payment integration delay. Marketing needs the new
  landing page copy by June 20th or we can't start the email campaign.
  Budget for the launch campaign is confirmed at $8,000.
  Please confirm receipt.
`;

const result = await summarize(sample);
console.log(result);

الخطوة 3: تشغيله (دقيقة واحدة)

bash
ANTHROPIC_API_KEY=sk-ant-... npm run agent

المُخرَج المتوقَّع:

code
**One-line summary:** Launch pushed to July 15th due to payment delay; landing page copy needed by June 20th to unblock email campaign.

**Key points:**
- Launch date moved from June 30th to July 15th
- Landing page copy deadline: June 20th (blocks email campaign)
- Campaign budget confirmed at $8,000

**Action item (if any):** Confirm receipt and deliver landing page copy by June 20th.

هذا وكيل ذكاء اصطناعي عامل. مُدخَل حقيقي، موجِّه نظام مخصَّص، مُخرَج منظَّم. المسألة برمّتها 30 سطرًا من الكود.

الخطوة 4: خصِّصه لحالة استخدامك

موجِّه النظام هو الشيء الوحيد الذي يجعل هذا الوكيل خاصًّا بك. إليك ثلاثة بدائل جاهزة للاستبدال المباشر:

مُصنِّف مراجعات العملاء:

code
Classify this customer review as POSITIVE, NEGATIVE, or MIXED.
Then extract the main complaint or praise in one sentence.
Format: SENTIMENT: <label>
RESUME: <one sentence>

نص اجتماع ← بنود الإجراءات:

code
Extract all action items from this meeting transcript.
Format each as: [OWNER if mentioned] [ACTION] by [DEADLINE if mentioned]
If owner or deadline is not stated, leave those fields blank.
Return a numbered list. No preamble.

مُعيد صياغة النبرة لوسائل التواصل:

code
Rewrite this text in a direct, confident, first-person tone for LinkedIn.
Remove hedging language ("I think", "maybe", "sort of").
Keep it under 200 words. Return only the rewritten text, no commentary.

كل واحد من هذه هو الوكيل نفسه المؤلَّف من 30 سطرًا مع موجِّه نظام مختلف. لا تحتاج إلى مشروع جديد لكل منها — فقط حدِّث SYSTEM_PROMPT وأعد التشغيل.

الخطوة 5: النشر في بيئة الإنتاج

السكربت المحلي نموذج أولي. أما الوكيل في بيئة الإنتاج فيعمل وفق جدول زمني أو استجابةً للأحداث. المسار الذي أستخدمه: Cloudflare Workers.

إن Workers مجانية حتى 100 ألف طلب/اليوم، وتُنشَر في ثوانٍ، وتمنحك مُشغِّلات cron وتخزين KV وطوابير دون إدارة أي بنية تحتية.

ثبّت Wrangler وأنشئ هيكل Worker:

bash
npm install -g wrangler
wrangler init my-agent-worker --template worker-typescript
cd my-agent-worker
npm install @anthropic-ai/sdk

خزّن مفتاح API الخاص بك كسرّ (لا تضعه في الكود أبدًا):

bash
wrangler secret put ANTHROPIC_API_KEY

استبدل src/index.ts بما يلي:

typescript
import Anthropic from "@anthropic-ai/sdk";

export default {
  async fetch(request: Request, env: Env): Promise<Response> {
    const { text } = await request.json<{ text: string }>();

    const client = new Anthropic({ apiKey: env.ANTHROPIC_API_KEY });
    const message = await client.messages.create({
      model: "claude-haiku-4-5",
      max_tokens: 512,
      system: YOUR_SYSTEM_PROMPT,
      messages: [{ role: "user", content: text }],
    });

    const block = message.content[0];
    if (block.type !== "text") return Response.json({ error: "Bad response" }, { status: 500 });
    return Response.json({ summary: block.text });
  },
};

انشر:

bash
wrangler deploy

أصبح لديك الآن نقطة نهاية API حيّة على https://my-agent-worker.<your-subdomain>.workers.dev. استدعِها من Zapier أو من سكربت Google Sheets أو من تطبيق جوّال — من أي مكان قادر على إرسال طلب HTTP.

ما الذي تبنيه بعد ذلك

بمجرد أن يعمل لديك النمط الأساسي، يأتي التعقيد بثلاثة أشكال:

استخدام الأدوات (tool use) — دع النموذج يقرّر متى يستدعي واجهات API خارجية. فبدلًا من تشغيل المنطق نفسه دائمًا، يختار النموذج الأداة التي يستدعيها بناءً على المُدخَل. هكذا تبني وكلاء يبحثون أو يكتبون في قواعد البيانات أو يرسلون الإشعارات.

التسلسل (chaining) — مرِّر مُخرَج وكيل ما كمُدخَل لوكيل آخر. يوجّه مُصنِّفٌ إلى مُجيب؛ ويغذّي مُلخِّصٌ مترجمًا. معظم الوكلاء الذين أشغّلهم في بيئة الإنتاج هي سلاسل من خطوتين أو ثلاث، لا استدعاءات منفردة.

مُشغِّلات cron — أضف [triggers] crons = ["0 8 * * *"] إلى wrangler.toml ويعمل وكيلك وفق جدول زمني. بلا استطلاع دوري، بلا خادم يعمل باستمرار. هكذا تعمل خطّ إنتاج المحتوى الذي أستخدمه لتشغيل هذا الموقع.

غطّيت الأنماط الثلاثة جميعها بكود TypeScript كامل في حزمة الوكلاء التي أستخدمها لتشغيل أكثر من 30 وكيلًا في الإنتاج — تلك التدوينة تكمل من حيث تنتهي هذه.

خلاصة المُشغِّل

الفجوة بين “التفكير في بناء وكيل” و”امتلاك وكيل منشور” هي نحو 15 دقيقة و30 سطرًا من الكود. موجِّه النظام هو المنتَج — اصرف طاقتك هناك، لا في اختيار إطار عمل. إن وفّر لك الوكيل ساعة واحدة أسبوعيًا، فهذا يعني 50 ساعة سنويًا. ابنِ النسخة البسيطة أولًا، وانظر إن كانت تستحق جهدها، ثم أضف التعقيد فقط عندما تتطلّبه حالة الاستخدام.

تابع القراءة

احصل على دليل الذكاء الاصطناعي في صندوق بريدك

كل أربعاء. أكثر من 28,400 مشترك. بدون حشو.

↵ لعرض كل النتائج esc esc للإغلاق