اکوان
مستندات اکوان
مستندات/مفاهیم

اکوان چگونه کار می‌کند؟

چرخهٔ agent، tools، project context و لایه‌های memory را بشناسید.

Akvan Agent یک harness سبک است که مدل زبانی را کنار ابزارهای محلی اجرا می‌کند. مدل تصمیم می‌گیرد چه toolای لازم است، Akvan policy و approval را اعمال می‌کند و نتیجهٔ tool را دوباره به مدل برمی‌گرداند.

چرخهٔ agent

هر نوبت معمولاً این مسیر را طی می‌کند:

  1. درخواست شما همراه با project context و دستورالعمل‌ها به مدل می‌رسد.
  2. مدل پاسخ متنی می‌دهد یا یک tool را فراخوانی می‌کند.
  3. Akvan ورودی tool و policy مربوط به آن را بررسی می‌کند.
  4. tool اجرا می‌شود یا برای عملیات حساس approval شما درخواست می‌شود.
  5. نتیجه به مدل برمی‌گردد و چرخه تا رسیدن به پاسخ نهایی ادامه پیدا می‌کند.

گزینهٔ --max-iterations سقف این چرخه را برای هر نوبت کنترل می‌کند.

لایه‌های prompt context

Prompt سیستم از چند منبع ساخته می‌شود:

  • identity اختیاری در ~/.akvan/SOUL.md
  • memory منتخب در ~/.akvan/memories/MEMORY.md و USER.md
  • راهنمای runtime و لیست skills در دسترس
  • دستورالعمل پروژه از .akvan.md، AKVAN.md یا AGENTS.md
  • metadata session، از جمله cwd، تاریخ، مدل و provider

در شروع هر session، یک snapshot از این محتوا گرفته می‌شود. فرمان /reload memory، skills و project instructions را دوباره بارگذاری می‌کند.

حافظهٔ رویه‌ای (skills)

هنگام ساخت system prompt، لیست skills در دسترس به مدل داده می‌شود؛ متن کامل SKILL.md با tool skill_view یا slash command بارگذاری می‌شود. skills از سه مسیر رشد می‌کنند: tool skill_manage در کار معمولی، فرمان /learn (کاربر-محور)، و background review (خودکار). جزئیات → skills و learn.

tools و policy دسترسی

Toolهای داخلی امکان خواندن، نوشتن و patchکردن فایل‌ها، اجرای commandهای terminal، مدیریت processها، memory و جست‌وجوی sessions را فراهم می‌کنند. Policy approval مستقل از مدل اجرا می‌شود و بعضی commandهای بسیار مخرب با hard patternها مسدود می‌شوند.

این policy sandbox واقعی نیست. terminal با دسترسی OS user اجرا می‌شود و می‌تواند محدودیت‌های read_file را دور بزند. بنابراین approvalها را مثل یک check انسانی جدی بخوانید، نه مثل guarantee امنیتی کامل.

providerها و gatewayها

لایهٔ provider ارتباط با مدل‌های مختلف را از طریق یک interface مشترک مدیریت می‌کند. لایهٔ gateway همان session و tools را در کانال‌هایی مثل Telegram ارائه می‌دهد. تفاوت اصلی در کانال ورودی، streaming و approval UI است؛ هستهٔ agent همان است.

provider Akvan

با provider akvan، درخواست‌های مدل از طریق سرویس Akvan ارسال می‌شوند:

  1. agent درخواست را همراه با AKVAN_API_KEY به سرویس Akvan می‌فرستد.
  2. سرویس دسترسی plan، مجاز بودن مدل و موجودی credit را بررسی می‌کند.
  3. پاسخ مدل به agent برمی‌گردد و credit مصرف‌شده از حساب شما کسر می‌شود.

سایر providerها مثل openrouter یا deepseek مستقیماً با API key شما به سرویس خارجی متصل می‌شوند.