| ▲ | buildbot 4 hours ago |
| I’ve observed exactly these patterns with Opus and Fable as well - for example, forgetting that they can edit files and instead use python scripts as a patching tool… |
|
| ▲ | nvch 3 hours ago | parent | next [-] |
| The harness instructs them to behave this way. Also this approach saves tokens. The scripts allow to edit files in bulk, and most of the session cost is in cache reads (e.g. for 300K context each command costs the same as 30K input tokens). |
| |
| ▲ | lelanthran 2 hours ago | parent | next [-] | | > The harness instructs them to behave this way. Also this approach saves tokens. The scripts allow to edit files in bulk, and most of the session cost is in cache reads (e.g. for 300K context each command costs the same as 30K input tokens). I understand the reasoning, but at that point wouldn't the LLM be better off creating `sed` commands and executing those? I mean, if it's already executing Python, it can literally do anything to the environment, so using `sed` is at least as safe, with a bonus that it (or a subagent, or a human) can double-check the intention with the sed script and flag incorrect or missing changes. | |
| ▲ | TeMPOraL 2 hours ago | parent | prev | next [-] | | Also it's the only way that makes sense when you need to work with big files, or large amount of files, or documents that look small when fetched through a RAG tool, but then you read one and get hit with couple megabytes of base64-encoded binary data you didn't expect because RAG tool stripped out embedded images... Ask me how I know. Or don't. I have a standing rule for all agents warning about that failure mode (and related, doing `ls` in `/tmp` and few other directories that like to accumulate files by the hundreds..) | |
| ▲ | dools 3 hours ago | parent | prev [-] | | My harness forbids it, they end up spending time debugging their scripts |
|
|
| ▲ | jaapz 4 hours ago | parent | prev | next [-] |
| Why would you use a constrained edit tool when you are also allowed to use the complete power of python? |
| |
| ▲ | zarzavat 4 hours ago | parent | next [-] | | Because the complete power of Python also includes the power to fuck things up. | | |
| ▲ | orphereus 3 hours ago | parent [-] | | So does using an LLM. | | |
| ▲ | TeMPOraL 2 hours ago | parent | next [-] | | In fact, that's kind of the whole point of using LLMs in the first place. Their value is in their general capabilities. | |
| ▲ | Vegenoid 2 hours ago | parent | prev [-] | | …which we attempt to constrain by encouraging the use of tools that make it harder to fuck shit up. |
|
| |
| ▲ | dools 3 hours ago | parent | prev | next [-] | | Having an agent edit 100 files means the job will definitely get done correctly. When it writes a script to bulk edit things it fucks up and spends ages debugging their script. | |
| ▲ | oefrha 3 hours ago | parent | prev | next [-] | | Have you ever counted the number of times Claude fucked up quoting/escaping and had to issue a corrected tool call? Or get stuck in some tricky quoting situation for two minutes, throwing a couple piles of shit at the wall to see what sticks. IIRC I’ve even seen it eventually using the edit tool out of frustration once. | |
| ▲ | rootlocus 4 hours ago | parent | prev | next [-] | | Simple is better than complex
Complex is better than complicated Or something, I don't remember... | | | |
| ▲ | oblio 4 hours ago | parent | prev [-] | | Why even offer the edit tool in that case? Also, what kind of editing could they possible do what wouldn't be possible with POSIX ed? | | |
| ▲ | arcanemachiner 3 hours ago | parent [-] | | You can chain a lot more commands together with this technique than with a single Edit tool call. | | |
| ▲ | oblio 2 hours ago | parent [-] | | The funny thing is that... POSIX ed is composable :-) You can do a gazillion edits with it in one shot. Of course, LLM edit tools are probably small bits of their custom code, I just find it funny. I wonder if it's a desire for certain technical characteristics that require custom code or just a lack of info on basic tools. Heck, if it's about platform availability, using an LLM to port ed to Windows (for example) should be trivial[1]. * * * [1] And there are probably a million existing ports. Also, sed, ex, vi, whatever. |
|
|
|
|
| ▲ | whstl 3 hours ago | parent | prev | next [-] |
| This is an instruction by the harness. It re-injects the prompt every other message, so that's why it "forgets" to use the Edit tool. |
|
| ▲ | llama-for3ver 4 hours ago | parent | prev | next [-] |
| this is intentional, afaik agents do better with python and alike than the harness tooling. |
| |
| ▲ | exceptione 2 hours ago | parent [-] | | Using python or any other stone-age approach for search and replace is stupid when your language provides you with a complete, fully typed AST, like .NET does. |
|
|
| ▲ | ZeWaka 2 hours ago | parent | prev | next [-] |
| I use AST replacers, much more reliable. |
|
| ▲ | d5lt5 4 hours ago | parent | prev [-] |
| Sounds like you don't have enough experience with coding agents. Deterministic scripts must always be preferred instead of LLM tool calls.
In fact, you should instruct your agents to write code to execute instead of letting them call tools. |
| |
| ▲ | buildbot 2 hours ago | parent | next [-] | | Plenty of experience ;) | | |
| ▲ | d5lt5 2 hours ago | parent [-] | | Then why did you comment what you commented, good sir/madam. Claude and Codex are good at remembering to use scripts instead of tools these days, especially if your <32kb .md file mentions it. Not even talking about the skills designed to catch such issues. |
| |
| ▲ | weird-eye-issue 4 hours ago | parent | prev [-] | | Sounds like you completely lack all reading comprehension ability LLMs sometimes like to execute one-off Python scripts to make edits to files rather than just calling the edit tool directly. Both are tool calls so saying that you should have it write code instead of doing tool calls makes no sense because writing code is a tool call for it... | | |
| ▲ | d5lt5 3 hours ago | parent [-] | | [flagged] | | |
| ▲ | elAhmo 3 hours ago | parent | next [-] | | Are you saying scripts from agents are deterministic? :) | | |
| ▲ | d5lt5 3 hours ago | parent [-] | | Why don't you try to dispove me. Yes, they are _more_ deterministic than tool calls and consume less tokens. | | |
| ▲ | elAhmo 3 hours ago | parent [-] | | There is nothing to disprove as you don't understand what does a word mean. Deterministic is not a spectrum, they can either be deterministic or not. In both cases, they are not. | | |
| ▲ | d5lt5 3 hours ago | parent [-] | | Oh, I'm so sorry I touched your paper feelings. How dared I to imply that some LLM output is more deterministic than the other, your LLM majesty. Shame on me and my entire family! For generations to come! So sorry I implied that the code that doesn't work and has to be fixed later is deterministic in its execution and can be reused later instead of being re-generated from scratch! Will I ever wash it off my name, your grace? |
|
|
| |
| ▲ | arcanemachiner 3 hours ago | parent | prev | next [-] | | They're talking about writing a file with a harness-native Edit tool. They're saying the agents aren't doing that, but are using ad-hoc methods of writing the files. (My agents seem to prefer see these days.) | | |
| ▲ | d5lt5 3 hours ago | parent [-] | | Why do you think your agents prefer to create scripts instead of doing tool calls these days? I wonder, is it easier to modify a script that agent wrote before to satisfy your prompt, or is it easier to write a new one from scratch each time a retry happens? Are input tokens more expensive than output tokens? | | |
| ▲ | weird-eye-issue an hour ago | parent [-] | | My god. They are not reusing the scripts. They are adhoc, inline Python scripts just used to make a single edit. You seem to fundamentally not understand what everyone else is talking about |
|
| |
| ▲ | 3 hours ago | parent | prev [-] | | [deleted] |
|
|
|