I am currently trying the new Composer feature.
I am wondering which context length the Composer is using, as I can’t seem to find that anywhere.
This is unlike the Chat function where, if you enable the “Long Context Chat (Beta)” feature, you can select between “Normal Chat” and “Long Context Chat”, so I know which context I am using.
On the other hand, Composer merely lets you select between GPT/Claude, but without mentioning any context length.
What context length is Composer user currently? Will this be changeable in the future?
I am hoping Composer is such an advanced tool, that contexts no longer matter - it takes care of everything behind the scenes and delivers nop notch service quality with no regard to us worrying about details of models and contexts (I hope it’s true? haven’t tried it yet)
I had my good days and terrible days using composer, for weeks trusting Claude Sonnet until it started to apologize, hallucinate ( which is expected and I always work more on my prompts to reduce ) but mostly annoying was making changes that I expressed against repeatedly. I have tried prompts, comments, different ways to avoid (as an example) the creation of hyphenated variants in a data normalization code for soccer team names, and it reappeared silently many times. In the same codebase, I kept getting add fuzzy logic ( lib fuzzywuzy ) to help, and I was already tired of saying no because it failed on the business goal and rules, to eventually finding it in comments TODO: as a roadmap feature. Really annoying.
Apart from understanding ( or controlling ) the context being used, I would love to see also something like :
project definitions file : a markdown accessible* by the composer/chat with Do’s and Don’ts , or imperative rules for all chats/composer with business language like column 1 from df_main must not be editable in any downstream pipeline changes. Never create rows with N/A, empty or manufactured results but log error warnings
custome prompt setup for the project -
like Rules for AI, for the composer not only chat, and project specific where I could insert : generate comments in my local language, use typed variables, respect PEP8, never use fuzzywuzzy lib
*( currently, it says it can’t read, but suggests and you can hack it trough .py comments but I’ve seen forgetting it after 10-20 turns)
oh my, it seems like a very complicated set of rules required in a project, looks like these tools are not ready yet to work at such high abstraction level as to understand full project with all its restrictions and details then , possibly more tooling is required, to pass requests from human operator through ‘prompt composing tools’ which will take into account all rules and compose 2-3 page prompts as inputs to main LLMs - and then process also the proposed diffs and changes, through additional review steps and iterations, based on the rules, in order to arrive to the final proposal ‘diff’ by the software. it seems like a job for AI agents that’ll be running many steps in order to arrive at a good code change proposal after every human input prompt. I hope Cursor team will develop something like that maybe it’s on their roadmap for the Composer feature already, will be a godlike machine, if it can do that. but also costly, imagine all those iterations and size of processed data etc’ in each prompt.
perfectly said ! agree on the agentic solution, the current version of composer still have absolutely no memory causing repeating issues, requiring too much attention and review when accepting changes, still is a net positive, but removing some of those problems, in any way or form would increase the benefit by 10x !
but also maybe we are not using current functionality correctly?, I tried to use @codebase tag and it ended up with a mess of recommendations (despite o1-mini should be the smartest option) which suggests it didn’t have access to all files (so ‘codebase’ sends it to search through the RAG db or something?) but then I tried “@myfoldername” to give it all folder of scripts, and the result was much better (but it still tried to delete a bunch of code it should not be deleting ). What is the optimal way to let it edit files by being fully aware of other components of the application - pointing every time to the ‘full’ codebase folder is a good approach or it confuses it too much? what was your most optimal approach when you had best results with it?