Ask HN: "AST vs. Code" as Context for AI Agents
1–6 of 6 posts
Re: Ask HN: "AST vs. Code" as Context for AI Agents
#2Re: Ask HN: "AST vs. Code" as Context for AI Agents
#3Code has commentary parts, which vanish when generating AST. Also, if feeding AST, sometimes the broad context is lost. And, AST might have a compression advantage on looong code, but inflate on short functions (means it would be better to feed the code line) and from my experience, AST use up more tokens then the plain code just caused by "AST representation is longer than the peace of code it represents". So, I sto…
Re: Ask HN: "AST vs. Code" as Context for AI Agents
#4Code has commentary parts, which vanish when generating AST. Also, if feeding AST, sometimes the broad context is lost. And, AST might have a compression advantage on looong code, but inflate on short functions (means it would be better to feed the code line) and from my experience, AST use up more tokens then the plain code just caused by "AST representation is longer than the peace of code it represents". So, I sto…
Couldn't that problem be mitigated by offering the agents tools to query the AST and isolate the code they want to read or change? Wouldn't this work better that the grep tools? Regarding the comments, I agree that AST do not provide the much broader context!
There are a few MCP Server presented here at HN in the last time that do graphs and such things. May be that's a better way?
Re: Ask HN: "AST vs. Code" as Context for AI Agents
#5Earlier quoted context omitted.
Couldn't that problem be mitigated by offering the agents tools to query the AST and isolate the code they want to read or change? Wouldn't this work better that the grep tools? Regarding the comments, I agree that AST do not provide the much broader context!
May be. Keep in mind that every system you build around AST is language specific. AST python is a different thing than AST from other languages. So, the grep idea holds because it works on source and Claude can work with it. There are a few MCP Server presented here at HN in the last time that do graphs and such things. May be that's a better way?
I am trying to build this tool Apiweiser, https://apiweiser.vercel.app/ which tracks your packages and REST APIs you call, and applies fixes to your code whenever they change. That's why I am brainstorming ideas on how to be more efficient on code changes across repos. You can join the waitlist if you are interested :) !