Coze + Bot API:实现带自我反思的高质量长文翻译 Agent
很多人熟悉的吴恩达老师前段时间发布了一个开源项目 translation-agent,提出了一种利用 LLM 进行自我反思并完善的自动化长文翻译智能体。于是我们尝试在 Coze 平台上类似地实现一个翻译智能体,本文将分享这个过程。
Translation-agent 工作流程
借助 LLM 与提示词可以很简单的让模型将一段文本从一种语言翻译成另外一种语言,但有时也会存在一些问题:
- 翻译仍然存在准确性、流畅度、文字风格等方面的不足
- 涉及到长文本时,比如超出模型的最大输出 tokens,处理较麻烦
Translation-agent 采用的工作流程大致如下:
- 对短文本块(不超过最大允许的 tokens 数量)的翻译过程为:
- 通过提示词让 LLM 将文本从一种语言翻译到另外一种语言
- 让 LLM 对翻译的结果进行反思,提出各方面的改进建议
- 再次让 LLM 根据生成的改进建议对初始的翻译进行完善并输出
- 对于长文本来说,只需要通过相应算法将长文本分割成相对均匀的小'文本块',再对多个小文本块进行循环处理即可。
接下来我们在 Coze 平台上来模拟实现这个翻译 Agent。为了简化处理,这里直接把翻译语言固定成从英文翻译为中文,你当然可以根据需要把这两种语言做参数化。
单文本块的翻译与反思
我们首先来构建单文本块的翻译与反思工作流。在 Coze 中创建一个新的工作流,然后开始配置:
【初始翻译】
创建大模型节点,并作如下配置,输入一个源文本,输出一个翻译文本,注意这里的提示词是比较简单的:

【反思】
将初始翻译的结果输入到反思节点,并配置反思的大模型提示。在原项目中,除了源语言和目标语言之外,还有一个国家的参数 (country),这个参数用来生成更符合该国语言风格的翻译,此处我们也暂时忽略。输入参数是源文本与初步翻译的结果,输出参数是反思的建议:

【改进翻译】
通过模型的反思得到建议后,通过再次输入 LLM 要求根据反思建议进行改进,输出更加完善的翻译结果即可,这里需输入源文本、初始翻译结果以及改进建议三个参数:

【试运行】
我们选择一段 Llama3 的介绍英文来测试,使用国内的智谱 GLM-4 模型:

这里观察到在运行期间 LLM 给首次翻译提出的改进建议,客观的说,有的建议可能并非完全必要,但整体而言还是在上下文准确性、流畅度、减少重复上有相当的意义:







