Би хэдэн Facebook хуудас ажиллуулдаг. Том зүйл биш, гэхдээ пост бичих, коммент бүрд хариулах, DM-ээр ижилхэн гурван асуултад дахин дахин хариулах гэхэд ачаалал мэдрэгддэг. Cron job-оос ухаантай ямар нэгэн зүйлд даатгаж болохгүй юу гэж бодсоор байлаа. Claude SDK яг тэр зүйл байсан. Facebook-ийн Graph API-тай холбож, хэдэн tool тодорхойлоход пост нийтлэх, коммент модерац хийх, DM-д хариулах бүгдийг өөрөө хийдэг agent бэлэн болно.

Онолын яриа биш. Бодит ажилладаг кодоор тайлбарлая.

Claude SDK Facebook-тай өгөгдлийн урсгалаар холбогдож буй зураг
Claude SDK нь agentic loop-оор дамжуулан Facebook Graph API-тай холбогдоно

Юу бүтээж байгаа вэ?

Санаа нь энгийн. Claude-ийн Messages API tool дуудаж чаддаг. Facebook-ийн Graph API чиний хуудсыг HTTP endpoint-уудаар нээж өгдөг. Чи Claude-ийн шийдвэрүүдийг тэдгээр endpoint руу чиглүүлэх tool-ууд тодорхойлно. Дараа нь Claude-г loop-д оруулна: хуудасны төлөвийг унших, юу хийхээ шийдэх, хийх, үр дүнг шалгах, давтах.

Энэ loop-г Anthropic "agentic loop" гэж нэрлэдэг. Өглөө 9-д, орой 5-д пост тавьдаг хатуу скрипт бичихийн оронд контекст ойлгодог agent авна. Шөнө ирсэн коммент бүрийг уншаад, алинд нь хариулах вэ, уурласан хүнд өөрөөр хариулах уу гэдгийг өөрөө шийднэ.

Claude SDK, Agentic Loop, Facebook endpoint-уудын архитектурын диаграм
Бүтэн pipeline: зүүн талд Claude SDK, голд tool тодорхойлолт, баруун талд Facebook Graph API
4
Loop-ийн алхам
15+
MCP tool-ууд
6
FB зөвшөөрөл

Agentic loop алхам алхмаар

Бүх автоматжуулалт ижил хэв маягаар эхэлнэ. Claude-д prompt болон ашиглаж болох tool-уудын жагсаалт өгнө. Claude prompt-г уншаад, tool сонгож, ямар аргумент дамжуулахыг хэлнэ. Чи тэр tool-г ажиллуулна (Facebook API руу хүсэлт явна), үр дүнг Claude руу буцааж дамжуулна. Claude дараагийн юу хийхээ шийднэ. Хийх зүйл дуустал давтана.

Agentic loop-ийн 4 алхмыг харуулсан тойрог диаграм
Дөрвөн алхамт agentic loop: prompt, шийдвэр, гүйцэтгэл, шинжилгээ

TypeScript дээр loop ойролцоогоор ингэж харагдана:

const tools = [
  {
    name: "get_page_posts",
    description: "Facebook хуудасны сүүлийн постуудыг татах",
    input_schema: {
      type: "object",
      properties: {
        limit: { type: "number", description: "Татах постын тоо" }
      }
    }
  },
  {
    name: "reply_to_comment",
    description: "Тодорхой коммент-д хариулах",
    input_schema: {
      type: "object",
      properties: {
        comment_id: { type: "string" },
        message: { type: "string" }
      },
      required: ["comment_id", "message"]
    }
  }
];

// Agentic loop
let messages = [{ role: "user", content: prompt }];

while (true) {
  const response = await client.messages.create({
    model: "claude-opus-4-6",
    max_tokens: 4096,
    tools,
    messages
  });

  if (response.stop_reason === "end_turn") break;

  // Claude-ийн хүссэн tool бүрийг ажиллуулах
  const toolCalls = response.content.filter(b => b.type === "tool_use");
  messages.push({ role: "assistant", content: response.content });

  const results = await Promise.all(
    toolCalls.map(tc => executeFacebookTool(tc.name, tc.input))
  );

  messages.push({
    role: "user",
    content: results.map((r, i) => ({
      type: "tool_result",
      tool_use_id: toolCalls[i].id,
      content: r
    }))
  });
}

