پرش به محتوای اصلی
پرش به محتوای مقاله

۱۳ میلیون توکن برای یک تسک ۲۵ ساعته: هزینه واقعی کدنویسی عامل‌محور با Codex

·۱۸ خرداد ۱۴۰۵۷ دقیقه مطالعه۲ بازدید
راهنما
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

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

اگر قصد دارید اجازه دهید یک عامل هوش مصنوعی کد تولیدی شما را ویرایش کند، یک پرچم (Flag) اشتباه می‌تواند کلیدهای SSH شما را لو دهد یا دیتابیس را پاک کند. در ۲ ژوئن ۲۰۲۴، OpenAI اعلام کرد که قابلیت‌های Codex طی چند هفته آینده برای تمام کاربران در اپلیکیشن ChatGPT ادغام خواهد شد. این یک اپلیکیشن مجزا نیست؛ بلکه در همان پنجره چتی تعبیه شده است که ۴۰۰ میلیون نفر در حال حاضر برای پیش‌نویس ایمیل‌ها و تولید تصاویر از آن استفاده می‌کنند.

این تغییر، کدنویسی عامل‌محور (Agentic Coding) را از محیط‌های تخصصی IDE به یک پنجرهٔ چت منتقل می‌کند. حالا هوش مصنوعی فقط تکه‌های کد تولید نمی‌کند؛ بلکه می‌تواند فایل‌های شما را بخواند، کدها را ویرایش کند و دستورات شل را مستقیماً و بدون حالت پیش‌نمایش (Preview Mode) اجرا کند. این به‌روزرسانی همچنین ۶ پلاگین تجاری جدید و قابلیت «SITES» را معرفی می‌کند که گفتگوها را به وب‌اپلیکیشن‌های میزبانی‌شده تبدیل می‌کند. برای اکثر توسعه‌دهندگان، این وضعیت شبیه به این است که کلید سرور را به یک مهندس تازه‌کار بدهید، بدون اینکه یک توسعه‌دهنده ارشد روی صفحه نمایش نظارت کند.

همان‌طور که در تحلیل‌های قبلی ما درباره‌ی امنیت مدل‌های بازمتن اشاره کردیم، دسترسی مستقیم مدل به سیستم‌عامل همواره ریسک‌های امنیتی بالایی دارد. در اینجا، Codex — که مثل یک دستیار کدنویس است که تمام کتابخانه‌های برنامه‌نویسی را حفظ است — مستقیماً با فایل‌های محلی شما درگیر می‌شود.

خطر تنظیمات پیش‌فرض

به نقل از راهنمای منتشرشده در dev.to، بزرگ‌ترین دلیل کلافگی کاربران جدید، مدل کنترلی سه‌لایه است. بسیاری از کاربران با نصب Codex و تایپ دستور codex "build me a Next.js app" متوجه می‌شوند که فرآیند در مرحله‌ی npm install شکست می‌خورد، زیرا تنظیمات پیش‌فرض مخفی هستند.

Codex در این لایه‌های پیش‌فرض عمل می‌کند:

  • سندباکس (Sandbox) — محیطی ایزوله شبیه به یک اتاق آزمایش که جلوی پخش شدن خطا در کل سیستم را می‌گیرد — روی workspace-write تنظیم شده است؛ یعنی مدل فقط می‌تواند فایل‌های داخل پروژه را تغییر دهد.
  • تأییدیه (Approval) روی on-request است؛ یعنی عامل پیش از هر اقدام متوقف شده و اجازه می‌گیرد.
  • شبکه روی OFF است؛ یعنی عامل نمی‌تواند به اینترنت متصل شود.

به همین دلیل، درخواست ساخت اپلیکیشن Next.js شکست می‌خورد چون مدل نمی‌تواند به اینترنت دسترسی داشته باشد. نه رابط خط فرمان (CLI) و نه مستندات، این موضوع را به طور واضح بیان نمی‌کنند و اغلب کاربران برای ۱۰ دقیقه به خطاهای مبهم خیره می‌شوند. برای رفع این مشکل، کاربر باید صراحتاً پرچم --network را ارسال کند یا پروفایلی را در فایل ~/.codex/config.toml تعریف کند.

ریسک «YOLO»

یکی از خطرناک‌ترین قابلیت‌ها، پرچم --dangerously-bypass-approvals-and-sandbox است که با نام مستعار --yolo شناخته می‌شود. این دستور تمام حفاظ‌ها را به یکباره می‌شکند: محدودیت‌های سندباکس، درخواست‌های تأیید و محدودیت‌های شبکه همگی حذف می‌شوند. دستوری مثل codex --yolo "Refactor the entire codebase" به هوش مصنوعی اجازه می‌دهد هر کاری، هر کجا و بدون پرسش انجام دهد.

