My question is, what will be the advantages of your agentic RAG based approach compared to the agentic coding assistants like Aider and Cline (which are tool based instead of RAG based)? Because here is the result from asking a similar question to Cline within Vscode having loaded the advanced-coding-assistant-backend project (with DeepSeek V3 it cost me 0.0026 cent):
User: List all service classes in this project.
Cline: To list all service classes in this Java project, I should look for classes in the service package. From the environment_details, I can see the service package is located at:
Hi Thomas, thank you for asking this question. There are many tools today that offer similar functionality.
While I am not familiar with Aider nor Cline, Advanced Coding Assistant is an open-source project which offers a behind the scenes look on how to implement Agentic RAG.
Our main goal was to give the AI just enough tools (function calling capabilities) so it can analyze codebases itself and choose which analysis tools are best to use. Too many tools and the AI gets lost, too little tools and the AI can't analyze the codebase properly.
Tools like `findASTNodeByTypeAndBasename`, `findAllFilesRelativePaths`, etc in `GraphRetrieval` class give the AI capability to "think" about how to most effectively analyze the repository and not depend only on embeddings in simple RAG systems.
This actually makes Advanced Coding Assistant dependent on the level of reasoning capabilities of the particular AI connected to it and not on some underlining implementation details.
Thanks for your kind answer, Cyril! I will definitely have a closer look into your project and agentic RAG approach. As a Software Developer I am a user of Cline and because it is open source as well I might do the comparison to your Coding Assistant myself. Cline supports the new MCP standard of Anthropic and thus claims it would be able to improve itself by writing new tools, if the user asks it to do so. That‘s an interesting feature that I still want to investigate.
Hi Cyril, that looks quite promising.
My question is, what will be the advantages of your agentic RAG based approach compared to the agentic coding assistants like Aider and Cline (which are tool based instead of RAG based)? Because here is the result from asking a similar question to Cline within Vscode having loaded the advanced-coding-assistant-backend project (with DeepSeek V3 it cost me 0.0026 cent):
User: List all service classes in this project.
Cline: To list all service classes in this Java project, I should look for classes in the service package. From the environment_details, I can see the service package is located at:
chatbot-openai-code-migration-app/src/main/java/com/telekom/ai4coding/chatbot/service/
I will use the list_code_definition_names tool to get the class definitions from this directory.
...
Here are all the service classes found in the project:
ChatCompletionsService - Handles chat completion requests with and without persistence
ConversationService - Manages conversation operations including creation, retrieval, and deletion
EmbeddingSearchService - Provides context search using embeddings
FileService - Handles file operations including upload, retrieval and deletion
KeywordExtractionService - Extracts keywords and performs searches based on them
LLMCypherExtractionService - Generates and executes Cypher queries using LLM
Neo4JDatabaseService - Provides database cleanup functionality
RepositoryService - Manages repository operations including upload and refresh
SearchDatabaseService - Executes AST, text keyword searches and Cypher queries
Hi Thomas, thank you for asking this question. There are many tools today that offer similar functionality.
While I am not familiar with Aider nor Cline, Advanced Coding Assistant is an open-source project which offers a behind the scenes look on how to implement Agentic RAG.
Our main goal was to give the AI just enough tools (function calling capabilities) so it can analyze codebases itself and choose which analysis tools are best to use. Too many tools and the AI gets lost, too little tools and the AI can't analyze the codebase properly.
Tools like `findASTNodeByTypeAndBasename`, `findAllFilesRelativePaths`, etc in `GraphRetrieval` class give the AI capability to "think" about how to most effectively analyze the repository and not depend only on embeddings in simple RAG systems.
This actually makes Advanced Coding Assistant dependent on the level of reasoning capabilities of the particular AI connected to it and not on some underlining implementation details.
Thanks for your kind answer, Cyril! I will definitely have a closer look into your project and agentic RAG approach. As a Software Developer I am a user of Cline and because it is open source as well I might do the comparison to your Coding Assistant myself. Cline supports the new MCP standard of Anthropic and thus claims it would be able to improve itself by writing new tools, if the user asks it to do so. That‘s an interesting feature that I still want to investigate.
Very interesting, I will also have a look on Cline than, because I haven't heard about the MCP standard yet. Thank you for the information.