ansys / ansys/pyfluent

LLM-Driven Static API Design Assessment for PyFluent

Open
#4,260 6 comments 0 reactions 1 assignee Assigned to @mayankansys View on GitHub
Dominant language
Python
Stars
497
Forks
77
Avg merge
22h 37m
Merged PRs (30d)
45

Description

# 🤖 Issue: LLM-Driven Static API Design Assessment for PyFluent

## Context

In a previous release, we developed an *api-check* tool to statically check the PyFluent settings API for design issues such as:
- Undesirable or inconsistent naming
- Redundant context in path structures
- Unclear groupings or missed opportunities for logical hierarchy
- Non-dictionary words or inconsistently used terms

This approach successfully identified concrete improvements but required **significant human post-processing** to sift through false positives and to provide nuanced, design-oriented recommendations.

## Why Now

Modern LLMs are much stronger at:
- Understanding API structure and semantics holistically
- Distinguishing between well-designed and poorly designed sections
- Suggesting **actionable** design improvements beyond mechanical style checks

The goal is to move from **rule-based linting** to **LLM-augmented, human-centered design reviews** at scale.

## Vision

We could:
- Train or prompt an LLM with **examples of well- and poorly-designed sections** of the settings API
- Feed the entire current API to the LLM for **static analysis**
- Get back **assessments**, flagged issues, and **high-level design proposals** for:
- Overly TUI-style remnants (e.g., `materials.database`)
- Redundant or confusing path structures
- Naming inconsistencies or redundant words
- Poorly grouped or scattered related objects

We’d then run a **human feedback loop** to refine these recommendations and identify redesign candidates.

## Example

A concrete recent example is `materials.database` — it still exposes only TUI-style commands and no real settings objects, yet is surfaced in the stable API. This kind of mismatch could be flagged automatically by an LLM trained with just a few examples.

## Goals

✅ **Automate static design checks** with modern LLM capabilities
✅ Reduce the burden of manual review
✅ Provide maintainers with clear, actionable suggestions
✅ Support a more unified, user-friendly PyFluent API

## Next Steps

- Scope how the LLM would ingest the settings API object tree and metadata
- Define the format for training examples (good vs. bad)
- Prototype a small LLM prompt to see what insights it generates
- Build the first pipeline: extract API tree → prompt LLM → capture results → generate report

---

**Request:** Open to ideas, collaborators, or early prototypes for this. Please comment if you’re interested in helping design the next-generation *api-check* with an LLM at its core.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.