دستیار برنامه نویسی و اتوماسیون کیان ایجنت
Kian Agent یک دستیار هوشمند تخصصی برای توسعه نرمافزار و اجرای وظایف مرتبط با پروژههاست که با Python و FastAPI توسعه یافته و قابلیت اتصال به طیف گستردهای از مدلهای زبانی و Providerهای سازگار با OpenAI API را دارد؛ از سرویسهای ابری و آنلاین گرفته تا مدلهای محلی که از طریق سرویسهایی مانند Ollama اجرا میشوند.
KIAN / READ
Kian Agent؛ یک Coding Agent هوشمند برای درک، توسعه و اجرای پروژههای نرمافزاری
Kian Agent یک دستیار هوشمند تخصصی برای توسعه نرمافزار و اجرای وظایف مرتبط با پروژههاست که با Python و FastAPI توسعه یافته و قابلیت اتصال به طیف گستردهای از مدلهای زبانی و Providerهای سازگار با OpenAI API را دارد؛ از سرویسهای ابری و آنلاین گرفته تا مدلهای محلی که از طریق سرویسهایی مانند Ollama اجرا میشوند.
Kian Agent صرفاً یک چتبات برای تولید کد نیست؛ بلکه با ترکیب Code Intelligence، تحلیل ساختار پروژه، Code Analyzer، Graphهای کد، RAG، Context Engineering و Agent Loop تلاش میکند ابتدا پروژه و معماری آن را درک کرده و سپس متناسب با همان ساختار، اطلاعات و Context موردنیاز را در اختیار مدل قرار دهد.
Agent میتواند کدبیس را بررسی و تحلیل کند، فایلها و کدها را ایجاد یا ویرایش کند، روابط و وابستگیهای بین بخشهای مختلف پروژه را شناسایی کند، Import Graph و Call Graph ایجاد کند، اطلاعات مرتبط را از پروژه بازیابی کند، دستورات و ابزارهای سیستم را اجرا کند، در مرورگر فعالیت انجام دهد و نتیجه عملیات را بررسی و راستیآزمایی کند.
هدف اصلی Kian Agent
هدف اصلی Kian Agent ایجاد یک محیط هوشمند برای درک واقعی پروژه و انجام وظایف توسعه نرمافزار است؛ محیطی که در آن مدل زبانی صرفاً متن پروژه را دریافت نمیکند، بلکه اطلاعات موردنیاز خود را بر اساس ساختار، زبان، معماری و وضعیت واقعی Workspace دریافت میکند.
برای رسیدن به این هدف، Kian Agent چند لایه مکمل را در کنار یکدیگر قرار میدهد:
- Code Intelligence: تحلیل ساختاری کد مستقل از LLM و شناسایی فایلها، زبانها، کلاسها، توابع، متدها، Importها، Dependencyها و روابط بین Symbolها
- Code Analyzer: تحلیل کد بر اساس زبان برنامهنویسی و استخراج اطلاعات ساختاری موردنیاز برای درک پروژه
- Code Graph: ایجاد و نگهداری روابط ساختاری مانند Import Graph و Call Graph برای درک ارتباط بین اجزای پروژه
- Context Engineering: انتخاب و آمادهسازی Context متناسب با درخواست، بهجای ارسال بیهدف حجم بزرگی از کد به مدل
- RAG: بازیابی اطلاعات مرتبط از Workspace با استفاده از جستوجوی دقیق و معنایی
- Agent Loop: برنامهریزی، اجرای Toolها، بررسی نتایج و ادامه عملیات تا رسیدن به نتیجه قابلتأیید
درک پروژه و معماری کد
Kian Agent تلاش میکند قبل از انجام یک وظیفه، تصویر ساختاری مناسبی از پروژه ایجاد کند. این اطلاعات شامل زبانهای استفادهشده، فایلها، Symbolها، Importها، Dependencyها و روابط بین بخشهای مختلف کد است.
این لایه به Agent اجازه میدهد بهجای نگاهکردن به فایلها بهصورت مستقل، ارتباط میان اجزای پروژه را نیز در نظر بگیرد و Context مناسبتری برای هر وظیفه ایجاد کند.
Code Intelligence و Code Analyzer
Kian Agent دارای یک لایه مستقل برای تحلیل ساختار کد است که وابسته به LLM نیست. این لایه میتواند اطلاعاتی مانند فایلها، زبان برنامهنویسی، کلاسها، توابع، متدها، وراثت، Importها، Dependencyها و فراخوانیهای بین Symbolها را استخراج کند.
اطلاعات تحلیلشده میتواند برای ایجاد Import Graph، Call Graph و سایر روابط ساختاری پروژه مورد استفاده قرار گیرد و بهصورت Incremental بهروزرسانی شود تا فقط بخشهای تغییرکرده مجدداً تحلیل شوند.
در حال حاضر تحلیل ساختاری برای زبانهایی مانند Python، C#، JavaScript، TypeScript، Dart، Go و Java در نظر گرفته شده است.
Context Engineering
یکی از اهداف اصلی Kian Agent مدیریت هوشمند Context است. بهجای ارسال کل پروژه یا حجم زیادی از فایلها به مدل، سیستم تلاش میکند Context موردنیاز هر درخواست را بر اساس ماهیت Task، ساختار پروژه، زبان برنامهنویسی، روابط موجود در Graph، نتایج Code Analyzer، تاریخچه Session و اطلاعات بازیابیشده از RAG تشکیل دهد.
این رویکرد باعث میشود مدل اطلاعات مرتبطتری دریافت کند و ظرفیت Context Window به شکل هدفمندتری مورد استفاده قرار گیرد.
RAG و بازیابی هوشمند اطلاعات
Kian Agent برای جلوگیری از ارسال کل پروژه به مدل از یک سیستم RAG استفاده میکند. Workspace به بخشهای قابل بازیابی تقسیم میشود و اطلاعات موردنیاز میتواند از طریق جستوجوی دقیق و جستوجوی معنایی بازیابی شود.
جستوجوی دقیق برای مواردی مانند نام فایل، تابع، Symbol، مسیر و عبارت مشخص مناسب است و جستوجوی معنایی برای یافتن بخشهایی از پروژه که از نظر مفهومی با درخواست کاربر مرتبط هستند استفاده میشود.
نتایج بازیابی شامل اطلاعاتی مانند مسیر فایل، شماره خطوط و محتوای مرتبط است و Agent پیش از انجام تغییرات، فایل واقعی را نیز با Tool مربوطه بررسی میکند.
Agent و اجرای وظایف چندمرحلهای
Kian Agent فقط پاسخ متنی تولید نمیکند. درخواستهای پیچیده میتوانند به مجموعهای از Taskها تقسیم شوند و Agent با استفاده از Toolهای مناسب، مراحل موردنیاز را اجرا و نتیجه هر مرحله را بررسی کند.
فرآیند کلی میتواند شامل دریافت درخواست، تحلیل Workspace، بازیابی Context، برنامهریزی، انتخاب Tool، اجرای عملیات، بررسی نتیجه و ادامه Loop تا تکمیل وظیفه باشد.
اتصال به مدلها و Providerهای مختلف
Kian Agent به یک مدل یا سرویس خاص وابسته نیست و میتواند با Providerهای سازگار با OpenAI API و همچنین سرویسهایی مانند Ollama کار کند.
این معماری امکان استفاده از مدلها و Providerهای مختلف برای نقشهای متفاوت مانند Planning، Execution و Review را فراهم میکند.
ابزارها و اجرای واقعی عملیات
Agent از طریق یک Tool Registry به مجموعهای از ابزارهای اجرایی دسترسی دارد، از جمله:
- خواندن، ایجاد، ویرایش و حذف فایل
- جستوجو در Workspace
- Index کردن پروژه
- جستوجوی دقیق و معنایی
- اجرای دستورات سیستم
- بررسی وضعیت Git
- تحلیل ساختار کد و Dependencyها
- کنترل مرورگر با Playwright
- دانلود فایل
Toolها مستقل از Agent طراحی شدهاند و دسترسی آنها از طریق Policyهای قابل تنظیم کنترل میشود.
امنیت و کنترل عملیات
معماری Kian Agent میان Capability و Policy تفاوت قائل میشود. ابزارها قابلیت انجام عملیات را دارند، اما محدوده دسترسی، Workspace مجاز، مسیرهای قابل استفاده، عملیات حساس و دستورات محدودشده توسط Policy کنترل میشوند.
سیستم همچنین از تأیید کاربر برای عملیات حساس، محدودیت مسیرها، Timeout، Checkpoint و مکانیزمهای جلوگیری از اجرای ناخواسته یا تکراری Toolها پشتیبانی میکند.
حافظه، Session و Context
Kian Agent علاوه بر تاریخچه Session، از حافظه بلندمدت با Scopeهای مختلف مانند Global، Workspace و Session پشتیبانی میکند. این اطلاعات میتوانند در ساخت Contextهای بعدی مورد استفاده قرار گیرند.
Sessionها نیز به Workspace متصل هستند و Agent میتواند خلاصهای از اطلاعات قدیمی را نگهداری کند تا حجم Context کنترل شده و اطلاعات مهم در طول اجرای پروژه قابل استفاده باقی بمانند.
معماری چندایجنتی
Kian Agent از پروفایلهای مختلف Agent پشتیبانی میکند و میتواند وظایف را میان نقشهایی مانند Planner، Executor و Reviewer تقسیم کند.
Planner وظیفه تحلیل و برنامهریزی، Executor وظیفه اجرای عملیات و Reviewer وظیفه بررسی و اعتبارسنجی نتیجه را بر عهده دارد. وضعیت Taskها و نتایج مراحل نیز میتوانند در Checkpoint ذخیره شوند.
Browser Automation
Kian Agent با استفاده از Playwright میتواند عملیات مرورگر مانند بازکردن صفحات، خواندن DOM، کلیک، ورود اطلاعات، Screenshot و کار با Selectorها را انجام دهد و نشستهای مرورگر را مدیریت کند.
قابل رهگیری و قابل توسعه
اجرای Taskها میتواند همراه با برنامه اجرایی، وضعیت Toolها، نتایج مراحل و اطلاعات بررسی و راستیآزمایی ثبت شود تا مسیر اجرای عملیات قابل مشاهده و پیگیری باشد.
در نهایت، Kian Agent یک چتبات تولید کد ساده نیست؛ بلکه بستری برای درک کدبیس، تحلیل ساختار و معماری پروژه، ایجاد Graph، مدیریت هوشمند Context، بازیابی اطلاعات، اجرای عملیات و راستیآزمایی نتایج است که میتواند با مدلها و Providerهای مختلف برای انجام وظایف واقعی توسعه نرمافزار مورد استفاده قرار گیرد.
نظرات 0
هنوز نظری ثبت نشده است. اولین نفر باشید!
برای ثبت نظر وارد شوید