Тэр executeFacebookTool функц нь Facebook-ийн Graph API руу хүсэлт явуулдаг хэсэг. Tool нэр бүр тодорхой endpoint руу чиглэнэ. get_page_posts нь /{page-id}/feed руу хандана. reply_to_comment нь /{comment-id}/comments руу хандана. Claude HTTP дуудлагыг мэдэх шаардлагагүй. Зүгээр л tool сонгоод, үр дүнг уншина.

Энэ хэв маягийн гоо нь юу вэ гэхээр Claude оюун ухааныг хариуцаж, чиний код зөвхөн сантехникийн ажлыг хариуцна. "Хэрэв коммент сөрөг бол X хий" гэсэн салаалсан логик бичих шаардлагагүй. Claude комментыг уншаад, аяс өнгийг ойлгоод, зөв үйлдлийг өөрөө сонгоно.

MCP ашиглаад boilerplate-аас зугтах

Tool тодорхойлолтыг гараар бичих нь ажилладаг, гэхдээ илүү хурдан зам бий. Model Context Protocol (MCP) нь бэлэн tool server-үүдийг Claude-д залгах боломж өгдөг. Facebook-д зориулсан нэгийг нь хэн нэгэн аль хэдийн бүтээчихсэн.

HagaiHen-ийн бүтээсэн open-source facebook-mcp-server нь 15-аас дээш tool-г шууд ашиглах боломжтой болгодог. Суулгаад, page access token-оо зааж өгөхөд Claude чиний хуудсыг удирдаж эхэлнэ. Өөрийн tool бичих шаардлагагүй.

MCP Server Claude-г Facebook tool-уудтай холбож буй зураг
MCP server нь гүүр болж, Facebook-ийн үйлдлүүдийг Claude шууд дуудах боломжтой tool болгон нээнэ
пост удирдлага

Нийтлэх, товлох

post_to_facebook, post_image_to_facebook, schedule_post, update_post, delete_post — хуудасны timeline дээрх бүрэн хяналт.

модерац

Коммент зохицуулах

filter_negative_comments, reply_to_comment, hide_comment, bulk_delete_comments, bulk_hide_comments — сэтгэл хөдлөл таних чадвартай модерац.

аналитик

Тоо баримт унших

get_post_impressions, get_post_clicks, get_post_reactions_breakdown, get_page_fan_count, get_post_top_commenters — Meta Business Suite нээхгүйгээр аналитик.

мессеж

DM-д хариулах

send_dm_to_user — Claude ирсэн мессежийг уншаад, FAQ эсвэл мэдлэгийн сангаас хариулт олж өгнө. Чадахгүй бол HUMAN_AGENT tag-аар хүнд шилжүүлнэ.

Claude Agent SDK-аар үүнийг тохируулах нь хэдхэн мөр:

import { query } from "@anthropic-ai/claude-agent-sdk";

for await (const message of query({
  prompt: "Сүүлийн 24 цагийн комментуудыг шалга. "
    + "Асуултуудад хариулж, спам нуу, "
    + "эргэлзээтэй зүйлийг тэмдэглэ.",
  options: {
    mcpServers: {
      facebook: {
        command: "npx",
        args: ["facebook-mcp-server"]
      }
    },
    permissionMode: "default"
  }
})) {
  if ("result" in message) console.log(message.result);
}

Ингээд л болоо. Claude MCP server-тэй холбогдож, tool-уудыг олоод, комментуудыг боловсруулж эхэлнэ. permissionMode: "default" гэсэн тохиргоо нь коммент устгах гэх мэт аюултай үйлдлийн өмнө асуух гэсэн үг. "acceptEdits"-аар сулруулж, "plan"-аар чангаруулж болно.


Цаг идэж буй дөрвөн зүйл

Claude чамаас юуг авч чадах вэ? Нарийвчлая.

01

Контент нийтлэх

/{page-id}/feed endpoint

System prompt-д брэндийн удирдамж өгөхөд Claude чиний өнгө аясаар пост бичнэ. Сүүлд юу сайн ажилласныг шалгаж, сэдэв давтахгүй, хамгийн тохиромжтой цагт товлох боломжтой. pages_manage_posts, pages_read_engagement зөвшөөрөл хэрэгтэй.

02

Коммент модерац

/{comment-id} endpoint

Claude коммент бүрийг уншаад, сэтгэл хөдлөлийг ойлгоно. Жинхэнэ асуултад тусламжтай хариулт өгнө. Спамыг нуулна. Доромжлолыг устгана. Эргэлзээтэй тохиолдлуудыг чамд шилжүүлнэ. pages_manage_engagement, pages_read_user_content хэрэгтэй.

03

Messenger хариулт

Send API /messages endpoint

DM бол хэрэглэгч хурдан хариулт хүлээдэг газар. Claude яриаг уншаад, FAQ эсвэл бүтээгдэхүүний баримтаас (RAG-аар) мэдээлэл татаж, хариулна. Хүрээнээсээ гарвал HUMAN_AGENT tag-аар хүнд дамжуулна. pages_messaging хэрэгтэй.

04

Аналитик ба тайлан

Page Insights endpoints

Claude impression, click, reaction, share, fan count татна. Постууд дундаас дата нэгтгэж, чиг хандлага олж, хураангуй гаргана. Том хэмжээний датаг programmatic tool calling-аар боловсруулдаг тул context window дүүрдэггүй.


Meta-аас авах зөвшөөрлүүд

Claude ямар нэг зүйл хийхийн өмнө Meta app-д тодорхой Graph API зөвшөөрлүүд хэрэгтэй. Бүрэн жагсаалтыг тус бүрийн боломжтой нь хамт үзүүлье:

Зөвшөөрөл Юуг зөвшөөрөх вэ
pages_show_list Удирддаг хуудсуудын жагсаалтад хандах. Бусад бүгдийн суурь зөвшөөрөл.
pages_read_engagement Пост, мэдээлэл, дагагчдын дата унших. Аналитик tool-уудад заавал хэрэгтэй.
pages_read_user_content Хэрэглэгчийн комментуудыг унших. Хэрэглэгчийн коммент устгахад ч хэрэгтэй.
pages_manage_posts Хуудсан дээр пост үүсгэх, засах, нийтлэх, устгах.
pages_manage_engagement Коммент үүсгэх, засах, нуух, устгах.
pages_messaging Inbox яриа унших, Send API-аар DM илгээх.

Намайг гацаасан нэг зүйл: богино хугацааны user token биш, урт хугацааны page access token хэрэгтэй. User token нэг цагийн дараа дуусна. OAuth flow-оор урт хугацааны token руу хөрвүүлж, дараа нь дуусгавар хугацаагүй page token авна. n8n-д token шинэчлэлийг автоматжуулах сайн template бий.


Хүнд шийдвэрлүүлэх үе

AI agent-г олон нийтийн хуудсан дээр хяналтгүй ажиллуулах нь миний хувьд хүлээн зөвшөөрөхгүй зүйл. Claude муу юм хийдэг учраас биш, буруу үйлдлийн үнэ (бодит хэрэглэгчийн комментыг устгах, хямралын үед тохиромжгүй пост нийтлэх) хэт өндөр учраас.

Практикт юу ажилладаг вэ:

