Би хэдэн 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 — сэтгэл хөдлөл таних чадвартай модерац.



