I started with BASICA and GWBASIC in the 80s, and though I've had some diversions, I would say there haven't been many days since where I haven't thought about solving problems with code. I still don't
feel particularly qualified to answer, but I guess I probably am.
> Are all of these posts just astroturfed?! I ask that sincerely.
This is amusing to me - since GPT 4 or so, I've been wondering if the real fake grass is actually folks saying this shit is useless.
I think I'd need a bit more insight into how you are trying to use it to really help, but one thing you wrote did stand out to me:
> the llm is suggesting an API access paradigm that became deprecated
Don't trust its specific knowledge any more than you absolutely have to. For example, I was recently working with the Harvest API, and even though it can easily recite a fair bit about such a well-known API on its own, I would never trust it to.
Go find the relevant bits from API/library docs and share in your prompt. Enclose each bit of text using unambiguous delimiters (triple-backtick works well), and let it know what's up at the start. Here's a slightly contrived example prompt I might use:
---
Harvest / ERP integration - currently we have code to create time entries with a duration, but I'd like to be able to also create entries without a duration (effectively starting a timer). Please update providers/harvest.py, services/time_entries.py, endpoints/time_entries.api accordingly. I've included project structure and relevant API docs after my code. Please output all changed files complete with no omissions.
providers/harvest.py: "
contents
"
services/time_entries.py: "
contents
"
endpoints/time_entries.api: "
contents
"
project structure: "
/app
/endpoints
time_entries.py
project_reports.py
user_analytics.py
/services
time_entries.py
project_reports.py
user_analytics.py
/providers
harvest.py
"
harvest docs: "
relevant object definitions, endpoint request/response details, pagination parameters, etc
"
---
I have a couple simple scripts that assist with sanitization / reversal (using keyword db), concatenation of files with titles and backticks > clipboard buffer, and updating files from clipboard either with a single diff confirmation or hunk-based (like `git add -p`). It isn't perfect, but I am absolutely certain it saves me so much time.
Also, I never let it choose libraries for me. If I am starting something from scratch, I generally always tell it exactly what I want to use, and as above, any time I think it might get confused, I provide reference material. If I'm not sure what I want to use, I will first ask it about options and research on my own.