Skip to content

Mawwlle/coder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Мультиагентный ассистент - Coder

Визуализация

Архитектура

  • Агент-роутер: классифицирует запросы и направляет их в нужный поток (coding, refactoring, testing, research).
  • Агент кода: помогает с написанием и рефакторингом Python-кода, проверкой стиля (PEP 8 / ruff / mypy), чтением и изменением файлов, выдачей патчей и пошаговых инструкций.
  • Агент памяти: сохраняет историю сессий, предпочтения пользователя, план кодовых шагов (code_plan) и эпизоды (episodes), формирует финальный ответ с учётом контекста.

Инструменты

  • get_pep8_rules: получает PEP 8 с peps.python.org; при недоступности сайта используется краткий конспект правил.
  • check_code_style: запускает ruff и mypy на файле; при отсутствии этих инструментов выполняется лёгкая проверка на длину строк, табы и лишние пробелы.
  • list_files, read_code_file, write_code_to: навигация по проекту и работа с файлами.
  • save_memory, load_memory: хранение и восстановление состояния сессий, планов действий и эпизодов.

Память

  • Память хранится в JSON-файле, включает:

    • session_history — история запросов и ответов.
    • user_preferences — настройки пользователя.
    • code_plan — план действий по коду.
    • episodes — шаги и контекст работы агентов.

Тестовые запросы и результаты

  1. Запрос: Найди короткий пример использования asyncio.create_task Агент: research Результат: предоставлен краткий пример запуска параллельных асинхронных задач с asyncio.create_task. Память обновлена с отметкой о запросе пользователя и подготовлен план для демонстрации использования.

  2. Запрос: Добавь логирование в функцию main в app/main.py Агент: coding Результат: в test_project/main.py добавлены логирующие вызовы logging.info для отслеживания выполнения функции main и вывода текущей директории и количества найденных элементов. Заметка:: получилось очень даже неплохо!

  3. Запрос: Улучшить читаемость файла test_project/utils/helpers.py Агент: refactoring Результат: исправлены ошибки именования, добавлены типы и docstrings, форматирование приведено к PEP 8. Функциональность кода осталась неизменной.

  4. Запрос: Запусти python test_project/scripts/run_checks.py Агент: testing Результат: скрипт выполнен успешно. История сессий подтверждает предыдущее улучшение читаемости helpers.py.

  5. Запрос: В test_project/main.py реализуй модуль регистрации пользователей Агент: coding Результат: реализован модуль регистрации пользователей с проверкой корректности данных, хешированием паролей и записью в users.txt. Добавлен пример использования модуля в блоке if __name__ == "__main__":. Ошибка: модель не всегда записывает сгенерированный код в файл. От запуска к запуску "настроение меняется"


Итог

  • Все запросы корректно маршрутизированы к соответствующим агентам (100% точность).

  • Добавлен контекст предыдущих действий для улучшения классификации и генерации последующих ответов.

  • Выполнены следующие действия:

    • Примеры асинхронного кода (asyncio.create_task).
    • Логирование и рефакторинг Python-кода.
    • Тестирование скриптов.
    • Реализация модуля регистрации пользователей с безопасной обработкой данных.

Направления развития

  • Улучшить связность инструментов, часто задача должна быть -> research -> coding -> test -> refactor -> test (и т.д.)
  • Расширить инструменты агента планирования: интеграция с календарями, трекерами задач и Git для анализа истории проектов.
  • Стоит добавить векторую базу данных для улучшения памяти и индексации файлов проекта.

P.S. В test_project можно посмотреть как МАС справилась с задачами

About

AI agent for coding. Simple MAS for code

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors