为什么有时候选择手搓Agent?
这是 Agent 工程里面一个很常见的架构选择问题。很多公司会问为什么不用 LangChain、AutoGen、CrewAI 这些成熟框架而要自己实现 Agent答案不是“自己写一定更好”而是业务需求、可控性、性能、复杂度决定是否手搓。一 、什么叫“手搓 Agent”手搓 Agent 指不用完整 Agent 框架而是自己实现核心循环用户输入↓任务理解↓状态管理↓LLM调用↓Tool选择↓工具执行↓结果反馈↓继续推理↓输出例如自己写while steps max_steps: response llm.chat(messages) if response.need_tool: result execute_tool(response.tool) memory.add(result) else: return response.answer也就是自己控制 Agent Loop。二、为什么选择手搓 Agent原因1需要极强的控制能力成熟框架通常提供Agent├── Memory├── Tool├── Planner└── Executor但是很多企业场景需要每一步都必须可控。比如机器人用户去客厅拿水机器人 Agent不能LLM:我要先问天气我要搜索地图我要联网查询而应该任务解析↓导航模块↓运动控制↓视觉确认↓抓取机器人领域延迟要求高安全要求高行为必须确定所以经常自己设计 Agent。原因2框架太重比如 LangChain为了通用性引入很多抽象ChainAgentExecutorRetrieverMemoryCallbackRunnable一个简单流程调用LLM↓调用工具↓返回结果可能需要很多层封装。但是企业内部可能只需要LLMTool RouterMemoryWorkflow Engine自己写几百行即可。原因3性能优化框架为了通用会增加对象封装状态转换中间消息Callback导致一次Agent执行纯API调用:100ms框架:200~500ms对于实时机器人自动驾驶高频交易延迟很重要。原因4数据和安全要求企业经常不能把Prompt用户数据Tool调用记录交给第三方框架。原因5框架设计理念不符合业务例如LangChain默认Agent决定下一步但是工业机器人可能任务规划Agent|↓固定技能模块导航Skill抓取Skill避障Skill充电Skill这里更像Agent Workflow而不是纯Agent。三、那为什么不用手搓直接用框架因为框架也有优势。优势1开发快例如实现工具调用自己写Tool注册参数解析异常处理消息管理可能几天。框架几十分钟。优势2生态成熟例如LangChain已有RAGMemoryVector DBTool接口Agent模板不用重复造轮子。优势3快速验证想法创业早期目标先证明Agent能不能工作不是打造工业级Agent Runtime所以框架优先。

相关新闻

C++并发安全HashMap设计:锁分段、读写锁与无锁编程实战

C++并发安全HashMap设计:锁分段、读写锁与无锁编程实战

1. 项目概述与核心价值最近在社区里看到不少关于C并发编程的讨论,尤其是涉及到高性能容器时,大家普遍对标准库的std::unordered_map在并发环境下的表现感到头疼。自己动手实现一个线程安全的哈希表,似乎成了每个想深入理解C并发与数据结构的开…

2026/10/2 2:59:53 阅读更多 →
太原电梯综合改造工程

太原电梯综合改造工程

近年来,随着太原城市更新步伐加快,老旧小区与商用建筑的电梯综合改造工程成为民生热点与行业焦点。大量运行超过15年的电梯设备面临老化、故障频发、安全标准滞后等问题,亟待系统性升级。本文将从行业痛点、技术方案与本地化服务三个维度&…

2026/10/7 22:07:36 阅读更多 →
C++多线程死锁排查实战:从原理到GDB调试全解析

C++多线程死锁排查实战:从原理到GDB调试全解析

1. 项目概述:当你的多线程程序“卡死”时如果你写过C多线程程序,大概率遇到过这种情况:程序运行得好好的,突然某个时刻就“卡”住了,界面无响应,日志不输出,CPU占用率可能还很低,就像…

2026/9/27 14:34:23 阅读更多 →

最新新闻

MySQL慢JOIN优化:搞懂NLJ嵌套循环连接,从8秒降到0.6秒

MySQL慢JOIN优化:搞懂NLJ嵌套循环连接,从8秒降到0.6秒

多表关联查询一慢,第一反应基本都是“加索引”,但加上索引之后发现有时根本不生效,有时执行计划还是走全表扫描,于是开始怀疑 MySQL 是不是脑子进水了。其实问题多半出在没搞懂 MySQL 执行 JOIN 的真实路径——它底层到底用哪种算…

2026/10/13 11:06:17 阅读更多 →
MySQL 8.0 报错 1251:认证插件不匹配的排查与解决指南

MySQL 8.0 报错 1251:认证插件不匹配的排查与解决指南

1. 一次让人摸不着头脑的连接失败:1251报错的长相和出现场景如果你在部署新项目的时候突然在数据库连接这一环卡住,大概率会遇到这么一段英文报错:ERROR 1251 (HY000): Client does not support authentication protocol requested by server…

2026/10/13 11:06:17 阅读更多 →
Kafka生产者API深度解析:从异步机制到可靠性保障

Kafka生产者API深度解析:从异步机制到可靠性保障

1. 项目概述:为什么一个“生产者API”值得单独写满一整章?Kafka 生产者(producer)不是个新概念,但凡接触过消息队列的开发者,都写过几行producer.send()。可真要问一句:“你写的那行 send&#…

2026/10/13 11:06:17 阅读更多 →
在线UML类图工具:语义建模、代码同步与协作闭环

在线UML类图工具:语义建模、代码同步与协作闭环

1. 项目概述:为什么一个“在线UML类图工具”值得花一整天认真拆解?你有没有过这种经历:团队开会讨论一个新模块,白板上画满歪歪扭扭的方框和箭头,写满“继承”“关联”“聚合”,散会后拍照发群里&#xff0…

2026/10/13 11:06:17 阅读更多 →
obsidian-weread-plugin 模板编辑器窗口:三栏布局、Nunjucks 实时预览与主题系统集成

obsidian-weread-plugin 模板编辑器窗口:三栏布局、Nunjucks 实时预览与主题系统集成

知识管理知识库 【免费下载链接】obsidian-weread-plugin Obsidian Weread Plugin is a plugin to sync Weread(微信读书) hightlights and annotations into your Obsidian Vault. 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-weread-plugin 点击查看 免…

2026/10/13 11:06:17 阅读更多 →
PHP大文件上传实战:切片上传与断点续传完整方案

PHP大文件上传实战:切片上传与断点续传完整方案

PHP大文件上传这个问题,最近好几个朋友都来问我。他们的需求基本一致:网页端要传1GB甚至更大的文件,直接上传统统超时、报错或者直接页面卡死。我自己之前在一套文件管理类项目里也踩过不少坑,最后是通过修改服务端参数、前端做切…

2026/10/13 11:05:16 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →