Би хэдэн Facebook хуудас ажиллуулдаг. Том зүйл биш, гэхдээ пост бичих, коммент бүрд хариулах, DM-ээр ижилхэн гурван асуултад дахин дахин хариулах гэхэд ачаалал мэдрэгддэг. Cron job-оос ухаантай ямар нэгэн зүйлд даатгаж болохгүй юу гэж бодсоор байлаа. Claude SDK яг тэр зүйл байсан. Facebook-ийн Graph API-тай холбож, хэдэн tool тодорхойлоход пост нийтлэх, коммент модерац хийх, DM-д хариулах бүгдийг өөрөө хийдэг agent бэлэн болно.
Онолын яриа биш. Бодит ажилладаг кодоор тайлбарлая.
Санаа нь энгийн. Claude-ийн Messages API tool дуудаж чаддаг. Facebook-ийн Graph API чиний хуудсыг HTTP endpoint-уудаар нээж өгдөг. Чи Claude-ийн шийдвэрүүдийг тэдгээр endpoint руу чиглүүлэх tool-ууд тодорхойлно. Дараа нь Claude-г loop-д оруулна: хуудасны төлөвийг унших, юу хийхээ шийдэх, хийх, үр дүнг шалгах, давтах.
Энэ loop-г Anthropic "agentic loop" гэж нэрлэдэг. Өглөө 9-д, орой 5-д пост тавьдаг хатуу скрипт бичихийн оронд контекст ойлгодог agent авна. Шөнө ирсэн коммент бүрийг уншаад, алинд нь хариулах вэ, уурласан хүнд өөрөөр хариулах уу гэдгийг өөрөө шийднэ.
Бүх автоматжуулалт ижил хэв маягаар эхэлнэ. Claude-д prompt болон ашиглаж болох tool-уудын жагсаалт өгнө. Claude prompt-г уншаад, tool сонгож, ямар аргумент дамжуулахыг хэлнэ. Чи тэр tool-г ажиллуулна (Facebook API руу хүсэлт явна), үр дүнг Claude руу буцааж дамжуулна. Claude дараагийн юу хийхээ шийднэ. Хийх зүйл дуустал давтана.
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 сонгоод, үр дүнг уншина.
Tool тодорхойлолтыг гараар бичих нь ажилладаг, гэхдээ илүү хурдан зам бий. Model Context Protocol (MCP) нь бэлэн tool server-үүдийг Claude-д залгах боломж өгдөг. Facebook-д зориулсан нэгийг нь хэн нэгэн аль хэдийн бүтээчихсэн.
HagaiHen-ийн бүтээсэн open-source facebook-mcp-server нь 15-аас дээш tool-г шууд ашиглах боломжтой болгодог. Суулгаад, page access token-оо зааж өгөхөд 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 чамаас юуг авч чадах вэ? Нарийвчлая.
Контент нийтлэх
/{page-id}/feed endpointSystem prompt-д брэндийн удирдамж өгөхөд Claude чиний өнгө аясаар пост бичнэ. Сүүлд юу сайн ажилласныг шалгаж, сэдэв давтахгүй, хамгийн тохиромжтой цагт товлох боломжтой. pages_manage_posts, pages_read_engagement зөвшөөрөл хэрэгтэй.
Коммент модерац
/{comment-id} endpointClaude коммент бүрийг уншаад, сэтгэл хөдлөлийг ойлгоно. Жинхэнэ асуултад тусламжтай хариулт өгнө. Спамыг нуулна. Доромжлолыг устгана. Эргэлзээтэй тохиолдлуудыг чамд шилжүүлнэ. pages_manage_engagement, pages_read_user_content хэрэгтэй.
Messenger хариулт
Send API /messages endpointDM бол хэрэглэгч хурдан хариулт хүлээдэг газар. Claude яриаг уншаад, FAQ эсвэл бүтээгдэхүүний баримтаас (RAG-аар) мэдээлэл татаж, хариулна. Хүрээнээсээ гарвал HUMAN_AGENT tag-аар хүнд дамжуулна. pages_messaging хэрэгтэй.
Аналитик ба тайлан
Page Insights endpointsClaude impression, click, reaction, share, fan count татна. Постууд дундаас дата нэгтгэж, чиг хандлага олж, хураангуй гаргана. Том хэмжээний датаг programmatic tool calling-аар боловсруулдаг тул context window дүүрдэггүй.
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 муу юм хийдэг учраас биш, буруу үйлдлийн үнэ (бодит хэрэглэгчийн комментыг устгах, хямралын үед тохиромжгүй пост нийтлэх) хэт өндөр учраас.
Практикт юу ажилладаг вэ:
- Асинхрон аудит. Claude-г бодит цагт модерац хийлгэ, гэхдээ шийдвэр бүрийг шалтгааны хамт лог-д бичүүл. Өдөр бүр лог шалга. Ингэснээр системтэй алдааг (жишээ нь сарказмыг байнга буруу ангилах) олж тогтоох боломжтой. Олон коммент ирдэг хуудсуудад тохиромжтой.
- Итгэлцлийн түвшинд суурилсан чиглүүлэлт. Босго тогтоо, жишээ нь 80%. Claude комментыг спам гэдэгт итгэлтэй бол автоматаар нуулна. Эргэлзээтэй бол зогсоод, хүний хяналтын дараалалд илгээнэ. Миний туршлагаар хүний хяналт нийт үйлдлийн 10-15% орчим байвал хангалттай.
- Буцаах боломжгүй үйлдэлд синхрон зөвшөөрөл. Хэрэглэгч хориглох, олон engagement-тай пост устгах, VIP хэрэглэгчид DM илгээх зэрэгт заавал хүний зөвшөөрөл авах хэрэгтэй. Claude үйлдлийг санал болгож, шалтгаанаа тайлбарлаад, баталгаажуулалт хүлээнэ.
Claude Agent SDK үүнийг хялбар болгодог. permissionMode сонголт нь Claude-д хэр их бие даасан байдал өгөхийг тодорхойлно. "default" тавьбал устгах зэрэг аюултай үйлдлийн өмнө асууна. "plan" тавьбал Claude зөвхөн санал болгох боломжтой, гүйцэтгэхгүй. Итгэлцлийн түвшинг чи сонгоно.
Өглөө Claude-д prompt өгөхөд шөнийн комментуудыг боловсруулж эхэлнэ:
Хуудасны сүүлийн 12 цагийн комментуудыг шалга. Жинхэнэ асуултуудад тусламжтай хариулж, спамыг нуугаад, эргэлзээтэй зүйлийг надад шилжүүл.
Сүүлийн постууд болон тэдгээрийн комментуудыг татаж эхэлье. [get_page_posts, дараа нь пост бүрд get_post_comments дуудна]
8 постоос 47 шинэ коммент олдлоо. Задлахад: 31 нь эерэг/төвийг сахисан, 9 нь асуулт, 4 нь спам (крипто/мөрийтэй тоглоомын линкүүд), 2 нь доромжлол, 1 тодорхойгүй. Боловсруулж байна.
Дууслаа. 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-д шилжүүлэхгүй гэсэн үг. Хүний тархи хэрэгтэй шийдвэрүүдэд цаг гаргахын тулд ердийн зүйлсийг шилжүүлж байгаа юм.
Энэ нийтлэлийн судалгааг 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 логик нэмэхэд үлдсэн нь жигд явна.



