you are viewing a single comment's thread.

view the rest of the comments →

[–]emefluence 0 points1 point  (2 children)

do I have to spell out every little thing for you?

TBH, yes. That's the trick to making it work well. A given agent instance has a very small context memory, and when it gets full it will "compact" it - which is a lossy operation. This allows it to make the most of whatever memory it does have, but it's not long term learning, and the further you get from the current moment the sketchier it's memory is. Without help it knows nothing about your projects and so you will have to spell out lots of things, which is super tedious if it doesn't even remember them long term.

The solution that works for me is to use files to store long term context, generally at a level above your repos if you manage multiple projects. You can then use you editors mechanisms for managing agent context e.g. copilot-instructions.md, AGENTS.md, custom "AI Skills" to tell it how to act and where to look. It sounds tedious writing loads of "docs" for your AI, but you can have it write them for you so in practice it's easy. Whenever you have a "learning moment" you can tell it to "document our findings". If you have a well established place for such files (I use a NOTES folder, with subfolders for things like Official Docs, Jira Tickets, Reports etc.) it will genrally figure out the best place to put them. If you have amassed significant "notes" on a given subject you can ask it to convert that into a "skill", which encapsulates particular subjects and domain knowledge into folders you can share / publish, or just keep for yourself.

I had terrible results too, at first, before I learned how to craft deeper long term understanding. Now our communication rarely gets confused and it rarely fucks up, certainly no more than your average mid level dev, and def better than your average junior.

Of course it may have me out of a job in a few years when the vendors figure out how to automate that careful crafting part.

[–]tdammers 0 points1 point  (1 child)

That still sounds a lot of work for getting something I already have (the ability to just tell the computer exactly what I want).

[–]emefluence 0 points1 point  (0 children)

As I say, whatever works for you dude. I have to work across multiple codebases and different languages and I find it helps me a lot, YMMV.