[Feat] Schema-aware enhancement for SQL Agent generation
Hi @LinuxSuRen,
I'm currently exploring the AI-Powered API Testing Agent projects in OSPP, and I find the idea of using an AI agent to convert natural language into SQL really awesome!!! I believe it could greatly help non-technical users interact with data more naturally. (As a student, I often feel quite overwhelmed when working with complex or large datasets, and it can be really challenging...)
While reading through the project goals and thinking from a user perspective, I wondered:
Would it make sense to enrich the agent's SQL generation with some form of schema-awareness?
For example, if a user types: "Show me all disabled accounts"
But the database schema has a field like status = 'deactivated' or is_active = false, a naive prompt-to-SQL conversion might not catch that. In this case, a retrieval step — even something lightweight like schema inspection or doc-based enrichment — might help improve both accuracy and robustness.
I'm still trying to understand the current architecture better, so this is more of a question than a suggestion. But I'd love to know:
Has this direction been considered before?Would you be open to exploring something like this in the future?
If this is a valuable direction, I'd be very interested in trying to contribute something along these lines after understanding the system more clearly.
Thanks again for your awesome work on this project! I’m really enjoying digging into it.
@LinuxSuRen Just tagging here in case the notification gets buried — would really appreciate your thoughts 🙏
Just a quick note — I also sent a short email earlier to briefly introduce myself and express interest in the project. Hope that’s okay!
Looking forward to hearing your thoughts when you have time. 😆
hi @KariHall619 ,I just replied to your email. From my perspective, there are two crucial aspects of this proposal. First, it can establish an interface between the core project (atest) and the extension project. A well-defined and clear interface will provide other developers with the opportunity to create their own implementations. Second, it should offer an extension implementation with basic features.
For the implement part, it would be good to support a local LLM and online service.