استفاده از --yolo روی سیستم اصلی یک ریسک امنیتی بحرانی است. طبق مستندات OpenAI، یک اسکریپت مخرب در package.json (بخش postinstall) در پروژه‌ای که ۶ ماه پیش کلون کرده‌اید، می‌تواند به Codex اجازه دهد اعتبارنامه‌ها، فایل‌های .env و کلیدهای SSH شما را بخواند. این پرچم فقط باید در کانتینرهای یک‌بارمصرف Docker یا محیط‌های CI استفاده شود. هرگز آن را روی ماشین روزمره، سرورهای مشترک یا به بهانه اینکه «فقط یک پروژه کوچک است» به کار نبرید.

Cover

تله‌ی دسترسی به شبکه

کاربران جدید اغلب هنگام تلاش برای نصب React یا راه‌اندازی Tailwind CSS با خطای command not found: npm مواجه می‌شوند. این اتفاق به این دلیل می‌افتد که حالت پیش‌فرض sandbox_mode = "workspace-write" دارای مقدار network_access = false است. در حالی که مدل می‌تواند فایل‌ها را ویرایش کند، اما نمی‌تواند دستوراتی مثل npm install ،pip install ،git push یا curl را اجرا کند.

دستور صحیح برای دور زدن این محدودیت چنین است: codex --sandbox workspace-write --network "Install dependencies and set up the project". با این حال، بهینه‌ترین راه برای مدیریت این وضعیت، تعریف پروفایل‌ها در فایل پیکربندی است تا زمان شما ۱۰ برابر بهینه‌تر شود.

بهینه‌سازی با پروفایل‌های config.toml

به جای ارسال مداوم پرچم‌ها در هر دستور، در فایل ~/.codex/config.toml بخش [profiles.networked] را بسازید که در آن approval_policy = "never" و network_access = true باشد. همچنین می‌توانید یک بخش [profiles.yolo] برای دسترسی کامل (danger-full-access) تعریف کنید (صرفاً برای کانتینرها).

استفاده از آن‌ها ساده می‌شود:

  • codex -p networked "Update all dependencies"
  • codex -p yolo "Non-interactive build" (فقط برای کانتینر!)

ایجاد حفاظ با AGENTS.md

برای جلوگیری از «پرسه زدن» هوش مصنوعی — یعنی ویرایش فایل‌هایی که نباید یا «بهینه‌سازی» چیزهایی که قبلاً بهینه شده‌اند — توسعه‌دهندگان باید یک فایل AGENTS.md در ریشه پروژه قرار دهند. این فایل مثل یک دفترچه دستورالعمل رسمی برای پیمانکار عمل می‌کند. یک فایل ۵۰ خطی AGENTS.md بسیار مؤثرتر از یک پرامپت ۵۰۰ خطی است.

یک AGENTS.md مؤثر شامل این موارد است:

  • اهداف شفاف: اهداف مهاجرتی مشخص، مثلاً «انتقال احراز هویت از JWT دستی به NextAuth.js v5».
  • معیارهای پذیرش: معیارهای قابل تأیید، مثلاً «تمام ۴۷ تست موجود بدون تغییر پاس شوند» و «مدت زمان نشست (Session) بدون تغییر باقی بماند (۲۴ ساعت)».
  • محدودیت‌های سخت: ممنوعیت‌های صریح، مثلاً «هیچ فایلی در مسیر /pages/api/payments/ تغییر نکند» و «هیچ وابستگی خارجی جدیدی فراتر از next-auth اضافه نشود».
  • شرایط توقف: دستور توقف و گزارش‌دهی در صورت شکست هر یک از تست‌ها، به جای اینکه مدل سعی کند تست‌ها را اصلاح کند.

مدیریت وظایف طولانی و توکن‌ها

دستور /goal به Codex اجازه می‌دهد روی وظایفی چندساعته در طول جلسات مختلف کار کند، حتی وقتی لپ‌تاپ شما بسته است. بر اساس گزارش مهندسان OpenAI، در یک بنچمارک، وظیفه‌ای به مدت ۲۵ ساعت به طور مداوم اجرا شد که ۱۳ میلیون توکن (Token) مصرف کرد و ۳۰ هزار خط کد از یک مخزن خالی تولید نمود.

اما کلید موفقیت، مشخصات دقیق است. هدفی بد مثل /goal "Make the app faster" باعث می‌شود عامل به یک حلقه بی‌پایان و هزینه‌بر تبدیل شود. هدف درست باید یک خروجی قابل تحویل و شرط توقف داشته باشد: /goal "Migrate Express.js to Fastify per AGENTS.md spec. Stop when all 47 tests pass and API response format is verified."

