ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

生产级AI Agent全栈开发:核心不在LangChain,而在工程链路

生产级AI Agent全栈开发:核心不在LangChain,而在工程链路 如果有人给你一张“AI Agent全栈工程师训练营”的宣传海报你第一反应是什么是不是觉得又是培训机构在收割焦虑说实话我最初看到类似的项目时也是这个态度直到我自己带团队从零把一个Agent应用推到生产环境被坑了整整两个月之后才意识到问题不在于这个概念是不是风口而在于市场上绝大多数课程和文章讲的都是“单点技术”——要么讲LangChain怎么调要么讲Prompt怎么写要么讲RAG怎么拼但很少有人告诉你一个真正能跑起来的Agent系统它涉及的工程链路到底有多长。这个训练营项目如果要我用一句话概括它的本质那就是它想批量生产一种同时具备“AI应用思维”和“全栈工程能力”的复合型开发者。换句话说不只要会调大模型接口还要能独立完成从需求拆解、Agent编排、数据接入、服务封装到部署运维的全流程。这篇文章我不想复述课程大纲那是销售的事。我想从一个实操过Agent项目的人的角度认真拆解一下如果让你给自己设计一个“AI Agent全栈工程师”的成长计划你的知识栈应该长什么样哪些环节最容易被忽略哪些坑是官方文档永远教不了你的。1. 为什么训练营的定位是“全栈”而不是单纯的“Agent开发”市面上关于Agent的教程多如牛毛但绝大多数都有一个通病只教你怎么调大模型不教你怎么让系统活下来。我见过一个团队用LangChain几天就拼出一个“AI助手”Demo能对话、能查资料演示效果拉满。结果一上生产就崩溃并发一高API超时上下文一长Token费用爆炸用户一多数据污染严重。最后那个项目在运维层面被拖死了。这就是“会开发”和“会做产品”的区别。Agent开发本质上是一个分布式系统问题而不只是一个模型调用问题。你的Agent要跟数据库交互、要调外部API、要处理异步任务、要做缓存、要做日志追踪甚至还要考虑多租户隔离。这些能力如果没有全栈工程底子根本撑不起来。1.1 用户需求背后的真实痛点我在社区里观察了很久发现来问Agent相关问题的人分三类第一类纯小白。会点Python基础看了几篇科普文想用Agent做点东西但连什么是API Key都要百度。这类人的痛点是“不知道从哪下手”容易被各种抽象概念劝退。第二类后端或前端工程师。有扎实的工程能力但对AI这块完全是黑盒认知总觉得大模型是魔法不知道它在数学上到底做了什么。这类人容易把简单问题复杂化或者反过来把复杂问题想简单。第三类已经在做AI应用但卡在瓶颈。Demo能跑但距离“能用”差得很远。这类人缺的不是知识而是“生产级”的经验比如怎么控制幻觉、怎么做评估、怎么降本。训练营如果只针对某一类人设计价值是有限的。它的核心价值在于把三类人往中间地带拉拢——让小白补工程让工程师补AI原理让半吊子补齐生产化经验。这就是“全栈”二字的真实含义不是前端后端都会写而是“模型层 应用层 数据层 运维层”的通识能力。1.2 从“AI工程师”到“Agent工程师”的能力跃迁传统的AI工程师核心任务往往是训练或微调模型——研究损失函数、调超参数、搞数据清洗。而Agent工程师的工作重心完全不同他的核心任务变成怎么把模型的能力嵌入到一个业务流程中并让它稳定地完成多步推理和行动。我举个具体例子。传统AI工程师做一个“客服机器人”思路通常是训练一个意图识别模型再训练一个实体抽取模型然后写一堆if-else规则去路由。整套流程下来模型是核心代码是辅助。但Agent工程师做一个“客服机器人”思路就完全变了你调用一个通用大模型作为“大脑”给它配置工具查订单、退换货、转人工然后写一个循环让模型自己去决定“下一步调用哪个工具”。这时候代码是核心模型反而成了可替换的组件——今天用GPT-4o明天换Claude后天换国产开源模型你的架构都应该能平滑迁移。这种能力跃迁不是多学一个框架就能完成的它需要你从“被模型牵着走”转变为“用工程手段驾驭模型”。所以在我的理解里训练营的“全栈”不是指技术栈的广度而是指思维的宽度——你既要懂模型的脾气也要懂系统的严谨。2. 训练营的技术栈选型逻辑跳出框架之争如果说“全栈”是训练营的定位那么“技术栈怎么选”就是所有学员第一个要面对的现实问题。你是不是也纠结过LangChain到底要不要学跟LlamaIndex什么关系AutoGPT这类自动Agent是不是未来新出来的框架要不要追我说句可能得罪人的话框架之争是互联网上噪音最大的话题而且绝大多数参与争论的人都没做过生产级项目。2.1 LangChain、LlamaIndex与自研各自的生态位先聊聊LangChain。这个框架的社区热度在2024年达到顶峰但我身边真正把它用在生产环境的人其实不多。为什么因为它太抽象了。框架为了兼容所有场景引入了大量对象封装导致调试链路非常长。一个简单的“调用LLM”功能直接写OpenAI SDK只需要3行代码用LangChain可能要经历Loader、PromptTemplate、LLMChain、OutputParser四个环节。出了问题你得层层剥洋葱。但LangChain也有它的不可替代性——生态。它已经封装了几百种工具的接入方式如果你要快速做个原型验证思路用LangChain绝对是最快的路径。LlamaIndex则更聚焦于“数据索引和检索”这一件事如果你的核心场景是文档问答、知识库检索它比LangChain要顺手得多。至于自研框架那是进阶玩法。当你的业务逻辑越来越复杂通用框架的抽象会成为束缚——你为了绕过框架的一个限制可能要写比自研多三倍的代码。我的建议是不要给自己贴“XX框架开发者”的标签。技术选型永远是场景驱动的。训练营如果教你“LangChain是万能的”那它是垃圾课程如果教你“框架本质上解决的问题是什么、何时该用、何时该弃”那它有真东西。2.2 为什么“会选型”比“会用”更值钱我在面试候选人的时候最怕听到的一句话是“我会用LangChain所以我能做Agent。”因为“会用工具”只是最低门槛真正值钱的是“知道在什么场景下选择什么工具以及为什么”。我们来做一个真实的选型练习。假设你要做一个“私有知识库问答助手”有下面几个约束条件文档量大几十万页且需要实时更新对回答的准确性要求极高错了会出事故预算有限不能无限调用高昂的商用大模型API要求私有化部署数据不能出内网这时候你的技术选型至少要牵扯到几个层面选型维度需要考虑的问题常见方案大模型本地部署还是API调用参数量级多少Qwen-72B、DeepSeek-V3、本地微调向量数据库数据量大时检索延迟能否接受Milvus、pgvector、ES框架私有化部署下框架的依赖是否太重LangChain、LlamaIndex、裸代码RAG策略一次检索还是多路召回需要rerank吗混合检索Cross-Encoder重排你看这还只是“知识库问答”这一种场景就已经牵扯到这么多决策点了。如果你只学过某一个框架的API面对这种复杂选型时一定会手足无措。所以训练营在技术栈设计上真正应该教的是每个核心组件解决什么问题它们之间的接口长什么样以及你在什么业务约束下应该用哪个组合。这就像学做菜不是背菜谱而是理解食材特性、火候逻辑和调味原理你才能面对任意一种食材组合都能应变。2.3 生产级项目的黄金架构参考基于我自己做过的几个Agent项目的经验一个标准的生产级架构大致由以下五个环节构成接入层接收用户输入做输入合规检查、敏感词过滤、格式标准化。编排层Agent的核心大脑负责任务拆解、工具选择、循环执行。这里可以是ReAct模式、Plan-and-Execute模式或者更复杂的Multi-Agent协作模式。工具层Agent能够调用的“手脚”包括搜索、代码解释器、数据库查询、第三方API等每个工具都要有清晰的输入输出定义。记忆层短期记忆对话上下文 长期记忆向量数据库/RAG解决多轮对话和跨会话的知识持久化问题。服务层把Agent封装成可部署的服务包含鉴权、限流、监控、日志、评估等功能。训练营如果讲了Agent开发但不讲服务层那就是在培养“玩具开发者”。一个不能承受并发、没有日志追踪、无法评估质量的Agent本质上只是一个高级的“Hello World”。3. 核心链路拆解从需求文档到Agent原型再到生产部署这个部分我打算用一条具体的产品主线来贯穿。假设我们要做一个“代码审查Agent”——它能自动拉取GitLab上的代码变更基于项目规范和历史经验对代码进行审查给出修改建议甚至可以自动生成修复补丁。这个项目难度适中既涉及工程集成又涉及大模型的推理能力非常适合作为训练营的实战项目范本。3.1 需求拆解不把模型当人看第一步永远是写需求文档但这里有一个关键原则不要期待模型做“智能”的事而是通过工程手段把“智能”约束在可控范围里。以代码审查Agent为例需要拆解的需求点包括代码从哪里来GitLab API需要处理Webhook触发或定时拉取一次审查多少代码整个MR还是只审查diff部分审查的标准是什么基于团队规范定义Prompt还是让模型自由发挥审查的粒度是什么发现严重Bug风格问题安全隐患需要分类结果如何呈现评论在GitLab MR上发到IM通知生成报告你会发现这些需求里几乎没有一项是“直接靠模型聪明就能解决”的每一项都需要工程决策。比如“只审查diff部分”就需要你调用GitLab API获取两个commit之间的差异这是纯粹的工程问题。模型在其中的角色仅仅是充当“阅读代码并给出建议”的智能组件。我在实操中总结出一个经验Agent项目里80%的代码是纯工程代码数据获取、格式转换、逻辑判断、API调用只有20%是真正跟模型打交道的代码。如果你的项目比例是反过来的那说明你的Agent架构很可能把大量工程逻辑错误地塞给了模型去“猜”这种情况下系统一定是不稳定的。3.2 从LangChain快速搭建到自研优化在原型阶段我确实会推荐用LangChain快速搭一个能跑通的版本。比如代码审查Agent的核心工作流是from langchain.agents import create_react_agent from langchain.tools import Tool from langchain_openai import ChatOpenAI def fetch_gitlab_diff(repo_url: str, merge_request_id: int) - str: 拉取GitLab MR的代码改动内容 # 调用GitLab API获取diff pass def post_comment_to_gitlab(repo_url: str, merge_request_id: int, comment: str) - bool: 把审查意见作为评论发布到MR上 pass tools [ Tool(namefetch_gitlab_diff, funcfetch_gitlab_diff, description拉取指定MR的代码改动), Tool(namepost_comment_to_gitlab, funcpost_comment_to_gitlab, description在指定MR下发布评论), ] llm ChatOpenAI(modelgpt-4o, temperature0) agent create_react_agent(llm, tools, prompt_template)这套代码配合LangChain的AgentExecutor确实能在半天内跑通“模型调用工具”的闭环。但是——原型能跑和生产能跑之间隔着一整条银河。实际生产部署时我会做以下优化把“调用工具的权力”从Prompt中解耦。LangChain默认让模型从工具列表里自由选择但在代码审查场景工具调用顺序其实是确定的先拉代码再审查最后评论。用LangChain的Agent模式反而是“杀鸡用牛刀”它不仅慢每次都要模型思考“下一步做什么”还容易出错模型可能跳过关键步骤。更合理的方案是直接用代码控制流程# 确定性流程代码控制不需要模型决策工具调用顺序 diff_content fetch_gitlab_diff(repo_url, mr_id) review_comments llm.invoke(build_review_prompt(diff_content)) post_comment_to_gitlab(repo_url, mr_id, review_comments)这就是我在实践中学到的第一课不是所有“Agent”都需要“自主决策循环”。如果流程是确定的就用确定性代码只有流程本身不确定、需要模型实时判断时才引入Agent循环。盲目给所有应用加Agent大脑只会增加延迟和失败率。把“上下文管理”从裸字符串中解耦。在原型里直接把diff全文塞进Prompt就行。但真实场景中一个大型MR可能有几千行diff直接全部塞进去Token消耗会大到不可接受。这时需要做三步工程处理先做变更摘要再分文件分块审查然后做聚合汇总。每一步涉及的代码量都不小。把“结果校验”从“信任模型输出”中解耦。模型审查完代码之后回复格式不稳定怎么办有时候给JSON有时候给Markdown有时候还夹杂无关内容。生产级系统中一定要有输出解析层和校验层——解析失败就重试重试还失败就降级为“审查失败请人工处理”。这就是所谓“防御式编程”跟普通人写的“乐观式Demo”有本质区别。3.3 部署与运维验收Agent不只是看它“聪不聪明”Agent项目部署完成后验收方式和传统服务完全不同。传统服务你只要看接口返回是否符合预期就行Agent服务你还要看它在非预期输入下会不会崩、它调工具失败时会不会自我救赎、它反复犯同一个错时有没有被记录。我自己倾向搭建的Agent项目监控体系主要有四层调用链追踪记录每一次用户请求触发了哪些模型调用、哪些工具调用每一层耗时多少。类似传统分布式追踪里的Trace ID。一旦用户反馈“Agent回答错了”你可以通过Trace ID反查它到底在哪一步想岔了。成本监控每一个会话消耗了多少Token折合多少人民币。Agent项目最大的成本黑洞在于“循环失控”——如果Agent在一个错误路径上反复重试Token消耗会呈指数级增长。预算警报非常重要。质量评估集准备一份几百条测试用例的评估集每条用例都有标准答案。每次有Prompt或代码改动都先在评估集上跑一遍用LLM-as-Judge让大模型当裁判打分或人工抽检的方式来验证效果是否下降。这一步是“AI项目工程化”与“AI项目玩具化”的分水岭。日志与异常告警模型输出为空、工具调用超时、上下文长度超限这些异常情况都要有对应对告警策略。训练营如果能在项目实战环节教完这四层监控体系的搭建那这个项目的含金量将是普通“LangChain教程”的五倍以上。4. 容易被忽略的模型层知识为什么它决定你的上限很多时候我们讨论Agent就像讨论一个厨师——大家只关注他刀工多好、摆盘多漂亮却忽略了他对食材本身特性的理解。模型层知识就是Agent工程里的“食材特性”。4.1 温度、Top-p与上下文窗口的实际影响先说温度参数。温度temperature控制模型输出的随机性数值越高回答越发散越低越保守。很多初学者调Agent效果不稳定第一反应是“Prompt写得不好”但往往真正的问题是你在一个需要确定性结果的场景里把温度设置成了0.7。比如代码审查你需要的是“稳定、准确、可复现的审查结论”温度应该设为0甚至更低。Top-p核采样是另一个控制随机性的参数。跟温度的作用类似但控制方式不同——它限制模型只从累积概率达到p的token里采样。我通常的做法是固定temperature0把top_p当作后备调节旋钮。当模型输出质量不稳定时先尝试降低top_p而不是动temperature——这样对结果的影响会更平滑。上下文窗口则是Agent设计里最关键的约束条件——可用的上下文不是无限的。上下文窗口越长的模型单次能接收的历史消息越多但Token消耗也越高。实际项目策划时我应该做Token估算。假设我用的是128K上下文的模型每个用户请求平均需要10K Token的上下文——那么理论上可以容纳12个用户的并发使用。但如果我的Agent习惯把所有历史消息无脑塞进上下文几个回合对话后就已经逼近窗口上限。这个问题的工程解法是加“上下文压缩器”——当对话过长时用一次额外的模型调用把历史对话提炼成摘要再继续后续对话。这种技巧在入门教程里几乎不会出现但它决定了你的Agent能不能过“长对话测试”。4.2 为什么“提示词工程师”正在被“系统工程师”取代标题虽然有点绝对但趋势是真实的。早期AI应用开发核心工作量在“怎么编Prompt”因为那时模型能力有限、接口粗糙。而现在的模型越来越强好的Prompt已经不再稀缺——反而是“怎么把模型嵌入一个可靠的系统中”成了真正的瓶颈。一个Agent项目里Prompt之外的系统复杂度包括但不仅限于工具层设计每个工具的输入输出描述要怎么写模型才能理解并正确调用工作流状态管理Agent执行到一半失败了状态怎么保存重试从哪一步开始并行与竞态多个Agent协作时产出冲突了以谁为准数据版本管理用户改了知识库内容Agent回答的“依据”要不要溯源这些内容全都不属于传统“提示词工程师”的范畴而是系统工程问题。所以训练营如果培养目标是“AI Agent全栈工程师”课程体系里必须有大比例的“非模型”内容——数据库设计、异步任务、缓存策略、容器部署、API网关……这些内容恰恰是很多人觉得“与AI无关”而不愿意学的东西但它们才是AI工程师和AI全栈工程师的真正分界线。4.3 多模态与工具调用的底层逻辑2025年以后的Agent开发一个不可回避的趋势是多模态能力。现在的Agent不只能读文字还能看图、听语音、甚至生成图像。但多模态不是“换一个模型”就完了它带来的工程问题是全新的——图片要压缩到什么尺寸再传给模型音视频怎么切片不同模态的数据怎么对齐再比如Function Calling函数调用机制。这个能力让模型可以输出结构化的“调用请求”而不是普通的自然语言。核心逻辑是你在请求中声明有哪些函数名称、参数、描述模型根据用户指令决定要调用哪个函数并填充参数然后你再执行这个函数把结果喂回给模型。这里有一个微妙点模型并不真的“调用”你的函数——它只是输出一段符合格式的JSON。真正的执行流程还是由你的代码来驱动的用户输入 - 组装请求填入历史工具定义 - 模型返回函数调用指令 - 你的代码执行业务函数 - 把函数结果包装成消息发回模型 - 模型生成最终回复理解了这个底层逻辑你就能明白为什么“Agent开发”本质上更像“接口设计”而不是“魔法调用”——你的函数定义得好不好直接影响模型能不能正确选择工具。一个好函数定义要具备极简的名称、参数说明里讲清楚格式和边界、描述里写清楚“什么时候适合调用这个工具”。这些功夫没有长期的工程实践是积累不出来的。5. 实操向经验Agent开发中四个高频踩坑点这部分是我最想叮嘱你的——网上讲Agent原理的文章一抓一堆但讲“坑”的文章很少因为写教程的人自己可能都没踩到过。下面这四条每一条都是我用真金白银换来的。5.1 工具设计不当描述含糊导致模型选择困难我的工具描述最初是这样写的“get_order_info获取订单信息”。然后我测试时发现模型经常在不需要查询订单的时候也去调用它。后来我才想明白是因为这个描述太泛了模型根本无法判断“何时该用、何时不该用”。用户问“我昨天买的东西发货了吗”模型可能去调用了“get_order_info”而不是更精确的“get_order_shipping_status”。修改后的描述是“get_order_shipping_status当用户询问物流进度、发货状态、快递单号时调用。输入参数为订单号order_id格式为标准UUID字符串。如果用户没有提供订单号请先通过ask_user工具向用户索要。”这种描述方式本质上是在“教模型做路由决策”。工具描述写得好不好直接决定了Agent的“智能感”和“准确率”。这是最容易被忽略的细节。5.2 循环失控没有最大步数限制等于给钱包挖坑Agent最吸引人的地方是“自主决策循环”但这也是最大的风险来源。你设定了一个Agent让它“自主分析用户需求并反复调用工具直到问题解决”。看起来没什么问题但实际运行时模型可能陷入一个死循环——比如它反复调用“搜索”工具每次都因为描述里有歧义而找不到答案于是又换了一个说法继续搜如此循环往复。我见过一个最夸张的案例一次会话在20分钟内触发了47次工具调用Token费用直接爆表。解决办法很简单给AgentExecutor或者你自己的循环逻辑加最大迭代次数限制同时每次工具返回后增加一个“是否已解决”的检测节点如果检测到同样的错误连续重复了三次以上强制终止循环并转人工。MAX_ITERATIONS 5 for step in range(MAX_ITERATIONS): action agent_plan(state) if action.is_final_answer: break state execute_tool(action, state) else: # 超过最大步数转入人工处理流程 state.needs_human_intervention True5.3 上下文污染旧信息干扰新判断上下文污染是Agent项目的隐形杀手。所谓污染指的是历史会话或系统信息中的某些内容干扰了模型对当前用户意图的判断。最常见的一个场景是角色设定冲突。你在系统Prompt中设定Agent是一个“严谨的代码审查官”但用户在多轮对话中不断跟它闲聊、打趣模型为了迎合用户语气会逐渐偏离系统设定。之后进入正式代码审查时它可能就不再像“严谨的审查官”了而变成了“随和的聊天搭子”。我的应对方案是把“角色设定”和“当前任务”分别放在不同的上下文区域对核心角色设定在每轮对话前都重新注入一次Messages中对应的system消息而不是只在开头注入一次就认为万事大吉。因为上下文窗口的注意力是有限的模型会更关注靠近末尾的文本角色设定放在开头太久远了很容易被大量中间内容“挤出”注意力范围。5.4 测评缺失全凭感觉调优是自欺欺人最后这个坑最隐蔽——它是“流程”层面的坑而不是“技术”层面的坑。很多团队开发Agent靠的是“感觉”让几个人试用一下问一句“你觉得好用吗”对方说“还行”就宣布开发成功。结果一上线真实用户的各种刁钻输入直接把系统打懵了。这不是因为开发者能力不够而是没有建立测评闭环。我的建议是——Agent项目从第一天起就要建立回归评测集。如果这个Agent是用在代码审查上的就去GitLab历史MR里搜集100个有代表性的真实案例涵盖好代码、有Bug的代码、有安全风险的代码、有风格问题的代码人工给出标准审查意见。每当你修改了Prompt、工具定义或者编排逻辑都需要在这100个案例上重新跑一遍对比输出结果与人工标准意见的差异。很多训练营项目不教这个因为“建立评测集”太枯燥了不如教“让Agent做点炫酷的事”——但如果你真想走这条路测评能力才是你专业度的真实体现。6. 你可以如何为自己设计一个“训练营式的成长计划”文章最后我给想入行或者想转岗的读者一条可执行的路径。不一定非要去报某个具体的训练营但你需要按照它的逻辑为自己搭建一套闭环学习体系。6.1 第一阶段语言基础与AI扫盲第1-4周先过一个前提条件熟练掌握Python。这里说的“掌握”不是“看过语法教程”而是能独立写出可复用的代码、能调试复杂bug、能看懂第三方库源码。如果这个底子不牢后续学LangChain、学Agent框架会非常痛苦。同时并行学习的还有AI的基础概念什么是Token什么是Embedding什么是模型微调什么是RAG这些概念不需要学得多深但一定要懂到“能给别人解释清楚”的程度。这个阶段的小项目练手任务是不借助任何Agent框架直接用OpenAI或任意大模型的SDK写一个能读取本地文件、总结内容、回答问题的命令行工具。6.2 第二阶段Agent框架与实战项目第5-10周进入框架学习阶段。可以从LangChain开始但记住我说的话——学的是它的思路不是它的API。重点理解它几个核心抽象Agent、Tool、Memory、Retriever以及它们的数据流向。同时要亲手做一个中等复杂度的Agent项目。什么样的项目算“中等复杂度”我推荐一个万能题材做一个“个人知识库AI管家”。它可以做三件事把你自己积累的Markdown笔记全部向量化存储你用聊天方式向它提问它调用检索工具从笔记中找答案当笔记内容不足以回答时它能自行决定搜索互联网补充信息。这个项目覆盖了RAG、工具调用、Agent决策、记忆管理等核心知识点而且在后续找工作时这个项目的展示效果远超“调API写个聊天机器人”。6.3 第三阶段工程化与生产化第11-16周这一个阶段就是“全栈工程师”与“AI爱好者”拉开差距的地方。你需要把你做的Agent项目“部署上线”这里包括用FastAPI/Flask把Agent封装成HTTP服务加数据库存储会话历史加Redis做缓存和限流用Docker容器化能一键启动搭建一个最基础的监控Dashboard能看到请求量、Token消耗、模型错误率整理一份Prompt变更记录表每变更一次就同步在评测集上跑一次回归测试。做完这套工程化流程你的Agent不只是在你的笔记本电脑上能跑而是一个具备了“可交付形态”的产品。6.4 第四阶段持续跟进行业动向长期Agent领域的变化速度比传统软件开发快一个数量级。你要保持关注的地方包括模型发布会和新版本的能力边界变化新框架、新工具链的演进各大厂开源的Agent解决方案案例复盘尤其是大厂或明星团队的Agent生产事故分析我自己的习惯是每天固定留出30分钟左右读相关技术帖子和论文看到和实际工作相关的点就随手记录。这就像练武功的“每日站桩”——短期看不出效果但半年后你的技术视野会跟同行拉开明显距离。还有一点接触这个领域一定会遇到各种“暴论”——比如某些人说“Agent是伪需求大模型直接生成答案就够了”又比如另一些人说“传统后端工程师要完了Agent能取代写代码的人”。我的态度是不入局不站队。与其争论Agent会不会取代程序员不如亲手做一个Agent——那种“它做事时你小心翼翼盯着日志、通过工程手段驯服它”的独特体验会给你最真实的答案。
返回列表