4 Comments
User's avatar
Thomas Hessel's avatar

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

Expand full comment
Cyril Sadovsky's avatar

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.

Expand full comment
Thomas Hessel's avatar

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.

Expand full comment
Cyril Sadovsky's avatar

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.

Expand full comment