AI 85%-ийг зохицуулж, 15%-ийг хүнд шилжүүлж буй human-in-the-loop диаграм
Итгэлцлийн түвшинд суурилсан чиглүүлэлт: agent ердийн үйлдлийг зохицуулж, тодорхойгүй зүйлийг хүнд дамжуулна
  1. Асинхрон аудит. Claude-г бодит цагт модерац хийлгэ, гэхдээ шийдвэр бүрийг шалтгааны хамт лог-д бичүүл. Өдөр бүр лог шалга. Ингэснээр системтэй алдааг (жишээ нь сарказмыг байнга буруу ангилах) олж тогтоох боломжтой. Олон коммент ирдэг хуудсуудад тохиромжтой.
  2. Итгэлцлийн түвшинд суурилсан чиглүүлэлт. Босго тогтоо, жишээ нь 80%. Claude комментыг спам гэдэгт итгэлтэй бол автоматаар нуулна. Эргэлзээтэй бол зогсоод, хүний хяналтын дараалалд илгээнэ. Миний туршлагаар хүний хяналт нийт үйлдлийн 10-15% орчим байвал хангалттай.
  3. Буцаах боломжгүй үйлдэлд синхрон зөвшөөрөл. Хэрэглэгч хориглох, олон engagement-тай пост устгах, VIP хэрэглэгчид DM илгээх зэрэгт заавал хүний зөвшөөрөл авах хэрэгтэй. Claude үйлдлийг санал болгож, шалтгаанаа тайлбарлаад, баталгаажуулалт хүлээнэ.

Claude Agent SDK үүнийг хялбар болгодог. permissionMode сонголт нь Claude-д хэр их бие даасан байдал өгөхийг тодорхойлно. "default" тавьбал устгах зэрэг аюултай үйлдлийн өмнө асууна. "plan" тавьбал Claude зөвхөн санал болгох боломжтой, гүйцэтгэхгүй. Итгэлцлийн түвшинг чи сонгоно.


Модерацын сесс ямар харагдах вэ

Өглөө Claude-д prompt өгөхөд шөнийн комментуудыг боловсруулж эхэлнэ:

ЧИ

Хуудасны сүүлийн 12 цагийн комментуудыг шалга. Жинхэнэ асуултуудад тусламжтай хариулж, спамыг нуугаад, эргэлзээтэй зүйлийг надад шилжүүл.

CLAUDE

Сүүлийн постууд болон тэдгээрийн комментуудыг татаж эхэлье. [get_page_posts, дараа нь пост бүрд get_post_comments дуудна]

CLAUDE

8 постоос 47 шинэ коммент олдлоо. Задлахад: 31 нь эерэг/төвийг сахисан, 9 нь асуулт, 4 нь спам (крипто/мөрийтэй тоглоомын линкүүд), 2 нь доромжлол, 1 тодорхойгүй. Боловсруулж байна.

CLAUDE

Дууслаа. 9 асуултад FAQ ашиглан хариуллаа, 4 спам коммент нуулаа, 2 доромжлолтой коммент устгалаа. Тодорхойгүй нэг нь @user_jane-ийн: "Энэ бүтээгдэхүүн миний өдрийг сүйтгэлээ, баярлалаа." Сарказм уу, жинхэнэ гомдол уу мэдэхгүй байна. Хариулах уу, орхих уу?

ЧИ

Тэр сарказм, байнгын хэрэглэгч шүү дээ. Орхи.

47 коммент, 30 секунд орчим. Agent-гүй бол өдөр бүр өглөө 20 минутын ажил.


Ажиллуулахад ямар зардал гарах вэ

Зардлын тухай шууд ярья. Claude Opus 4.6 нь сая input token-д $5, сая output token-д $25 үнэтэй. 50 коммент боловсруулдаг модерацын сесс нь ойролцоогоор 10K input token (комментууд + system prompt), 3K output token (Claude-ийн шийдвэр + хариултууд). Нэг сесст ойролцоогоор $0.125.

Өдөрт гурван удаа ажиллуулбал $0.375/өдөр, сард $11 орчим. Part-time community manager-ийн зардалтай харьцуулбал юу ч биш.

Prompt caching-аар зардал хэмнэх

System prompt (брэндийн удирдамж, FAQ, модерацын дүрэм) сесс бүрт өөрчлөгддөггүй. cache_control: { type: "ephemeral" }-аар кэшлэхэд тэр хэсгийн зардал давтагдах дуудлагуудад 90% буурна. 5,000 token-тэй system prompt-д сесс бүрт $0.0225 хэмнэнэ. Нэг удаадаа бага, гэхдээ хэдэн зуун өдрийн дуудлагад нэмэгдэнэ.