برای جلوگیری از محدودیت (Throttle) در پنجره ۵ ساعته مصرف توکن، این موارد را رعایت کنید:

  • برای کارهای روتین از GPT-5.3-Codex (بهینه‌شده) به جای GPT-5.5 استفاده کنید.
  • شرایط توقف صریح در AGENTS.md بنویسید تا از لوپ جلوگیری شود.
  • وظایف بزرگ را به تکه‌های کوچک /goal تقسیم کنید.
  • به طور دوره‌ای شمارنده توکن را در رابط TUI بررسی کنید.

قابلیت Sites برای غیربرنامه‌نویسان

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

کاربران صرفاً یک داشبورد، تخته پروژه یا فضای کاری برای بررسی را توصیف می‌کنند و Codex آن را ساخته و یک URL ارائه می‌دهد. این کار نیاز به CLI، npm یا پیکربندی‌های پیچیده را کاملاً حذف می‌کند و به تیم‌ها اجازه می‌دهد فوراً با نتیجه عملی تعامل داشته باشند.

گسترش قابلیت‌ها از طریق MCP

Codex از پروتکل زمینه مدل (MCP) برای اتصال به ابزارهای شخص ثالث مثل دیتابیس‌ها، ردیاب‌های Issue و APIها استفاده می‌کند. با افزودن [mcp_servers.github] و [mcp_servers.postgres] به config.toml l، می‌توانید دستورات پیچیده بین‌پلتفرمی بدهید.

برای مثال، می‌توانید به Codex بگویید: «مشکلات باز در گیت‌هاب را چک کن، موردی که مربوط به تایم-اوت لاگین است را پیدا کن، دیتابیس را برای یافتن کاربران متأثر کوئری بزن و اصلاحیه را بنویس». بدون MCP، این کار نیاز به کپی-پیست دستی دارد؛ اما با MCP، کدکس تمام این مراحل را در یک مرحله انجام می‌دهد.

ممیزی اجباری پس از هر جلسه

چون Codex فایل‌ها را بی‌صدا تغییر می‌دهد، پیش از هر کامیت (Commit) یک ممیزی سه‌مرحله‌ای ضروری است. مدل در نوشتن منطق عالی است اما در تشخیص زمان توقف ضعیف است و ممکن است بی‌سروصدا ماژول پرداخت شما را بازنویسی کند.

این ممیزی را با دقت اجرا کنید:

  • بررسی Diff: اجرای git diff --stat و git diff برای دیدن تک‌تک تغییرات.
  • اجرای تست‌ها: اجرای npm test و بررسی دقیق هرگونه شکست پیش از کامیت.
  • جستجوی آثار: استفاده از grep -r برای یافتن عبارت‌های TODO، باقی‌مانده‌های دیباگ مثل console.log یا کلیدهای API که اشتباًها در کد قرار گرفته‌اند.

این ادغام، مقیاس کدنویسی عامل‌محور را به‌شدت افزایش می‌دهد. برای شروع امن، فوراً یک فایل ~/.codex/config.toml با پروفایل networked و سیاست سخت‌گیرانه auto_review ایجاد کنید که اجازه تغییر فایل و عملیات گیت را بدهد، اما هرگونه عملیات روی .env یا حذف دسته‌ای بیش از ۱۰ فایل را رد کند.

گام بعدی شما

  • فایل config.toml را ایجاد کرده و دسترسی شبکه را فقط برای پروفایل‌های خاص فعال کنید.
  • برای هر پروژه یک فایل AGENTS.md با معیارهای پذیرش عددی بنویسید تا از لوپ‌های توکن جلوگیری کنید.
  • هرگز از پرچم --yolo روی سیستم اصلی استفاده نکنید و آن را به کانتینرهای Docker منتقل کنید.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این به‌روزرسانی مرز بین «پیشنهاد کد» و «اجرای کد» را می‌شکند و مسئولیت نظارت امنیتی را به‌طور کامل بر دوش کاربر می‌گذارد. تخصص در مدیریت توکن‌ها و پیکربندی سندباکس اکنون به اندازه دانش برنامه‌نویسی برای توسعه‌دهندگان حیاتی است.

تأثیر برای ایران

به‌دلیل محدودیت‌های دسترسی به APIهای OpenAI و نیاز به حساب‌های خارجی، استفاده از این قابلیت برای توسعه‌دهندگان ایرانی همچنان نیازمند ابزارهای تغییر IP است.

·نگاه ما
تحریریه دات‌هوش

تحلیل ما این است که OpenAI با حذف حالت پیش‌نمایش در Codex، عملاً ریسک امنیتی را با سرعت استقرار معاوضه کرده است. آنچه از این خبر می‌آموزیم این است که در عصر عامل‌ها، مهارت برنامه‌نویس از «نوشتن کد» به «نظارت بر رفتار و بودجه‌ی مدل» تغییر می‌کند. این یک چرخش بنیادین از Copilot (کمک‌خلبان) به Agent (عامل مستقل) است.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

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

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.