动态列表

  • 协和4+4的另一面:浙江范式用AI定义医疗未来!AI「智愈」时代来临
  • 睡觉也在卷!伯克利Letta新作「睡眠时计算」让推理效率飙升
  • 25位IT大佬亲述:AI「吃掉」程序员!码农黄金时代终结
  • i人如何在学术会议有效社交?滑铁卢大学教授Gautam Kamath亲授心得
  • 阿里云通义点金发布DianJin-R1金融领域推理大模型,32B模型荣膺榜首
  • CVPR 2025 | 如何稳定且高效地生成个性化的多人图像?ID-Patch带来新解法
  • 小米取消 SU7 Ultra 大马力限制 OTA;淘宝闪购上线,每天 2 个大红包;极客团队推《人生切割术》同款键盘
  • 1美元颠覆6000亿广告界,哥大辍学天才30天狂飙500万营收
  • 从游戏少女到AI女神!她用物理驯服AI,让飓风预测快1000倍
  • 全球首个AI科学家天团出道!007做实验碾压人类博士,生化环材圈巨震
  • 只要9美元!LoRA+强化学习,DeepSeek 1.5B推理性能暴涨20%
  • 刚刚,ICML 2025录用结果公布!好评论文惨遭拒,审稿人敷衍引全网怒喷
  • Aero-1-Audio: LMMs-Lab发布1.5B音频语言模型,长音频转录直出,性能优异!
  • ICML 2025放榜!接收率26.9%,高分被拒,低分录用惹争议
  • LoRA中到底有多少参数冗余?新研究:砍掉95%都能保持高性能
  • 浙大&港理工等提出InfiGUI-R1:利用强化学习,让GUI智能体学会规划任务、反思错误
  • Sebastian Raschka 新书《从头开始推理》抢先看,揭秘推理模型基础
  • 马斯克怒怼特斯拉换帅报道;苹果库克称关税成本暂不转嫁给消费者,但未来难说;游戏科学获五四青年奖章集体
  • 400万token新SOTA!英伟达UIUC联手:兼顾长短上下文顶尖性能
  • AI圈惊天丑闻,Meta作弊刷分实锤?顶级榜单曝黑幕,斯坦福MIT痛斥
  • 北大出手,物理学院天才们教AI「做人」!PHYBench成大模型物理能力试金石
  • DeepSeek开源Prover-V2强推理模型,网友:奥数从没这么简单过
  • 被Transformer光芒掩盖的论文,Meta科学家回顾十年前创新之作
  • 后训练时代如何延续Scaling Law?这是你该读的LLM后训练综述
  • ScienceOne正式发布:基于科学基础大模型的智能科研平台
  • 一个月 78 块的 AI 日历,治好了我的「万事开头难」
  • DeepSeek 发布 Prover-V2 模型;小米首个推理大模型开源;饿了么宣布超百亿补贴加入外卖战局
  • 2万亿巨兽来袭,小扎亮底牌! 首次回应Llama 4风暴,开源榜单背锅
  • 清华出手,挖走美国顶尖AI研究者!前DeepMind大佬被抄底,美国人才倒流中国
  • 刚刚,DeepSeek-Prover-V2-671B开源!
  • 发布 Qwen3,阿里云拉开新一轮开源模型竞赛的序幕
  • Video-XL-Pro:端侧3B模型长视频理解新sota!性能赶超7B巨头!
  • 解决200种复杂材料,10Å尺度模拟纳米晶体,哥大团队用4万个原子结构训练AI,登Nature子刊
  • 真·开源MCP平台来了!ACI.dev能一站直连600+工具,让你的智能体秒变全能王!
  • 刚刚!OpenAI回滚了最新版本的GPT-4o,因ChatGPT「过度谄媚」
  • 只花9美元,推理能力暴涨20%!小模型Tina震撼登场,成本缩减260倍
  • 上交大推出首个AI智能体协议全面综述:从碎片化到互联互通的智能体网络
  • CVPR Oral | 南京大学李武军教授课题组推出分布式训练算法UniAP,大模型训练最高加速3.8倍
  • R1-Zero的无监督版本来了!SFT不再是必须,EMPO重新定义大模型推理微调
  • ICLR 2025 | 差分注意力机制爆火!DIFF Transformer击穿长文本建模天花板
  • 北邮-腾讯联合提出多任务提示调优推荐框架MPT-Rec,实现效率性能双突破
  • 北京内推 | 中电信人工智能公司招聘多模态大模型算法实习生
  • 沃尔玛通知中国供应商恢复供货;Meta 推独立 AI 助手,融合社交元素;因「过于奉承」,OpenAI 撤回更新
  • AI包办79%代码,程序员饭碗不保!前端开发要凉,人类只配改Bug?
  • 细思极恐,AI操控舆论达人类6倍!卧底4月无人识破,Reddit集体沦陷
  • 大模型时代,百度智能云迎来最大机会
  • 我用Qwen3实测了9道经典难题,再聪明的AI也有犯傻的时候
  • 「拍照问夸克」,从「Know-What」到「Get it Done」的跃迁
  • 终端云端三连发!无问芯穹开源大模型推理加速神器,加码构建新一代端、云推理系统
  • 小红书,不止看车,更看生活
  • 阿里千问 3 登顶全球最强开源模型,性能超越 DeepSeek-R1、OpenAI-o1
  • GPU无上限+AGI顶尖课题!蚂蚁星「Plan A」全球招募下一代AI领航者
  • 模仿or探索?LUFFY:我全都要!巧妙融合外部指导,RL推理不再死板
  • 33,000美元奖金池!Meta CRAG-MM挑战赛开启,多模态RAG巅峰对决
  • 博士申请 | 香港中文大学MMLab岳翔宇老师招收人工智能全奖博士/RA/实习生
  • ChatGPT的尽头也是「带货」:3、2、1,上链接
  • ICLR 2025|首个动态视觉-文本稀疏化框架来了,计算开销直降50%-75%
  • 淘天集团“T-Star计划”首次向实习生开放,提供转正Offer
  • 猛击OpenAI o1、DeepSeek-R1!刚刚,阿里Qwen3登顶全球开源模型王座,深夜爆火
  • 语音领域ISCA Fellow 2025公布:上海交大俞凯、台大李宏毅等三位华人入选
  • 2025 Meta CRAG-MM Challenge 赛题发布
  • 上交大等探索键值压缩的边界:MILLION开源框架定义模型量化推理新范式,入选顶会DAC 2025
  • 蚂蚁密算福州发布密态可信数据空间:高性能、低成本和全链路安全
  • 海螺+可灵、上线两个多月、5万+围观,零破绽,这支AI广告藏得太深了
  • 阿里开源新一代通义千问模型 Qwen3;传刘强东曾和王兴共聚晚餐;马斯克:5 年内机器人将超越外科医生 | 极客早知道
  • AI 2027研究揭秘美国算力真相!中国全球AI专利Top1,但美国或以算力取胜
  • 华人博士用ChatGPT治病,比医生靠谱?OpenAI联创点赞
  • 100年企业知识超10万文件,「内网版ChatGPT」血洗最卷行业!全员70%和AI共事
  • AGI幻灭,LeCun观点得证?哈佛研究实锤AI不懂因果,世界模型神话破灭
  • 52页PPT,谷歌Gemini预训练负责人首次揭秘!扩展定律最优解
  • Apple Watch 10 周年,哪些「环」直到现在也没「合上」?
  • 从「黑科技」到「量产」,爱奇艺的虚拟制作进化论
  • 打造「无所不能、无处不在」的 AI,百度为何要从「操作系统」做起?
  • 北大物院200人合作,金牌得主超50人!PHYBench:大模型究竟能不能真的懂物理?
  • ICLR 2025 Oral|差分注意力机制引领变革,DIFF Transformer攻克长序列建模难题
  • ICLR 2025 | 大模型是否能做到有效“遗忘”?从梯度视角重新审视LLM反学习方法
  • ICLR 2025 | 基于多任务学习的回归范式实现更快的灵活分子对接
  • 智象未来x商汤大装置:全栈赋能全球首个开放使用视频生成DiT模型
  • 两篇Nature Medicine,DeepSeek、GPT-4o等LLM在医学推理、临床决策中的应用评估
  • AI+量子计算:港科大等提出突破性低温存内计算方案
  • 除了Ilya、Karpathy,离职OpenAI的大牛们,竟然创立了这么多公司
  • 字节Seed团队PHD-Transformer突破预训练长度扩展!破解KV缓存膨胀难题
  • 首个系统性工具使用奖励范式,ToolRL刷新大模型训练思路
  • 模型压缩到70%,还能保持100%准确率,无损压缩框架DFloat11来了
  • 重磅发布 | 复旦《大规模语言模型:从理论到实践(第2版)》全新升级,聚焦AI前沿
  • AR智能革命!Satori系统读懂人类意图,科幻电影场景成现实
  • 受关税影响,美电商商品价格普涨;京东外卖扩招 10 万旗手;苹果 AI 智能眼镜有望 2027 年推出|极客早知道
  • 一行代码不用写,AI看论文自己「生」出代码库!科研神器再+1
  • OpenAI没说的秘密,Meta全揭了?华人一作GPT-4o同款技术,爆打扩散王者
  • 深度学习基础架构革新?通过梯度近似寻找Normalization的替代品
  • ICLR 2025 | 计算开销减半!Dynamic-LLaVA刷新多模态大模型推理加速上限
  • 迈向长上下文视频生成!FAR重塑下一帧预测范式,短视频与长视频双双登顶SOTA
  • 英伟达送钱送算力!数据过滤挑战赛开启:白嫖A100,冲击1万美金大奖!
  • 字节启动Top Seed大模型顶尖人才计划2026届校招
  • 纳米AI放大招!MCP万能工具箱,人人都能用上超级智能体
  • Devin开发团队开源DeepWiki,助你快速读懂所有GitHub代码库
  • ICLR 2025 | 无需训练加速20倍,清华朱军组提出用于图像翻译的扩散桥模型推理算法DBIM
  • 基于奖励驱动和自组织演化机制,全新框架ReSo重塑复杂推理任务中的智能协作
  • 阶跃星辰发布图像编辑模型 Step1X-Edit,性能开源最佳
  • 百度Create AI开发者大会:李彦宏发布两大新模型、多款热门AI应用,帮助开发者全面拥抱MCP
  • 清华系智谱×生数达成战略合作,专注大模型联合创新
  • 九章云极DataCanvas公司双论文入选全球顶会ICLR,推动AI解释性与动态因果推理核心进展​
  • 在介观尺度「找不同」?ML预测材料失效,使材料设计更安全
  • 阿里AI旗舰应用夸克发布全新“AI相机” 提升AI超级框多模态能力
  • 传马斯克 xAI 正寻求 200 亿美元融资;Waymo 未来或向个人销售自动驾驶汽车;贾跃亭回应「下周回国」梗

315 行代码构建编程助手,Go大佬揭开智能体的「神秘面纱」

知名 Go 大佬 Thorsten Ball 最近用 315 行代码构建了一个编程智能体,并表示「它运行得非常好」且「没有护城河」(指它并非难以复制)。

图片

Thorsten Ball 在编程领域以其对系统编程和编程语言的深入研究而闻名,尤其擅长解释器、编译器和虚拟机等主题。他撰写的《用 Go 语言自制编译器》和《用 Go 语言自制解释器》则被视为编译原理领域的「入门平替」。

图片

虽然这个编程智能体无法和 Claude、Gemini 等推出的编码功能相媲美,却为初学者提供了一个探索智能体的良好学习范例。这反映了他一贯的理念:通过实践和开源项目揭开技术的「神秘面纱」。

Thorsten Ball 在博客中分享了他的具体操作步骤。(注:本文中的代码截图可能并不完整,详细内容请参阅原博客。)

博客地址:https://ampcode.com/how-to-build-an-agent

乍看之下,智能体编辑文件、运行命令、自行解决错误似乎很复杂,但实际上只需一个大语言模型、一个循环和足够的 tokens。构建一个小型的智能体并不需要太多工作,少于 400 行代码即可实现,且大部分是样板代码。

接下来将展示如何从零开始逐步构建一个「game changer」,读者可以尝试亲自动手编写代码。

准备工作

首先准备好我们的「文具」:

  • Go

  • ANTHROPIC_API_KEY

铅笔出场!让我们直接开始,用四个简单的命令来设置一个新的 Go 项目:

图片

现在,打开 main.go,作为第一步,将需要的东西的框架放入其中:

图片

是的,这还没有编译。但是我们这里有一个 Agent,它可以访问 anthropic.Client(默认情况下,它会查找 ANTHROPIC_API_KEY),并且可以通过从终端上的 stdin 读取来获取用户消息。

现在让我们添加缺少的 Run() 方法:

图片

这并不多,对吧?90 行代码,而其中最重要的就是 Run() 中的这个循环,它让我们能够与 Claude 对话,但这已经是这个程序的核心了。

对于一个核心来说,这个过程相当简单:我们首先打印一个提示,询问用户输入内容,将其添加到对话中,发送给 Claude,然后将 Claude 的回复添加到对话中,打印出回复,然后再循环进行。

你日常使用的 AI 聊天应用其实就是这样的,只不过这是在终端中实现的。

运行它:

图片

然后你可以和 Claude 对话了,就像这样:

图片

注意到我们在多个回合中保持了同一个对话吗?它记住了我们在第一条消息中的名字。每次回合对话都在增长,我们每次都发送整个对话。服务器——准确来说是 Anthropic 的服务器——是无状态的。它只看到 conversation 片段中的内容,维护这一点由我们来负责。

现在继续,因为输出结果很糟糕,这还不是一个智能体。什么是智能体?可以这样定义:一个具有访问工具能力的大语言模型(LLM),这些工具使其能够修改上下文窗口之外的内容。

添加工具

一个具有工具访问能力的大语言模型(LLM)是什么呢?

工具的定义是这样的:你向模型发送一个 prompt,告知它在想要使用「工具」时应以特定方式回复。然后,你接收消息后「使用工具」执行该指令,并返回结果。其他一切都是在这一基础上进行的抽象。

想象一下,你正在与朋友交谈,你告诉他们:「在接下来的交流中,如果你想让我举起手臂,就眨眼。」这种表达方式虽然有些奇怪,但概念非常容易理解。

我们已经能够在不改变任何代码的情况下尝试这种方法。

图片

我们告诉 Claude,当它想知道天气时,就用 get_weather 来「眨眼」。接下来的步骤是举起我们的手臂,并回复「工具的结果」。

图片

第一次尝试非常成功!

这些模型经过训练和微调,能够使用「工具」,并且非常注重利用这些工具。到 2025 年,它们在一定程度上「知道」自己不具备所有信息,因此可以借助工具获取更多信息。(虽然这不是完全准确的描述,但目前这个解释足够了。)

总结关于工具使用的关键点有:

  • 你告诉模型有哪些工具是可用的。

  • 当模型想要使用工具时,它会通知你,你执行工具并将响应发送回模型。

为简化步骤(1),大型模型提供商已经内置了 API,用于发送工具定义。

现在,让我们开始构建我们的第一个工具:read_file。

read_file 工具

为了定义 read_file 工具,我们将使用 Anthropic SDK 建议的类型,但请记住:在底层,这一切最终都会变成发送给模型的字符串。这一切都是「如果你希望我使用 read_file,就眨眼」。

我们要添加的每个工具都需要以下内容:

• 名称

• 描述,告诉模型这个工具的功能、何时使用、何时不使用、返回什么等等。

• 输入模式,描述为 JSON schema,说明该工具期望什么输入以及输入的形式。

• 一个实际执行工具的函数,使用模型发送给我们的输入并返回结果。

那么让我们把这些添加到我们的代码中。

图片

现在我们给出 Agent 工具定义:

图片

并将它们发送到 runInference 中的模型:

图片

用户发送工具定义,Anthropic 在服务器上将这些定义包装在这个系统提示中(并不多),然后将其添加到对话中,如果模型想要使用该工具,它就会以特定的方式回复。

好的,所以工具定义正在发送,但我们还没有定义任何工具。让我们来定义 read_file 工具。

图片

这并不多,是不是?这只是一个函数,ReadFile,以及模型将看到的两个描述:一个是描述工具本身的 Description(Read the contents of a given relative file path. ...),另一个是该工具拥有的单一输入参数的描述(The relative path of a ...)。

ReadFileInputSchema 和 GenerateSchema 之类的工作是做什么的?我们需要这些来为工具定义生成一个 JSON 模式(schema),然后发送给模型。为此,我们使用 jsonschema 包,需要进行导入和下载:

图片

然后运行以下命令:

go mod tidy

然后,在 main 函数中,我们需要确保我们使用定义:

图片

是时候尝试一下了!

图片

哇哦,它想要使用这个工具!显然,你的输出可能会有些不同,但听起来 Claude 确实知道它可以读取文件,对吧?

问题是我们没能聆听!当 Claude 给出提示时,我们没有去注意这一点,我们需要解决这个问题。

通过一个简单、快捷且异常敏捷的动作,我们可以通过替换智能体的 Run 方法来实现:

图片

可以说,这段过程 90% 是固定格式,只有 10% 是关键部分:当我们从 Claude 收到消息时,我们会检查 Claude 是否要求我们执行某个工具,通过查看内容的类型是否为「tool_use」来判断;如果是这样,我们就交给 executeTool 处理,在本地注册表中通过名称查找该工具,解析(unmarshal)输入,执行它,并返回结果。如果出现错误,我们会翻转一个布尔值。就是这样。

(是的,的确有一个循环套在另一个循环里,但这不重要。)

我们执行工具,将结果发回给 Claude,然后再次请求 Claude 的响应,就是这么简单。

echo 'what animal is the most disagreeable because it always says neigh?' >> secret-file.txt

这会在我们的目录中生成一个名为 secret-file.txt 的文件,里面包含一个神秘的谜题。

就在同一个目录中,我们运行新的工具使用智能体,要求它查看该文件:

图片

你只需要给它一个工具,它就会在认为有助于解决任务时使用它。我们没有说「当用户询问文件时,阅读文件」,也没有说「如果某个东西看起来像是文件名,找出如何读取它」。我们说的是「帮我解决这个文件里的问题」,Claude 就意识到它可以读取文件来回答这个问题,然后就去做了。

当然,我们可以加以具体引导并鼓励使用某个工具,但它基本上可以自主完成这些任务:

图片

作者接下来还介绍了添加 list_files(列出文件的工具)和 edit_file(让 Claude 编辑文件的工具)的方法,感兴趣的读者可以阅读博客原文。

]]>

联系我们