It is now January 23, 2026, early morning.
Regrettably, I found that the Agent performed worse than a one-shot LLM in translation tasks. It seems the Agent's strengths lie more in tasks requiring multi-step reasoning and decision-making, rather than simple single-step tasks. The Agent used 10 times the number of tokens compared to the LLM, but the translation quality actually degraded, especially with YAML Frontmatter, where it even introduced formatting errors.
I originally intended to use it to solve the issue of one-shot LLMs exceeding the maximum output length limit in long-text translation tasks, but it appears it's not that simple. Therefore, I rolled back this feature in CZON version 0.5.2 to reconsider the approach.
I believe this might be because Agent scenarios typically involve complex tasks with massive amounts of information, so they are designed to minimize reading and writing to the context. They are also designed to prioritize local file reading and writing to increase the data processing capacity of the Agent. This context management strategy means it doesn't default to incorporating all information, preventing it from fully utilizing contextual information for translation like a one-shot LLM does.
Interestingly, for some low-resource language translation tasks (e.g., Simplified Chinese to Indonesian), the Agent occasionally exhibited a repetitive translation loop, failing to converge to a stable translation result. This might be due to a flaw in the Edit tool when handling certain languages, causing it to fail to correctly replace text and thus fall into an infinite loop. (Being too frugal might also be problematic.)
I thought of two solutions:
- Use an Agents / Sub-Agents framework to decompose the translation task, such as a translation-proofreading adversarial generation framework.
- Use a Skill to assemble a low-level one-shot LLM API, allowing the Agent to call a translation skill instead of performing the translation itself.
I might prefer the first solution, as its potential seems higher. I'm just not sure about OpenCode's support for complex Agent calls.
Additionally, the CZON changelog:
- 0.5.0: Integrated OpenCode for translation tasks. (However, it introduced performance issues when translating a large number of files, which were fixed later.)
- 0.5.1: Fixed the issue where frontend static resources (tailwindcss) failed to load due to inability to access jsdelivr from within China. (Achieved by downloading CDN files locally during the build phase.)
- 0.5.2: When a slug already exists, it no longer updates the slug to prevent changes in content from altering the slug. (This avoids historical link failures caused by log file renaming); Rolled back the Agent translation feature, removing OpenCode integration for translation tasks.