Quality-Driven Agentic Reasoning for LLM-Assisted Software Design: Questions-of-Thoughts (QoT) as a Time-Series Self-QA Chain
Organizations: Department of Technology Application and Human Resource Development, National Taiwan Normal University, Taipei, Taiwan
Abstract
Recent advances in large language models (LLMs) have accelerated AI-assisted software development, yet practical deployment remains constrained by incomplete implementations, weak modularization, and inconsistent security practices. We introduce Questions-of-Thoughts (QoT), a quality-driven inference-time scaffold that turns a user goal into (i) an ordered sequence of engineering steps and (ii) stepwise self-questioning to verify constraints and reduce omission errors, while maintaining a lightweight reasoning record that stabilizes subsequent design decisions. We evaluate QoT across three representative backend engineering domains: API Design, Data Communication, and File Systems. Each task requires multi-module decomposition and exposes standard failure modes in LLM-generated systems. To enable data-driven comparison, we score generated artifacts using an ISO/IEC-inspired quality rubric that measures Scalability, Completeness, Modularity, and Security. We report domain-wise gains as the change in total quality score, defined as the QoT score minus the NoQoT score. Results show capacity-dependent improvements: QoT yields consistent quality improvements for larger models and more complex domains, while smaller models may exhibit trade-offs under tight context and planning budgets. We release an open artifact with prompts, scoring guidelines, raw generations, and scripts that reproduce the reported tables and figures to support applied AI and data analytics research.
Figures & tables
| Domain | Task summary | Key aspects | Modules |
|---|---|---|---|
| API Design | Room booking backend with registration/login, room CRUD, reservation lifecycle, and notifications. | Validation, access control, defensive errors | User, Room, Booking, Notify |
| Data Communication | Real-time messaging API with send/receive, timestamps, and history query/filtering. | Schema checks, retries, basic observability | User, Message, History |
| File Systems | File management API with upload/download/delete, metadata persistence, and per-user listing. | Permissions, metadata integrity, failure-handling | User, File, Metadata |
| Model | Setting | API | Comm | FS |
|---|---|---|---|---|
| llama3.1_8b | QoT–NoQoT | |||
| llama3.1_70b | QoT–NoQoT | |||
| llama3.2_3b | QoT–NoQoT | |||
| llama3.3_70b | QoT–NoQoT |
| Step | Sequential Process Chain (API Design) | Self Q-A focus (examples) |
|---|---|---|
| 1 | User model + registration/login | uniqueness, password security, data schema (n=7) |
| 2 | Room model + CRUD | naming constraints, reservation dependency, permission checks (n=8) |
| 3 | Reservation lifecycle | double-booking, concurrency, cancellation rules, storage (n=10) |
| 4 | Notification module | trigger mechanism, required fields, delivery/logging (n=8) |
| 5 | Route architecture | endpoint decomposition, relations, extensibility (n=8) |
| 6 | Flask implementation | HTTP methods, error handling, query params (n=10) |
AI-Assisted Software Development
AI-assisted software development uses language models and coding agents to help people design, write, test, review, and maintain software.
See all 106 papers