I Need You to Hear Me Out ![rw-book-cover](https://i.ytimg.com/vi/Noo0NWD0gHU/sddefault.jpg) 🔗 **Source:** [I Need You to Hear Me Out](https://www.youtube.com/watch?v=Noo0NWD0gHU) If you had told me a few months ago I would have to make this video, I would have looked at you very, very strange because I never thought I would be praising Claude code as much as I'm about to, especially in the context I'm about to praise it in. You see, I've been using 56 a lot, but I haven't been using it in codecs. I'm using it in Claude Code. I'm sure you have a lot of questions, as you probably should, because this is kind of dumb. It is so dumb that I tried it out during my early access window and was impressed. And now that I'm getting more and more frustrated with codecs as a harness, a CLI, and more, I decided to go explore using 56 soul in Claude Code a bit more. And the results have absolutely broken me. And it's not just cuz like cloud code is a better UI. It kind of is better than the codeex CLI, but the real benefits are the things Cloud Code does differently. From how it thinks about sub agents to its system prompt to its integrations and more. I already did a video where I praise the good parts of Claude Code. I did not think I would be revisiting this topic so soon, but uh yeah, I have some [clears throat] issues with codecs. This video is going to be a bit chaotic. I'm obviously going to show you how to set up 56 soul in cloud code, but I also am going to talk a lot about the why. Both why I'm so frustrated with codecs and also what Cloud Code is doing better to make me want to reach for it instead. And also a hint of why I'm not reaching for things like Pi as cool as they are. No shots fired at pi at all, but I really need to focus in on cloud code and codecs because there is a new generation of capability with these models. And it is very very important that we understand what these harnesses are doing right and wrong if we want to get the most out of them. But first, I want to make sure you get the most out of today's sponsor. AI has gotten really good at writing code, and it's even gotten decent at reviewing code. So, why is it that code review has never been worse? I'm so tired of just going through these PRs. Like, look at this. Why is it an alphabetical list of files in my codebase? This PR has a thousand lines change. Are you seriously going to tell me I have to sit here and go through every single one of them? Wouldn't it be nicer if this was broken up based on what's actually happening and not the order of the code in the codebase? It'd be really cool if one of our code review agents could do this breaking up for us and give us a way better interface to review our code in, wouldn't it? Oh, it's open, isn't it? Surprise. Code Rabbit has a code review platform now. not just a GitHub plugin, but an actual full website that is way easier to read changes from. They break up the PR into different layers which describe specific changes that the PR makes, making it way easier to review. Each of these sections is a summary and the details that are important called out, and the pieces inside of the layer are prioritized based on what you should be caring about. They even have fancy little guides on the side here that show labeled sections that might be worth checking out. This is particularly useful on gigantic PRs because they're basically impossible to use in the GitHub interface. Since this one breaks things up, it's way easier to find the parts that actually matter and give useful feedback to your team. Merge bigger PRs faster with more confidence at sidv.link/codrabbit. So with that, let's get started with uh what's wrong with codeex. There are layers to this one. I don't want to crash out again about the rebranding of Codex as the ChatgBT desktop app or about the shiit show of the CLI not getting updated as much as the desktop app. Generally speaking, I still think for most people the best way to start using and taking advantage of more agentic engineering is the codeex desktop app on one of the codec subscriptions. This hurts because obviously I want to be pushing people towards T3 code, but the codeex app is a really good starting point. So much so that it inspired me to build my own open source alternative. But I have some issues right now. The biggest issue by far is how Codeex thinks about sub agents. I just filmed a video about ultra mode that's already out. I would recommend checking that out if you want a deeper dive on this. The simplest TLDDR I can give is that there's two versions of sub aents in Codeex. The V1 is stable and very simple. It lets the top level agent spawn a bunch of sub aents one level deeper with specific work and tasks to do and then gets a response when they're done. V2, which is the new unfinished version that you have to manually enable, has the ability to copy the whole context window over by default, which is annoying, and also let the sub aents spin up their own named sub aents beneath them with layering and message passing between them. It takes a very simple hierarchy and makes it a bit absurdly complex and adds a ton of tools that are necessary for all of these things to communicate and the results a bit chaotic and clearly still being tuned. That's why it's off by default. Go check out my video I just did about Ultra if you want a deeper dive on how sub agents are currently working in codecs. The thing I want you to know right now is that I don't like it. And I find that the sub aent workflows, specifically the workflow feature in Claude Code, is much better because instead of having sub agents spawn randomly when the model decides to, the model will upfront define a programmatic workflow with different stages, different prompts, different sub aents at each stage that can spawn work for other stages, all in a single JavaScript file that is executed top to bottom. Because code is a great way to define something dynamic. Since workflows are code, they actually end, which I have found to be a huge win for token efficiency when using the 56 models. They tend to just kind of go forever with Ultra. And I have seen way way less utilization on my limits. When I'm doing this through workflows instead, even for the same task, Ultra can just go forever. Workflows won't. The output quality is the same, if not better, from workflows, and the token usage is like a fourth as much. So much more efficient way of doing things. OpenAI is shipping the code in codeex itself and the model has to call the code correctly. Cloud code lets the model itself write the code for its workflow and for its sub aents which I have found to be much better overall. I found it to be so much better that I wanted to try it myself and that's what inspired me initially to start using 56 inside of cloud code. not fable in cloud code calling 56 over the codec cli but with 56 as the actual model doing the work in cloud code itself. Since then I've been using it a ton and the more I use it the more impressed I get. I have a question for you guys. Which model do you think designed this page? When I look at this it screams Claude to me. This obviously looks like something that Claude made, right? Like Fable or Opus. Clearly, as someone who's looked at a lot of pages that were generated with codeex, it could be something GLM or otherwise distilled off of Claude, but this screams Claude to me. For reference, here's a similar page I did with Codeex in 56 Soul. I don't know about you guys, but the difference in quality here is pretty aggressive to me. I think both are slop. To be clear, this one hurts me a lot less than the one that Codex did. It shouldn't be too surprising to you based on the topic of this video that this page was made with soul inside of Claude code. So why the hell is 56 soul making designs this much better in Claude Code? You probably are going to have the same assumption I had, which is that they have some things in the system prompt for cla code that make it more likely to do good designs. So, I investigated. I read the full Claude Code system prompt trying to find this front-end guidance so that I could bring it over to Codeex and maybe have Codex design better. So, I hunted and the word frontend appears three times. First, it appears with the instructions that for UI and front-end changes, start the dev server and use the features in a browser before reporting the task as complete. This is telling the model to confirm its work. Cool. Makes sense. Not really front-end guidance. Don't worry though, the word front end appears two more times on the page. Oh, they're both here as examples of memory. Huh, strange. Maybe UI appears in here. Oh, yeah, it does twice in the thing we were just at for UI or frontend changes. Huh. Does that mean the system prompt has nothing about design? Why is it designing things so much better? Then something has to be up. I also remember that OpenAI has been bragging about 56 being way better at design, even though I never saw that. But when I was testing 56, almost all of the work I did in it was done in codeex. Turns out I was checking the wrong place. If you were waiting for the crash out, it begins. Now, this is the official Codeex system prompt. You are Codeex, an agent based on GPT5. You and the user share one workspace and your job is to collaborate with them until their goal is genuinely handled. You can tell from the first sentence what you're in for here, can't you? Oh boy. I don't want to spend this whole video reading this to you guys and explaining how horrible it is. Okay, that's a lie. I do kind of want to do that. It is very tempting because I did read this whole thing and however bad you think it is, it is comically worse. I think they might have listened to me and removed the part I want to [ \_\_ ] about the most. So, I'm going to go find a cache version so I could do that there. Thank you to Felipe for uploading this for me. It is very helpful to have. Here is the official front-end guidance that was in codeex up until recently. I I think at least, let me double check. It was an easy way to do this. Yes, they changed it. They listened to me. I crashed out at my friend who works on frontend stuff at Codeex to get this fixed and they did. But can we take a moment to appreciate that it takes a [ \_\_ ] YouTuber to get slop removed from codecs? Why is this my job? Let me show you what I made them remove. This is the previously present official front-end guidance. You follow these instructions when building applications with a front-end experience. First off, build with empathy. If working with an existing design or given a design framework in context, you pay careful attention to existing conventions and ensure that what you build is consistent with the frameworks used in design of the existing application. It gets so much worse from here. I see people in chat already freaking the [ \_\_ ] out. You have no idea how bad this gets. This probably the worst counter psychosis I've ever had was reading this. This feels like it was written for GPT41. You think deeply about the audience of what you are building and use that to decide what features to build and when designing layouts, components, visual styles, on-screen text, and interaction patterns. Using your application should feel rich and sophisticated. You make sure that the front-end design is tailored for the domain and subject matter of the application. For example, SAS, CRM, and other operational tools should feel quiet, utilitarian, and work focused rather than illustrative or editorial. Remember that thing that OpenAI models do where when you tell them to do a thing, they do the thing. This just told the model if you're doing anything that looks like a SAS that it needs to look utilitarian, quiet, and work focused always. And it does always. But this isn't even the bad section of the front-end guidance. You make sure to use icons and buttons for tools, swatches for color, segmented controls for models, toggles/checkboxes for binary settings, sliders/steppers/inputs for numeric values, menus for option sets, tabs for views, and text or icon plus text buttons only for clear commands. Parentheses unless otherwise specified. Cards are kept at 8 pixel border radius or less unless the existing design system requires otherwise. You do not use rounded rectangular UI elements with text inside. If you could use a familiar symbol or icon instead. You build tool tips with names and describe unfamiliar icons when the user hovers over it. Cool. Fine. Point three. You use Lucid icons inside buttons whenever one exists instead of manually drawn SVG icons. If there's a library, use that icon library instead. Whatever. The fact that it's prescribing specific libraries for icons and specific border radiuses for cards is absurd, but we're just getting started here. You build feature complete controls, states, and views that a target user would naturally expect for the application. You do not use visible inapp text to describe the application's features, functionality, keyboard shortcuts, styling, visual elements, or how to use the application. You should not make a landing page unless absolutely required. When asked for a site, app, game, or tool. Build the actual usable experience as the first screen, not marketing or explanatory content. When making a hero page, you use a relevant image, a generated bitmap image, or an immersive fullbleleed interactive scene as the background with text over it that is not in a card. Notice how all of the pages that Codex designs are the same. It's cuz it tells it exactly how to make it look here. It tells it how to structure the homepage to make sure the H1 tag is the brand, product, place, or person name or a literal offer/category. Chad is begging me to stop reading because this is hurting them so much. This is an absolute shitow. And sadly, Neverdra, this isn't a skill. This isn't a thing that you can add to codeex. This is the official codec system prompt directly. Up until yesterday, every single time you sent a prompt to any open model in Codeex, this all came along with it. You have burned hundreds of thousands, if not millions of tokens on this slop. And it took me probably the first person to ever actually read this to get it removed. I'm not trying to talk myself up here. In fact, I'm trying to do the opposite. I don't get why it's my job as a [ \_\_ ] YouTuber to be the one to get this fixed. And I'm at the point now where I am working on building a whole new codec system prompt from scratch by hand. No AI generated anything in it. Prompts should be by hand, especially global ones and skills and things like that. My system prompt will be written by hand by the end of this coming week. And if it works out well, I will share it with all of you and harass OpenAI to copy my changes. But there is so much more in here. I don't want to just sit here and complain because I God. You do not put UI cards inside of other cards. Do not style up page sections as floating cards. Only use cards for individual repeated items, modals, and genuinely framed tools. The word cards is on this page six times. The word card is 12. I feel sick. I'm going to ask you guys a question to the power users of codecs. Have you ever noticed that when you set it off to do some work like babysitting a PR or keeping track of sub agents or just doing something long and difficult that it loves to set timers? Specifically, it really loves to set 30-second timers. Have you guys seen this weird fixation on 30 second time limits in codecs? Because I did and I was suspicious of this. Would you like to know where that came from? You provide user updates frequently, every 30 seconds. I cannot say enough bad things about this system prompt. It is enough of a reason to never trust Codeex again. The fact that this has been shipping for as long as it has, and is burning our tokens, wasting our time, and making our outputs worse is hilarious. And with this, I must issue an apology to my friends on Pi. I underestimated your game. To be fair, this is your fault, too, because you never told us how bad the codec system prompt was because the problem with Codex isn't even the implementation. A lot of it is just this. It is so bad. Don't worry, though. It mentions goblins twice. The codec system prompt mentions goblins more than the cloud code one mentions front end in UI, and it mentions cards six times more than the Claude code prompt mentions front end at all. My chat is crashing out so hard over this right now. What in the [ \_\_ ] This has been [ \_\_ ] with it interacting with Claude 2. Please God, stop this. Yep, you've all noticed this and I'm the first person to figure out why somehow. I'm sure others have and they just don't have a platform enough that they can be loud about it online. But like, what the [ \_\_ ] I did mention before that you shouldn't be using agents to write your system prompts, your skills, and all of those things. Like, just do it by hand. they will come out way better and you can adjust and learn as you go. That said, even most models should be able to see the problems with this system prompt. So, I asked 56 soul in cloud code as well as Fable 5 in Claude Code and of course 56 Soul in Codeex just to double check and be sure to describe all of the things that are wrong with this system prompt and help me rate it. 56 and Claude Code said the following. 7 out of 10 is a prompt for one tightly controlled Codex runtime. Four out of 10 is a general coding agent prompt and three out of 10 is a portable prompt for modern models like 56 soul. Obviously, it is coupled to codeex. It's built for that. That's fine. It calls out that modern models generally understand tool scheas well without the main behavioral prompt repeatedly describing implementation details. These runtime instructions should be generated by the harness not embedded into the reusable prompt. Yeah, sure, whatever. But it redescribes tool calls multiple times throughout. The front end section is far too prescriptive. It's effectively a separate front-end design constitution. It consumes about a quarter of the prompt, even when the task concerns a CLI, database, backend, or a library. Cards must have a 8 a pixel radius or letter spacing must always be zero. All of these things that I went over before. A capable model will obey these, but this doesn't mean the results improve. It may ignore an existing design system, user request, or domain convention to satisfy arbitrary global constraints. And then has a bunch of actively questionable UX guidance like its weird callouts for icon only controls, especially for touch devices, cuz touch devices don't have tool tips. Remember, the ban on visible instructional text is more concerning. Empty states, onboarding, validation guides, accessibility hints, and contextual help are often essential product UI. Yep. Have you ever wondered why Codex never does good empty states? It's the system prompt. They also have a bunch of weird stuff in there like continue until solved. That is probably part of why 56 doesn't stop when it should sometimes. You ever wondered why Codeex loves to just start building when you're in the early stages of planning? It's right here. Autonomy and persistence. Unless the user explicitly asks for a plan, asks a question about the code, is brainstorming possible approaches, or otherwise makes it clear that they do not want code changes yet, you assume they want you to make the change or run the tools needed to solve the problem. In those cases, do not stop at a proposal, implement the fix. If you hit a blocker, try to work it through yourself before handing the problem back. I am very thankful OpenAI lets you use your codec sub other places right now. I love that I'm seeing in chat as I do this people saying, "Oh my god, that's infuriating. I've been [ \_\_ ] by that exact prompt. I forgot it includes callouts about limiting dominant purple and purple blue gradients, beige, cream, sand, and tan, dark blue, and slate in brown/or espresso palettes. Scan CSS colors before yada. You get the idea. They tried to make 55 better at design by putting a bunch of rules in made it worse. They tried to make 55 more persistent by putting a bunch of rules in and made it worse or different. And all of these things were still applied on 56 where they should not have been. Apparently, the changes they made for the front-end design stuff is only for 56. It's still applied for 55. Even better. We're unlikely to change the current system prompt for 55 because it was used during training, but I'll pass your feedback along to the team. Even 56 soul in codeex had a lot of negative things to say. Specifically called it four out of 10 prompt implementation and tore apart a bunch of things that are wrong with it. I think there's even more than that. The point I'm trying to make here is that the system prompt feels more thrown together than crafted. And I've [ \_\_ ] on clawed code and the insane length of their system prompt and whatnot. It's a lot better here. I think they're actually writing a decent bit of it. You're an interactive agent that helps users with software engineering tasks. Use the instructions below and the tools available to you to assist the user. They added some inserts here about what to not do with like hacking and whatnot. Starts with descriptions of what the user will see. It says all text you output outside of tool use is displayed to the user. Output text to communicate with the user. Cool. That is fine. Tools are executed in a user specific permission mode. Yep, makes sense. Doing tasks. The user will primarily request you to perform software engineering tasks. This may include solving bugs, adding new functionality, yada yada. You're highly capable and often allow users to complete ambitious tasks that would otherwise be too complex or take too long. You defer to user judgment about whether a task is too large to attempt. For exploratory questions, respond in two to three sentences with recommendations and the main trade-offs. Present it as something the user can redirect, not a decided plan. Don't implement until the user agrees. This is the opposite of the codeex one. It's actually quite nice to have the model ask some questions. Prefer editing existing files to creating new ones. That's nice. Says be careful to not introduce security problems. This probably doesn't need to be inserted anymore, but not the worst thing. Default to writing no comments. Only add one when the why is non-obvious. A hidden constraint, a subtle invariant, a workaround for a bug, behavior that would surprise a reader. If removing the comment wouldn't confuse a future reader, don't write it. These are reasonable guidelines, and all of these are simple and pretty general. Executing actions with care. Carefully consider the reversability and blast radius of actions. Generally, you could freely take local reversible actions like editing files or running tests. But for actions that are hard to reverse affect shared systems beyond your local environment or could otherwise be risky or disruptive, check with the user before proceeding. Just like the way this is written, the tone of it, the actual details of course as well. It's not that bad. It's actually decent. It gives a list of examples that are things it should verify before doing like destructive operations, hard to reverse operations, actions visible to others. Meanwhile, I just saw poor Matt Schumer get his entire system like user folder deleted by Soul running in Ultra in Codeex. So maybe Codex needs these warnings now too. There's a simple tone and style section. It says only use emojis if the user requests it. Your responses should be short and concise. When referencing specific functions or pieces, use the pattern file path colon line number. Don't use a colon before tool calls. Your tool calls may not be shown directly in the output. has things to not save. Memory is complex. I'm happy that they gave it enough instructions here to do it right. It gives info on the environment it is in. It gives the tools. It has instructions on how to create a pull request, which are a little more specific than I like and make it in formats I don't love. This is one of the few things I would actually change here. Their edit tool I still hate how Claude Code does edits, but that's a rant for another time. Schedule wake up is cool. It doesn't specify to wait 30 seconds. It gives it info on how to pick a good amount of delay, which is useful. It then gives a description of skills, tool search, and that's it. It's not that long. I read through the whole thing, and it wasn't too bad. Meanwhile, the more I read the codec system prompt, the more I questioned my whole life up until this point. Yeah, that's enough of the codeex crash out for now. I think a cleaning of house is in order on that side, though. the system prompt is so bad that it should just be deleted and rewritten from scratch and they need to make some really really intense benchmarks to measure success and failure as well as auditing the histories to see how cringe its interactions are. This is bad beyond what is acceptable. So you've established what's wrong with Codeex and a good bit of what's better in cloud code. The system prompt is better. Workflows are [ \_\_ ] awesome. It's UX in the terminal is better overall. The CLI for Codeex is rougher than it should be right now. One last thing before we do the setup though, I want to talk about the gotchas that I've been experiencing using codeex models inside of Cloud Code. Admittedly, there have been fewer than I expected. First off, I've noticed it sometimes loses track of what it's doing a little bit more. This could be changes in how context is managed, but I honestly think this is just something small in the system prompt. Here is an example where I had it making changes alongside two other agents. All three were making HTML files for me to go review the feedback it was giving and two of them happened to come up with the same name for the HTML file. One was using Fable and it wrote fine and made the URL fine. This one was using 56 soul and it tried to write the file. It already existed. So, it said it would leave that file untouched and publish a new report with a distinct file name. So, it did its own different file instead. Of note, though, is that I told it to use my HTML plan skill. And my HTML plan skill explicitly tells the model to use the web host through the CLI I gave it to host this model. This skill is meant to give the model the ability to upload the HTML with a link that I can click and look at. It's one of my favorite things I've built, my silly little post plan site. And it even says here, I'll keep it standalone and responsive. Then publish through post plan as requested. It failed the right. It noticed the file already existed. It made the new file. Oh, wait. I was wrong. I thought it didn't host it. This is a link. It's just not familiar with the formatting here. I'm used to the model spitting out an actual link. This is somehow a clickable link. Even though it doesn't look like that here at all, I was wrong. I thought it just didn't do that step. It did. I asked it. And here it gave me the actual link in text. that makes more sense. I was wrong about that. Mostly it's good about these things. Like it does stay on task largely fine. It just doesn't know how to use the formatting. Great. And I have noticed this in other places too. Like here when it did the number based formatting, it screwed it up a little bit. Like here it's number one. It's heavily coupled to one specific runtime has a chunk and then one again. Modern models generally understand yada yada. Then it has two twice then it has three twice and then four twice. I think this is something weird about how markdown formatting works in cloud code, but 56 isn't doing it right. Clearly, remember the reason I wanted to do this initially was for Ultra Code and specifically for workflows because I wanted to see how good 56 could do workflows and it does them great. There was a problem though. It is an append to the system prompt that says, "Hey, please, please, please use workflows for this task." This works great with cloud models. You can tell it to use them for your workflows and orchestration. For example, here I told it that I want to better understand this codebase. It's the codeex codebase and I want it to analyze with a workflow. Use 56 soul, 56 terra, and fable 5 all on high reasoning levels to analyze the codebase. I want it to have the info when I ask it a vague thing like this so that it will orchestrate properly. So, I'll probably put it in my system prompt in some way or my global agents MD. There's a lot of places you can put it, but as long as you give cloud code the ability to know what you mean by soul terra and other things, or you just specify them correctly here, you're good to go. There's a couple other small catches, like for example here, the 56 models don't report how many tokens they're using until the work is done. Babel will give you live updates about how many tokens it's using. It's a small thing, just one of the few I noticed. Overall, I've actually been really impressed with this and I already see the comments coming in, so I'm going to address them now. Why not open code or pi or oh my pi or whatever harness is popular today? The reason is because they don't solve the problem I care about. Sure, their system prompts are less bad than codeex is, but they don't solve the sub agent orchestration problem, which is the thing I am most excited about here. Oh my PI absolute [ \_\_ ] slop. It froze my terminal for two minutes when I installed it because they thought it was a good idea to post their entire 150 page change log in formatted markdown in my terminal, destroying my entire scrollback and just destroying it entirely. It was real bad. Pi is great, but you're going to have to build all of these workflows and orchestration tools yourself. Open code has a bunch of hard-coded sub agents that aren't very good. The v2 of open code might be better. I have not explored it at all yet, but none of those have workflows. And to be real, and to be very, very clear cuz I started here. I did this for workflows. The workflows in Cloud Code are the best implementation I have seen of orchestrating sub agents on real day-to-day work for people who are employed that I've ever seen by far. If you want to have an agent break up other agents with other models, to do complex work, to take turns and have phases throughout, to kick off things that matter and ignore things that don't, and have an actual end, workflows are the best solution I have found for this by far, and nothing else comes close. To be very clear, I don't think workflows are this super complex feature that no one else can implement. In fact, Codex told me to just add it to Codex myself when I asked it about that versus using it in Claude Code. You can absolutely do this. That all said, Claude Code has this figured out. They have a good system for it built in. They have good UI built for it too in the terminal, at least the desktop app less. So, they have a system prompt that properly steers models to do it right. And they have a harness that is good enough. One last cool thing that I'm sure you probably could have guessed. CLI proxy API supports things other than cloud code and codecs and subs from those platforms. So if you want to bring in subscriptions from other places like a cough cough gro because you have an existing Twitter premium account, you can here. It's actually a pretty good value. You get a slightly absurd amount of usage out of the $20 a month Twitter plan if you use it with Grock Build. And if you don't want to use grock build and you want to use it in other things, you can now get Opus45 in Claude Code by just adding it here. I had a lot of fun with this one. And again, to be clear, I don't think everyone should go exclusively use their codec sub through Claude Code. I just thought it was a fun experiment with results that were much better than I expected. And now I'm just curious if you guys are interested enough to do the same yourself. Am I insane for going this deep, or is this actually kind of fun and interesting? Are you going to set it up yourself? Or maybe you're just going to point your agent at this video and ask it to do it for you. Let me know how all of that goes. I'm genuinely curious. I'll keep an eye in the comment section., I Need You to Hear Me Out, youtube.com, 01kxngdq54es6th9avk9c1waqb.