Untitled
from langchain import Agent, Tool, LLM from langchain.memory import ConversationBufferMemory # Инструменты для анализа class GitAnalyzer: def analyze_changes(self, pr_id): """Анализ изменений в PR""" return { 'files_changed': ['file1.py', 'file2.py'], 'total_changes': '+150/-50', 'impact_analysis': 'Medium' } class CodeQualityChecker: def check_quality(self, code): """Проверка качества кода""" return { 'style_issues': [], 'complexity_score': 'A', 'recommendations': [] } class SecurityAnalyzer: def scan_vulnerabilities(self, code): """Поиск уязвимостей""" return { 'severity': 'LOW', 'findings': [], 'dependencies': [] } # Создание инструментов tools = [ Tool( name="git_analyzer", func=GitAnalyzer().analyze_changes, description="Анализ изменений в PR" ), Tool( name="code_checker", func=CodeQualityChecker().check_quality, description="Проверка качества кода" ), Tool( name="security_scanner", func=SecurityAnalyzer().scan_vulnerabilities, description="Проверка безопасности" ) ] # Создание агента code_review_agent = Agent( llm=LLM(model="gpt-4"), tools=tools, memory=ConversationBufferMemory(), system_prompt=""" Ты - опытный Code Reviewer. Твоя задача: 1. Анализировать изменения в PR 2. Проверять качество кода 3. Искать потенциальные проблемы 4. Генерировать понятные рекомендации """ ) # Использование агента review = code_review_agent.run( "Проанализируй PR #123 и создай детальный отчёт" )
Leave a Comment