宝玉的分享 前天 09:40
我用 Claude Code 花 2 小时没写一行代码做了一个翻译智能体,并且开源了整个过程
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文作者分享了其基于豆包1.6模型,模仿Claude Code原理,构建AI Agent翻译智能体的经验。该智能体能够处理文本、网址和本地文件翻译,并具备与外部环境交互、动态使用工具和自主决定任务完成的能力。作者详细介绍了AI Agent与普通AI聊天工具的区别、开发过程中的实践技巧,以及AI编程的最佳实践,强调了动手实践和模型选择的重要性。

🤖 AI Agent的核心特性:与普通AI聊天工具相比,AI Agent能够与外部环境交互,例如读取文件和网页内容;它能动态使用工具,根据输入内容灵活调用不同工具;并且AI Agent具备自主判断任务是否完成的能力,从而处理更复杂的任务。

🛠️ AI Agent的开发实践:作者使用Claude Code开发翻译智能体,强调了小版本迭代的重要性,并分享了编写清晰需求、全局规范、参考代码以及问题回滚的经验,这有助于提高AI编程的效率和质量。

💡 AI编程的实用技巧:在AI编程过程中,清晰的需求描述是关键,如同产品经理和技术经理的角色;同时,在Claude.md文件中定义全局要求,避免重复描述;此外,提供最新的参考代码,有助于AI生成更准确的代码;遇到问题时,回滚有时比修复更有效。

📚 模型选择的重要性:开发AI Agent时,选择合适的模型至关重要。豆包1.6、o3、Claude 4、Gemini 2.5 Pro等经过工具调用强化学习的模型更适合AI Agent任务,能够有效提升工具调用效果。

这周没怎么更新内容,主要是忙于研究 AI Agent,深度体验了 Claude Code,并且模仿着它的原理实现了一个简单的翻译智能体,最终成品效果不错,只要你输入一段要翻译的文字、或者网址、或者本地文件路径,它就能帮你提取要翻译的内容并翻译。

可能你会觉得这似乎没什么了不起的,跟传统的聊天应用也没什么区别,但麻雀虽小五脏俱全,它却是一个真正的 AI Agent。

那么 AI Agent 和普通 AI 聊天工具有什么区别呢?

关于 AI Agent,我觉得写的最好的文章是 Anthropic 的《构建高效 Agent https://baoyu.io/translations/building-effective-agents》,它把 Agent 定义的很清楚:

智能体(Agent)这个词可以有几种不同的定义。部分用户认为智能体是完全自主的系统,能够在长时间内独立运作,通过使用各种工具来完成复杂任务。另一部分用户则将智能体定义为更具指令性的实现方式,即严格按照预先设计的工作流程运行的系统。

在Anthropic,我们将这些不同的系统统称为具备智能体特征的系统(agentic systems),但在架构上,我们明确区分两类系统:

归纳下来主要就是这几点区别:

1. AI Agent 能和外部环境交互

比如它能使用工具读取本地文件;能读取远程网页

2. AI Agent 能动态的使用工具

比如我如果只是输入要翻译的文本,它就不会调用任何工具,如果我在一段文本中包含一个要翻译的网址,它就会从中提取要翻译的网址,并抓取内容再翻译

3. AI Agent 能决定任务是否完成

举例来说,如果我的指令不是简单的翻译某一个网址,而是比较复杂的指令,像下面这样的:

> 请访问这个博客 https://ingrids.space/ 并将前两篇文章的内容翻译为中文

那么它就会先抓取首页,然后分析首页的内容,找到前两篇文章的链接,再去分别抓取前两篇文章,最后再一起翻译,在这个过程中它使用了三次网页抓取工具,直到它认为已经完成任务了才会停止工具的调用。(这个使用案例的截图我放在文章后面了,有兴趣可以看看,或者自己下载代码运行试试看)

Agent 能处理高度复杂的任务,但它们的实现通常很简单本质上就是 LLM 利用环境反馈在循环中调用工具。 连 Claude Code 这样复杂的 AI Agent,底层原理都是这样的,也是不停的调用工具https://baoyu.io/uploads/2025-06-22/1750555708116.pngads/2025-06-22/1750555708116.png" data-width="100%" data-align="center">

Claude Code 和普通 Agent 主要的不同在于 Claude Code 能启动子 Agent,也就是它能开分身,把分身当作自己的一个工具来用。就好比一个 AI 程序员,要去实现一个相对复杂一点的功能模块,它会先调用 TODO 工具,把任务分解,然后每个子任务让自己的分身去实现模块,分身只需要专注的完成子任务,这个分身有 AI 程序员本体一样的能力,也能调用所有的工具,等它完成子任务了,AI 程序员再让新的分身去继续下一个任务,直到所有任务完成为止。

为什么我在这里选用的是豆包 1.6 模型呢?

