The best way to get a good answer from a person or a machine is to ask the right questions and provide just enough of the most relevant, accurate information needed to answer it. Garbage in, garbage out.
That’s why, even though I’m developing tools that use Generative AI to help expert engineers analyze and rewrite legacy .NET code, I spend most of my time in the non-agentic weeds, formulating good questions and gathering good information—working with the symbols produced by static analysis, the abstract syntax trees (ASTs) that represent the hierarchical relationships between those symbols, and graph structures with cyclic dependencies that capture the complex relationships in sprawling code.