先懂 Python 类,再学翻译智能体
为翻译智能体学习打基础的一篇入门文章
导读:大多MTI同学都是文科背景,一看到“翻译智能体Agent”就觉得高大上,看Python代码也觉得抽象,其实它并不神秘。只要理解Python中的class、object、attribute、method和self,就能看懂一个智能体乃至多智能体的底层逻辑。一、为什么学习翻译智能体之前,要先懂 Python 类?
翻译智能体听起来像一个很新的概念,但从程序实现角度看,它首先是一个“对象”。这个对象有自己的名称、角色、任务、工具和记忆。它可以接收任务,组织提示词,调用大语言模型,保存输出结果,并把结果交给下一个智能体。
如果不了解Python的类,就很容易把智能体理解成一个黑箱:只知道它能翻译,却不知道它内部如何保存信息、如何执行任务、如何与其他智能体协作。
因此,在讲翻译智能体之前,先讲清楚 Python 类,是非常必要的一步。
二、从变量和字典开始:类解决了什么问题?
假设我们要保存一个学生的信息,最简单的方式是使用变量:
student_name = "Li Ming"student_major = "Translation Studies"student_score = 86
如果只有一个学生,这样写没有问题。但如果有几十个学生,变量名会迅速膨胀,代码也会变得混乱。于是我们可以使用字典:
student = { "name": "Li Ming", "major": "Translation Studies", "score": 86}
字典能把相关信息放在一起,但它仍然只是数据容器。它没有清楚表达“学生”这个对象能做什么,例如自我介绍、修改成绩、判断成绩等级等。类的价值就在这里:它把数据和操作放在一起。
一句话理解:变量保存零散信息,字典保存一组信息,而类可以定义一类对象的结构和行为。三、类和对象:模板与实例
类可以理解为“模板”或“设计图”,对象则是根据这个模板创建出来的具体实例。
class Student: passs1 = Student()print(type(s1))
四、__init__ 和 self:很多学生最容易卡住的地方
真正有用的类通常会有 __init__ 方法。它会在创建对象时自动执行,用来初始化对象的属性。
class Student: def __init__(self, name, major, score): self.name = name self.major = major self.score = scores1 = Student("Li Ming", "Translation Studies", 86)print(s1.name)
self 可以理解为“当前这个对象自己”。self.name 表示对象内部保存的 name 属性。外部传入的 name 是参数,self.name 是对象自己的数据。五、从类过渡到 Agent:翻译智能体到底是什么?
有了类的基础,再看翻译智能体就清楚多了。一个Agent类通常包括名称、角色、大模型接口和记忆。
@dataclassclass Agent: name: str role: str llm: Any memory: Dict[str, Any] = field(default_factory=dict) def run(self, task: str, context: Dict[str, Any]) -> str: prompt = self.build_prompt(task, context) result = self.llm.generate(prompt) self.memory[task] = result return result
这段代码的核心逻辑是:Agent 接收任务和上下文,构建提示词,调用大模型,保存结果,并返回输出。六、多个对象协作,就是多智能体系统
在翻译智能体课堂中,可以设计多个 Agent 对象:术语智能体、翻译智能体、审校智能体和风格编辑智能体。它们分别完成不同任务,然后把结果交给下一个智能体。
term_agent = Agent("Terminology Agent", "术语专家", llm)translator_agent = Agent("Translator Agent", "译者", llm)reviewer_agent = Agent("Reviewer Agent", "审校者", llm)context = {"source_text": "A translation agent is changing translation workflow."}terms = term_agent.run("术语识别", context)context["terms"] = termsdraft = translator_agent.run("生成初译", context)context["draft"] = draftreview = reviewer_agent.run("审校译文", context)
学习翻译智能体,不是先学一个复杂框架,而是先理解“对象如何保存信息、执行任务、相互协作”。结语:把“智能体”还原为容易理解的对象
对初学者来说,“智能体”容易显得抽象甚至神秘。但如果从 Python 类的角度切入,它就变得清楚了:智能体有属性,有方法,有记忆,也能与其他对象协作。理解了这些,学生再学习翻译智能体、工具调用、术语库、翻译记忆库和多智能体工作流,就会顺畅得多。
先懂 class,再懂 Agent;先懂对象,再懂协作。