在实现这个智能体的过程中,我使用的是豆包 1.6 的模型。主要是因为像 AI Agent 这样的任务,普通的大语言模型并不擅长调用工具,即使是普通推理模型都不行,必须要经过专门针对工具调用强化学习(RL)过的模型。简单理解就好比一个大学生,每天要反复练习怎么使用各种工具,用对了工具就有奖励,没用对就没有奖励,这样经过一段时间的学习后,就会特别擅长使用各种工具。只有这样经过强化训练的模型才能胜任好 AI Agent 的任务。目前主流的模型除了豆包 1.6,还有 o3、Claude 4、Gemini 2.5 Pro 来开发 Agent 都很好,豆包 1.6 相对性价比是很高的,国内使用也没有封号的风险。

另外火山引擎提供了 MCP Servers,像一些第三方工具可以方便的集成,比如我现在自己实现的网页抓取就很简陋,大部分网页其实都抓不了,如果要让它兼容更多网页,最简单的选择就是去选一个成熟的网页抓取的 MCP 服务,或者后面要支持 PDF 的翻译,这些都能在火山引擎上找到对应的可用 MCP 服务。

怎么借助 Claude Code 开发一个 AI Agent

在开发这个翻译 Agent 的时候,我是用的 Claude Code 来开发的,几乎没有手动写代码就完成了这个翻译智能体的开发。但我在这里还是要说明一下,Vibe Coding 并没有那么神奇,没有谁能不懂代码就做出成熟的产品。我之所以能这么快借助 Claude Code 开发出来,只是因为我用 Claude Code 开发之前,我已经半手工的写了好几个版本了,反复完成了几个试验品后,把需求理清楚了,把技术栈确定了,把一些坑踩完了,再让 AI 写就没那么复杂了。

当然这个过程肯定还是有可以学习和借鉴的地方,所以我把所有和 AI 交互的记录都一起放在 GitHub 上了 https://github.com/JimLiu/agent-translator ,如果你有兴趣可以看我是怎么从头构建这个项目的。

要让每个版本都独立可以运行

新手使用 AI 编程容易犯的一个错误就是一次憋一个大版本,期望一个版本内把所有功能都实现了,让 AI 写了一堆代码,最后合并在一起无法正常运行,跑起来到处都是 Bug。

所以借助 AI 编程的最佳实践,一定是要小版本迭代,并确保每个版本都能正常运行,充分测试后再下一个版本。就https://baoyu.iohttps://baoyu.io/uploads/2025-06-22/1750555749867.png>

就像我这个翻译 Agent,我分成了几个版本迭代:

    v0: 初始化项目说明,设定好 CLAUDE Code 的规则,比如要求 Claude Code 每次生成完要自己测试,有错误自己修复

    v0.1:一个只有 UI 的程序,没有任何后台功能

    v0.2: 接上豆包 1.6 模型,让它可以实现简单的聊天对话

    v0.3: 添加了网页抓取和文件读取工具,并且让 LLM 可以接上工具

    v0.4: 把工具调用的状态和工具返回结果显示在 UI 中

这里面每一个版本都是可以独立运行的。

怎么写好 AI 编程的提示词

很多人觉得写提示词似乎要个模板才能写好,但实际上写提示词没你想的那么复杂,我把每个版本的提示词都放在 GitHub 上了,你完全可以照着复现整个过程。

1、描述清楚需求

让 AI 写代码的提示词,本质上就像你是一个产https://baoyu.iohttps://baoyu.io/uploads/2025-06-22/1750555770428.png第一个版本的提示词很简单:

2、把全局要求放在 Claude.md 文件上

我在第 0 个版本就是初始化 Claudehttps://baoyu.iohttps://baoyu.io/uploads/2025-06-22/1750555784757.png每次开发后一定要自己测试等等。这样后续就不用每次说这些细节

3、要加上参考代码

现在 AI 的训练截止日期一般都是 2024 年的,这期间很多代码库都更新了,比如我用的 AI SDK,在我前几天测试的https://baoyu.iohttps://baoyu.io/uploads/2025-06-22/1750555802036.png官方文档把最新的代码示例都复制下来放到提示词里面,这样就不担心 AI 生成代码时过于老旧。

4、出问题后有时候回滚好过继续修复

在第一次实现 v0.3 版时,测试后结果很不理想,主要还是我复制 ai sdk 的参考代码时搞错了,虽然我可以让它基于错误的代码修正,但这种情况下要改对反而不太容易,不如直接回滚到 v0.2,修改提示词后重新开始。结果修改提示词后一次就成了。

最后

上面就是我用 ClaudeCode 做了一个基于豆包 1.6 模型的翻译智能体的分享。几点心得:

1、无论是学习 AI Agent 还是 AI 编程,最好的学习方法还是动手实践,只有动手实践过才能真正掌握好

2、AI 编程可以提升效率,但是要用好,要学会描述清楚需求,学会划分版本拆分模块

3、开发 AI Agent,要用适合 AI Agent 的模型,比如豆包 1.6、o3、Claude 4、Gemini 2.5 Pro,不然你再怎么优化提示词效果可能也不理想

项目地址:https://github.com/JimLiu/agent-translator

附录

让翻译 Agent 从博客首页找到前两篇文章并翻译的示例

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

AI Agent AI编程 豆包1.6 Claude Code 翻译智能体
相关文章