|
其实在发表这个观点之前,吴恩达老师还专门做了一个Agentic的翻译工作流,用来更好地解释什么是Agentic。 这篇文章,就结合公开的核心代码,讲解一下什么叫做Agentic工作流以及这个过程中最重要的是什么。 TL;DR- Agentic翻译工作流,通过引入反思和改进两个步骤来优化翻译结果,使其比单纯的直译更为智能和有效
- 这种工作流可以看作是一种结构化的提示工程,依赖对业务流程的深入理解来构造有效的提示词,从而优化大模型的输出结果
代码分析吴老师公开的这个小项目真的很小,核心代码就一个文件——src/translation_agent/utils.py,虽然这个文件有近700行,但是简单看下,就只有12个函数。这12个函数,可以按照下面来分析: - 8个函数是具体的翻译流程,共处理长短不同的翻译原文这两情况
- 剩下的2个,1个是封装输入输出的主函数,1个是封装大模型调用的函数。
我们这里只分析下短文本的翻译流程,因为这是Agentic翻译工作流的重点: 这三个步骤,仅仅通过提示词的构造,便可以实现。 正是因为这个工作流中有了反思与改进,才使得这个工作流比仅仅通过一个直译的工作流要更加Agentic。 紧接着,对于一个具体的任务,该如何让大模型对初始结果进行反思和改进?这就需要业务专家来制定了。我们来通过具体的提示词来说明。 unsetunset反思的关键提示词unsetunsetWhenwritingsuggestions,payattentiontowhethertherearewaystoimprovethetranslation's (i)accuracy(bycorrectingerrorsofaddition,mistranslation,omission,oruntranslatedtext), (ii)fluency(byapplying{target_lang}grammar,spellingandpunctuationrules,andensuringtherearenounnecessaryrepetitions), (iii)style(byensuringthetranslationsreflectthestyleofthesourcetextandtakesintoaccountanyculturalcontext), (iv)terminology(byensuringterminologyuseisconsistentandreflectsthesourcetextdomain;andbyonlyensuringyouuseequivalentidioms{target_lang}).
Writealistofspecific,helpfulandconstructivesuggestionsforimprovingthetranslation. Eachsuggestionshouldaddressonespecificpartofthetranslation.
可以看到,代码里着重强调了在直译基础上,增加对准确性、流畅性、风格、术语方面的建议。当然,也许你在翻译某些领域的内容时,会有不同的建议,那你也可以仿照上面的形式,增加反思的点。 unsetunset改进的关键提示词unsetunsetPleasetakeintoaccounttheexpertsuggestionswheneditingthetranslation.Editthetranslationbyensuring:
(i)accuracy(bycorrectingerrorsofaddition,mistranslation,omission,oruntranslatedtext), (ii)fluency(byapplying{target_lang}grammar,spellingandpunctuationrulesandensuringtherearenounnecessaryrepetitions), (iii)style(byensuringthetranslationsreflectthestyleofthesourcetext) (iv)terminology(inappropriateforcontext,inconsistentuse),or (v)othererrors.
Outputonlythenewtranslationandnothingelse.
这里改进的关键词,则与反思中的建议一一对应,指引大模型按照上面的建议对直译的结果进行修改,并直接输出修改后的内容。 总结通过这个简短的翻译例子,我们可以看到Agentic工作流其实可以看成是一种结构化的prompt工程,结构化具体的体现就是在原始的直接输出结果的prompt之上,通过引入反思和改进,来优化大模型完成具体任务的效果。而具体prompt的构造,则需要对业务流程的深入理解。 |