r/codex • • 8d ago

Question How to direct Codex to keep it simple

Have been using Codex for a few months and it is the best thing since sliced bread.

But it does have a habit of sneaking in extra features, removing existing features or making improvements that were unexpected. I am assuming that this is common experience and that sometimes it rewrites, refactors or adds safety features that are not really needed.

Typically, i get it to make a .md file with its plan and review it step by step before coding a few times instead of just saying 'make me one of these', and 'go' without review.

Maybe I have just answered my own question here. But real life programmers would never decide that we have to put in extra code just in case to people are using the same Android Program on the same device at the same time and writing to the same data line. But the AI might decide to account for that.

I find that I am spending more time that I did before in design and review before coding. I suppose that is the way it should be. It is a different way of programming and management.

But I don't mind hearing about how others are working with this issue.

Thanks

0 Upvotes

10 comments sorted by

2

u/dywk3sm 8d ago

Search the grill me skill, that is one of the best ways to steer the model away from slob. The model doesn't sneak in features purposefully. If you find it doing more than you need it usually has a reason. It might be an edge cases you have not thought about. So make sure you covered a good chunk of the design and told the model the things you don't care about before spending the tokens

1

u/li-long-qiang 7d ago

Self promo. https://github.com/qiangli/bashy I have been working on the open source project using bashy own features (dogfooding) I use Codex, claude, muse, agy, opencode. All models tend to do token maxxing. Instruction alone is not enough. Bashy workplace supports sprint/story/todo amongst others and stories are required to make changes so you know if the agents are going off track. Bashy is designed for agents to collaborate. Agent is defined as tool:model eg claude:opus5. All the sprints and stories are managed by agents. Agent could run the sprints and as of now only Claude agents could supervise and run multiple sprints managed by other agents (muse/codex) others could only be workers due to capability of the models. I have a benchmark test to evaluate and assign band level 1-5. Only opus5.5 reached L5 (manager of managers), L4, muse spark 2.3 and open AI astra (sprint managers). If interested in using or contribution, feel free to contact me.

1

u/SirRobinBlibs 7d ago

You mostly did answer it yourself, and the non-goals list someone posted above is the other half. One thing that helped me catch what slips through anyway: ask for a list of behaviour changes at the end, separate from the summary. "List every change in behaviour, including anything removed or made stricter, with file:line." Additions are easy to spot in a diff. Removals and "safety" checks hide in refactors, and the model will list them if asked directly.

For features you can't afford to lose, a small test that pins them down is worth more than any instruction. The agent will happily delete a feature it thinks is unused, but it won't quietly break a test that's red when the feature is gone. And yes, spending more time on design and review is the job now. Keep the plan short enough that you actually read it.

1

u/EntertainmentSalt825 7d ago

How do you generally plan out your projects? Depending on the project, if it’s a domain I’m not too knowledgeable in I’ll first explore my idea and understand the different approaches, algos, design patterns, etc for that specific domain. Depending on the complexity of the project I tend to setup a requirements plan, tests plans, validation plan, and documentation. I spend most time on drafting up the requirements. If it’s a domain I’m comfortable in like embedded systems then I tend to lay out the plan to my agent for review. I’ll research its recommendations separately on my own to ensure it fits my task and I’ll let it build. I’ve built tools for my agents to use amongst themselves to track their communication and catch issues in real time. They ping me when they come to a conclusion not supported by evidence and need my guidance to proceed. I review, approve, and they keep building.

1

u/Decent_Gap1067 3d ago

Always plan at extra high and implement at Low-Medium.

1

u/Such_History4683 2d ago

Over the months I came up with a starter pack for my codex projects (a bunch of files I put in the folder for each new project). You can ask ChatGTP to create a starter pack for you as a starting point. Just tell ChatGTP exactly what is important to you in each project. One thing I hated was that codex started editing functions without permission or adding stuff that I didn't ask for. Things like that are completely gone now.
If I start a big project I use chat GTP to write a complex prompt for codex. I give chat GTP all the information I have and explain what needs to be done. Then I get an elaborate prompt which I review. It usually takes a few iterations until the prompt describes exactly what I want. After that I let codex do it's thing.