Зардал хэмнэх бол Opus-ын оронд Sonnet 4.6 (сая токенд $3/$15) эсвэл Haiku 4.5 ($1/$5) ашиглаж болно. Haiku энгийн модерацыг сайн зохицуулна. Гэхдээ контент бичихэд аяс чухал тул Opus-г ашиглахыг зөвлөнө.


Санаснаас илүү сайн ажилласан зүйлс

Claude SDK-ийн хэдэн feature анх бодсоноос илүү хэрэгтэй болсон:

Зэрэгцээ tool дуудлага

Claude олон tool-г нэг дор дуудаж чадна. Сүүлийн 10 постын engagement-г шинжлэхэд бүгдийг нь зэрэг татна, нэг нэгээр биш. Хэдэн зуун посттой хуудсан дээр минутын ажлыг секундэд багтаана.

Programmatic tool calling

Claude том хэмжээний дата боловсруулах шаардлагатай үед (жишээ нь долоо хоног бүрийн тайланд 500 коммент) Python код бичиж, tool дуудлагуудыг зохион байгуулж, зөвхөн эцсийн хураангуйг context window руу буцаана. Түүхий дата яриаг дүүргэхгүй. Нийт тоо, дундаж, чиг хандлага гаргахад онцгой тохиромжтой.

Мэргэшсэн subagent-ууд

Agent SDK ашиглан мэргэшсэн subagent-ууд тодорхойлж болно. Нэг agent модерац, нөгөө нь контент бүтээх, гуравдахь нь аналитик хариуцна. Тус бүрд өөрийн system prompt, tool хэрэгсэл бий. Гол agent даалгаврын төрлөөр хуваарилна. Ингэснээр agent бүр анхаарлаа төвлөрүүлж, prompt-ийн будлиан гарахгүй.


Үнэхээр хийх үнэ цэнэтэй юу?

Шударгаар хэлэхэд хуудаснаас чинь хамаарна. Өдөрт 5 коммент ирдэг бол гараараа хариулаад явах нь дээр. Тохируулах хөдөлмөр нь үр дүнг давахгүй.

Гэхдээ өдөрт 50+ коммент ирдэг, Messenger-ээр хэрэглэгчийн үйлчилгээ хийдэг, тогтмол пост нийтлэх шаардлагатай хуудас бол тийм ээ, хийх нь зүйтэй. Claude-ийн хэлний ойлголт болон Facebook-ийн Graph API-ийн хослол нь бодсоноос илүү чадамжтай. "Захиалгаа 3 долоо хоног хүлээж байна" гэж хэн нэгэн бичвэл Claude үүнийг гомдол гэдгийг мэдэж, өрөвдөх сэтгэлтэй хариулж, захиалгын дугаарыг асууна. Regex-д суурилсан бот үүнийг алгасна.

MCP экосистем нь бүгдийг эхнээс бүтээх шаардлагагүй гэсэн үг. facebook-mcp-server чамд эхлэлийг өгнө, дээр нь өөрийн workflow-д зориулсан tool-ууд нэмж болно. Human-in-the-loop хэв маяг нь түлхүүрийг бүхэлд нь AI-д шилжүүлэхгүй гэсэн үг. Хүний тархи хэрэгтэй шийдвэрүүдэд цаг гаргахын тулд ердийн зүйлсийг шилжүүлж байгаа юм.

NotebookLM deep research дээр суурилсан судалгаа -- 42 эх сурвалж

Энэ нийтлэлийн судалгааг Anthropic-ийн Claude SDK баримтжуулалт, Facebook Graph API лавлах, facebook-mcp-server GitHub репозитор, human-in-the-loop agent дизайны загварууд дээр суурилж хийсэн. Код жишээнүүд Claude Agent SDK (TypeScript) болон Messages API ашигласан. Ижил төстэй зүйл хийж байгаа бол token-ий хугацаа дуусах асуудал болон Graph API-ийн rate limit гэсэн хоёр зүйл чамайг эхэлж гацаана. Long-lived token flow-г зөв тохируулаад, 429 алдааны retry логик нэмэхэд үлдсэн нь жигд явна.