Hacker Newsnew | past | comments | ask | show | jobs | submit | lukax's commentslogin

What matters more is that you use the tools that the target model was fine-tuned on.

E.g. for editing files with Claude models you should use Edit(file_path, old_string, new_string, replace_all) but with GPT models you should use apply_patch_call(patch) (where patch is a custom patch string with custom grammar).

It appears newer models are better at narive harness tool calls and worse at custom tools that look similar to default tools.

https://lucumr.pocoo.org/2026/7/4/better-models-worse-tools/


This is correct. People seem to get the wrong idea about why agentic coding is even a thing in 2026. The naive AI techno optimist which has basically displaced the vast majority of opinions on HN, thinks that the models got "smarter" [0]. No, the training distribution shifted towards training on agentic sessions which made certain forms of agentic coding "in-distribution".

We are still witnessing the same underlying problems of transformers.

[0] Think back to all the publicity stunts like the Hugging Face. They are meant to convince you that the agents have somehow progressed past the transformer limitations when those publicity stunts are actually expressions of transformer limitations.


You think the hugging face incident was a stunt? Can you explain?

OpenAI started fearmongering way back with GPT 2, arguing that model was too dangerous to release freely. That model was barely coherent enough for using it as a twitter bot. Anthropic just hopped onto that later. Conveniently, calling for regulation now would ease the competition from open Chinese models, opening the chance for both companies to eventually reach positive ROI, with consumers paying the price.

The burden of proof that this isn't just a publicity stunt again is squarely on them.


There's a widespread perception that models are worse for prose and creative writing now. That would track.

yea, plus they have been rlhf'ed to an inch of their lives as well. hard to tell if frontier models can solve more problems because of that or not.

> It appears newer models are better at narive harness tool calls and worse at custom tools that look similar to default tools.

This is true. For example, the other day I was doing some testing with DeepSeek-V4-Flash-0731, and I gave it a tool called "EditFile" with "old_content" argument. It ignored the tool definition and called it with "old_string" instead, presumably because it was trained on a bunch of Claude Code traces.

So either make sure your tools look nothing like the tools in the popular harnesses, or make them similar.


> or make them similar.

identical. similar is what you tried and it didn't work.


No. You don't need identical. For example, I have extra arguments in my edit file tool that the model can specify, and that works just fine.

Backwards compatible then.

Doesn’t that have more to do with the templating of tool-calls and how using them are presented to the models?

Or is that just why my model likes to break out of the sandbox, going strait to exec shell command and editing files using python on the cli?


I’m not really a dev, so hefty pinch of salt with this take, but doesn’t this feel like we’re just inventing new “fuzzy” regex with much more required compute?

> inventing new “fuzzy” regex

not RegEx ... more like a "fuzzy" DSL.


comparing LLMs to regex is like the OG dropbox comment (https://news.ycombinator.com/item?id=9224).

I can understand this take 4-5 years ago but I have no idea how that's your position in 2026


In practice, if you’re using both Anthropic and OpenAI models, how can you configure Pi (or any other harness) to use these native tools?

I’ve seen this before and the conclusion ends up being “use the native harness”, which I don’t think is an acceptable solution.


OpenCode checks model name and registers the appropriate tools.

const usePatch = model.modelID.includes("gpt-") && !model.modelID.includes("oss") && !model.modelID.includes("gpt-4")

Pi uses its own tools, like Armin wrote in the linked article.


https://news.ycombinator.com/submitted?id=vertigoruntime

This looks like a new account from a PR agency focusing on AI labs.


This is only a problem with OpenAI Chat Completions API. With OpenAI Responses API and Anthropic Messages API a tool output can be text, image or file.


Oh, you're right! From the responses API reference:

> For function_call_output / custom_tool_call_output items. The output of the tool call, either a plain string or a

> list of input_text / input_image content parts. With the deepseek-v4-flash-vision-exp model, input_image parts in

> the output are processed as real images; with other models they are replaced with a placeholder text.


DeepSeek-V4-Flash

Input (Cache Miss)

Previous: $0.14

New - Off-Peak: $0.22 (approx. 1.57x)

New - Peak: $0.44 (approx. 3.14x)

Input (Cache Hit)

Previous: $0.0028

New - Off-Peak: $0.007 (2.5x)

New - Peak: $0.014 (5x)

Output

Previous: $0.28

New - Off-Peak: $0.66 (approx. 2.35x)

New - Peak: $1.32 (approx. 4.71x)

---

DeepSeek-V4-Pro

Input (Cache Miss)

Previous: $0.435

New - Off-Peak: $0.66 (approx. 1.51x)

New - Peak: $1.32 (approx. 3.03x)

Input (Cache Hit)

Previous: $0.003625

New - Off-Peak: $0.022 (approx. 6.07x)

New - Peak: $0.044 (approx. 12.14x)

Output

Previous: $0.87

New - Off-Peak: $1.98 (approx. 2.27x)

New - Peak: $3.96 (approx. 4.55x)



They somehow forgot to mention that Hugging Face tried to use frontier models to analyze the attack but all models rejected. They had to use GLM 5.2 deployed locally.

https://huggingface.co/blog/security-incident-july-2026


Well in that case, HF clearly isn't an organization worthy of Mythos-Class intelligence ;)

/s


I can highly recommend Rust for this. The same Rust engine powering web app (WASM + React), iOS (SwiftUI), Android (Kotlin Compose) and desktop (Tauri).

https://github.com/koofr/vault


Honestly nowadays Swift seems a better fit IMHO, though it is probably a matter of taste.


Also for WASM? It's just not really there compared to Rust's wasm bindgen.


Ah WASM I don’t really know. I know they are actively working on it[1], but I could not tell you where they’re at exactly, especially compared to bindgen. I wanted to try some time ago, but it really was not ready, and now I don’t have the time anymore (:

[1] https://github.com/swiftwasm/WasmKit


Could it be that users of Pi are more senior and know better how to prompt and that's why the pass rate is higher?


they explain this is a benchmark, all models/harnesses receive the same prompt


Yes, this is a known issue. A significant amount of Edit tool calls fails in Pi witg newer models.

https://lucumr.pocoo.org/2026/7/4/better-models-worse-tools/



I don't understand peoples expectation. If our language skills were as non-ambiguous as a coding language, we'd have solved world hunger by now.

So why would we expect all these bizarre bizantine language models to all conform to how a request is both made, expected and massaged.

For awhile, I was getting bizarre opencode tool errors where the only problem was the model was passing in a "1.0" or "0.0" where the harness dutifully wanted an integer. Of course 0.0 is the same as an integer in practical operations.


I have one core complex task where there are a number of simple errors like this. The easiest thing for me was to just have a post-processing script that performs: lint > mark known fail-early results > fix common errors (all formatting or type errors right now) > relint > final pass / fail > pass to next step (retry with tweaks / user in the loop since I don't have the token budget to just blindly keep trying the same thing).


Well, Microsoft just started offering Kimi K2.7 through Copilot hosted on Azure.

https://github.blog/changelog/2026-07-01-kimi-k2-7-is-now-av...

Cursor Composer 2 and 2.5 are also fine tunes of Kimi K2.5

It looks like politics don't matter when it comes to economics.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: