<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Barry Zhang on Chang</title><link>https://jinnchang.github.io/authors/barry-zhang/</link><description>Recent content in Barry Zhang on Chang</description><generator>Hugo</generator><language>en</language><lastBuildDate>Thu, 19 Dec 2024 00:00:00 +0800</lastBuildDate><atom:link href="https://jinnchang.github.io/authors/barry-zhang/index.xml" rel="self" type="application/rss+xml"/><item><title>构建高效的 AI Agent</title><link>https://jinnchang.github.io/reads/building-effective-agents/</link><pubDate>Thu, 19 Dec 2024 00:00:00 +0800</pubDate><guid>https://jinnchang.github.io/reads/building-effective-agents/</guid><description>&lt;div class="notice note"&gt;
 &lt;div class="notice-title"&gt;
 &lt;i class="fa-solid fa-sticky-note" aria-hidden="true"&gt;&lt;/i&gt;Note
 &lt;/div&gt;
 &lt;div class="notice-content"&gt;我们与数十个团队合作，在各行各业构建 LLM Agent。一个始终如一的发现是，最成功的落地实践往往采用简单、可组合的模式，而非复杂的框架。&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;em&gt;说明：本文中描述的大部分工具生态自 2024 年 12 月以来已发生变化。关于我们当前的方法，请参阅&lt;a href="https://www.anthropic.com/engineering/managed-agents" class="external-link" target="_blank" rel="noopener"&gt;&lt;strong&gt;我们如何构建 Claude Managed Agents&lt;/strong&gt;&lt;/a&gt;&lt;/em&gt; &lt;em&gt;以及 &lt;a href="https://platform.claude.com/docs/en/managed-agents/overview" class="external-link" target="_blank" rel="noopener"&gt;&lt;strong&gt;Managed Agents 文档&lt;/strong&gt;&lt;/a&gt;。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;在过去一年里，我们与数十个团队合作，构建覆盖各行业的大语言模型（LLM）Agent。我们一致发现，最成功的实现并非使用复杂的框架或专用库，而是采用简单、可组合的模式构建而成。&lt;/p&gt;
&lt;p&gt;在这篇文章中，我们将分享从客户合作和自身 Agent 构建经验中学到的心得，并为开发者提供构建高效 Agent 的实用建议。&lt;/p&gt;
&lt;h2 id="什么是-agent"&gt;
 什么是 Agent？
 &lt;a class="heading-link" href="#%e4%bb%80%e4%b9%88%e6%98%af-agent"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&amp;ldquo;Agent&amp;quot;有多种定义方式。有些客户将 Agent 定义为完全自主的系统，能够在较长时间内独立运行，使用各种工具完成复杂任务。另一些客户则用这个术语描述遵循预定义工作流的更具规范性的实现。在 Anthropic，我们将所有这些变体统称为 &lt;strong&gt;agentic 系统&lt;/strong&gt;，但在架构上对&lt;strong&gt;工作流&lt;/strong&gt;和 &lt;strong&gt;Agent&lt;/strong&gt; 做了重要区分：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;工作流&lt;/strong&gt;是通过预定义代码路径来编排 LLM 和工具的系统。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agent&lt;/strong&gt;则是 LLM 动态控制自身流程和工具使用的系统，由模型自主决定如何完成任务。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;下面我们将详细探讨这两种 agentic 系统。在附录一（&amp;ldquo;实践中的 Agent&amp;rdquo;）中，我们会介绍客户在哪些领域发现使用这类系统特别有价值。&lt;/p&gt;
&lt;h2 id="何时以及何时不使用-agent"&gt;
 何时（以及何时不）使用 Agent
 &lt;a class="heading-link" href="#%e4%bd%95%e6%97%b6%e4%bb%a5%e5%8f%8a%e4%bd%95%e6%97%b6%e4%b8%8d%e4%bd%bf%e7%94%a8-agent"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;在使用 LLM 构建应用时，我们建议寻找最简单的可行方案，仅在必要时才增加复杂性。这意味着有时根本不需要构建 agentic 系统。Agentic 系统通常以更高的延迟和成本换取更好的任务表现，你需要权衡这种取舍是否合理。&lt;/p&gt;
&lt;p&gt;当确实需要更高复杂度时，工作流为定义明确的任务提供了可预测性和一致性，而 Agent 则更适合需要灵活性和模型驱动决策的大规模场景。然而，对于许多应用来说，通过检索和上下文示例来优化单次 LLM 调用通常已经足够。&lt;/p&gt;</description></item></channel></rss>