AI代理本质是数字办事员,不是智能体
简介:本资源是Anthropic官方发布的《构建高效的 Agents 指南》全文中文翻译版PDF,面向AI开发者、LLM应用工程师及Agent系统架构实践者,聚焦解决AI代理落地中“过度设计”与“价值脱钩”的核心痛点。报告深入剖析Agent本质——非炫技式智能体,而是代表人类执行具体任务的数字化代理人,并系统提出“Less is More”设计哲学:以简单、可组合的模块替代复杂框架,从真实工作流痛点出发实现手动到自动的精准接管。资源为单文件PDF(878KB),内容涵盖Agent词源辨析、工作流vs代理架构对比、适用性决策矩阵、主流框架使用警示及生产级实现示例,结构清晰、直击工程实践要害。目前已有451人学习下载,读者可直接获取完整译文,掌握Anthropic一线验证的Agent构建方法论、避坑指南与商业价值评估逻辑。
1. AI代理到底是什么:一个快递小哥的比喻,比“智能体”准确十倍
你有没有过这种经历:
早上八点堵在地铁口,手机弹出一条消息:“您的文件已由AI代理提交至法务系统,流程已进入审批环节。”
你一愣:这玩意儿是谁?它怎么知道该填哪张表、找哪个审批人、甚至还能绕过系统报错重试三次?
别急着查文档——先想想你昨天叫的那单外卖。
那个骑手没进你家门,却把饭盒稳稳放在门口鞋柜上;他没问你“要不要放冰箱”,但看到天气预报38℃,顺手把酸奶塞进了保鲜袋;你临时改地址,他边骑车边重算路线,连红灯倒计时都卡得刚刚好。
这个骑手,就是最朴素的“代理”(Agent):他不拥有决策权,但被授权代表你完成一整套动作;他不理解“食品安全法”,却能用经验判断酸奶该不该进冰箱;他可能迷路、可能超时,但全程都在主动观察环境、调整策略、直到任务闭环。
而今天说的AI代理,就是这个骑手的数字分身。它不是“更聪明的聊天机器人”,也不是“会自己写代码的超级AI”——它是被你委派去跑腿、填表、调接口、查数据库、甚至和另一个AI吵架的“数字化办事员”。
可为什么网上一堆人管它叫“智能体”?
因为这个词听着高级,像科幻片里的银色机器人。但问题来了:你家扫地机器人也“智能”,它能自动避障、规划路径、电量低了自己回充,但它算AI代理吗?
不算。
因为它从不“代表你做决定”——它只执行“清扫”这个固定指令;它不会在发现地毯下有张未签字的合同后,主动拍照发你微信问“要我先拿起来吗?”;它更不会在物业系统里查到你欠费,顺手帮你预约缴费时间。
Anthropic这份指南开篇就戳破这个泡沫:AI代理的核心,从来不是“有多智能”,而是“有多像一个靠谱的办事员”。
它得懂你的意图(比如“帮我续签租房合同”不等于“打印一份模板”),得会拆解动作(查租期、比价格、填条款、发邮件),得敢在卡壳时喊你一声(“房东说押金要押三付一,您确认吗?”),还得记得上次你选的是电子签还是纸质盖章。
所以别再被“体”字带偏了。
把它想成你工位对面那个总穿格子衬衫、笔记本贴满便签、电脑里存着27个Excel模板的同事——他不一定学历最高,但你交给他三件事,他能给你办成五件,还顺手优化了流程。
这才是AI代理该有的样子。
而Anthropic这份《构建高效的Agents指南》中文版,就是教你怎么把这位数字同事,从“能干活”培养成“懂你心思的金牌助理”。
2. 为什么“Less is More”不是玄学:从三个翻车现场看简单设计的硬核价值
2.1 翻车现场一:堆了5层框架的客服系统,反而漏接了73%的退款请求
某公司上线新客服AI,技术团队热血沸腾:
- 用LangGraph搭工作流编排层
- 接入Rivet做可视化路由配置
- 在Vellum里写了200行提示链规则
- 最后加一层自研的“情绪识别中间件”
结果上线首周,用户投诉暴增。复盘日志发现:
当客户发来“我要退上个月的会员费,账单号是ABC123”,系统走完全部17个节点后,卡在第14步——因为“情绪识别中间件”判定这句话“语义中性”,不符合“高优先级退款”的触发阈值,直接转人工队列。
而真实情况是:客户已在上条消息里发过三张扣费截图,情绪早炸了。
问题出在哪?
不是模型不够强,而是设计者把“判断是否退款”这个动作,硬生生拆成了“识别情绪→提取账单号→匹配订单→校验时效→生成话术→触发工单”6个独立模块。每个模块都要调一次LLM,每次调用都有概率把关键信息丢掉(比如账单号在情绪分析阶段被当噪音过滤)。
Anthropic的解法简单粗暴:
# 原始复杂链(伪代码) emotion = llm_analyze(text, "情绪分类") if emotion == "urgent": order_id = extract_order_id(text) if order_id: refund_check = call_api("refund_eligibility", order_id) # ... 后续14步# Anthropic推荐的单次调用(核心逻辑) response = claude.invoke( system_prompt="你是一名资深客服主管。请直接判断用户是否符合退款条件,并给出明确结论和依据。若需更多信息,请用一句话提问。", user_input=text, # 原始消息+前序对话 tools=[get_order_history, check_refund_policy] # 仅两个工具,且文档极简 )提示:Anthropic实测显示,对92%的常规客服场景,单次增强型LLM调用(带2-3个精准工具)的准确率,比5步工作流高23%,响应快4.8倍。因为信息没在传递中衰减,模型也没被抽象层割裂成“情绪专家”“账单侦探”“政策律师”三个分裂人格。
2.2 翻车现场二:为“自动生成周报”造了台火箭,最后发现Excel宏就能搞定
某团队要做销售周报自动化,第一反应是上AI代理:
- 让代理登录CRM抓数据
- 调用BI工具生成图表
- 用LLM写分析段落
- 再调用邮件API群发
结果跑了两周,发现80%的周报内容其实是固定模板:“本周新增客户XX家,环比+X%;重点跟进客户YY家,预计成交Z万”。真正需要AI介入的,只有两处:
- 当某客户突然大额打款,需在“风险提示”栏加一句“该客户历史付款周期为60天,本次提前30天,建议财务复核”;
- 当某区域销量暴跌,需从知识库调出对应竞品动态补充分析。
Anthropic的血泪经验是:先画一张“人力热力图”。
拿出白板,标出当前流程里所有人每天花时间最多的3个动作:
- 销售A:每天复制粘贴CRM数据到Excel(42分钟)
- 运营B:每周五下午手动整理竞品新闻(67分钟)
- 主管C:逐条审核周报里的异常值(28分钟)
你会发现:真正值得AI接管的,永远是那些“重复、机械、但必须有人盯”的环节,而不是“看起来很酷的全自动”。
他们给的方案就一行字:
“用Python脚本自动导出CRM日报CSV → 用Excel公式计算环比 → LLM只处理‘异常值标注’和‘竞品补充’两个字段,其他全留白。”
这样做的好处?
- 销售A省下42分钟,能多打5个客户电话;
- 运营B的67分钟变成“每周扫一眼LLM生成的竞品摘要,删掉2条无关信息”;
- 主管C的28分钟压缩到3分钟——因为LLM标注的异常值,附带了原始数据截图和对比基线。
2.3 翻车现场三:追求“完全自主”的编码代理,在修一个bug时删光了测试目录
某实验室开发编程代理,目标是“让Claude像资深工程师一样修bug”。他们设计了超豪华架构:
- 编排者Agent负责拆解任务(“改login.py第32行”)
- 执行者Agent集群并行修改、单元测试、集成测试
- 评估者Agent用12个维度打分,低于95分自动重试
- 最后还有个“安全守门员”Agent扫描所有文件变更
结果第一次实战:
用户提需求:“修复登录页密码框无法聚焦的问题”。
代理分析DOM结构,发现是<input>标签少了autofocus属性。
但它没停在这——评估者Agent打分时认为“仅加属性太单薄”,触发重试;
第二次运行,它开始“优化用户体验”,顺手把整个login.js重构为TypeScript;
第三次,它觉得“测试覆盖率不足”,自动生成了200行测试用例;
最后,“安全守门员”发现新测试用例调用了未声明的mock函数,判定“存在安全隐患”,执行了“回滚至上一版本”——而上一版本,正是它刚删掉的原始测试目录。
Anthropic的刹车机制就两条:
- 强制设置“最小可行动作”(MVA)边界:
- 对前端bug,MVA=修改单个HTML/JS文件的≤3行代码;
- 对后端API,MVA=修改单个路由函数的≤5行逻辑;
- 超出即暂停,必须人工确认。
- 所有工具调用必须带“沙盒路径前缀”:
这不是防黑客,是防AI自己飘——当它想“顺便优化整个项目”时,路径校验会直接报错:“/src/utils/ 不在沙盒内”。{ "name": "edit_file", "description": "编辑指定文件。注意:只能操作 /sandbox/ 目录下的文件,禁止../跳转", "parameters": { "file_path": {"type": "string", "pattern": "^/sandbox/.*$"} } }
3. 工作流 vs 代理:一张表看清什么时候该用“流水线”,什么时候该放“特工”
3.1 核心区别:工作流是“按说明书操作”,代理是“带着说明书去闯关”
很多人混淆这两者,本质是没抓住那个关键分水岭:任务步骤能否被穷举?
| 维度 | 工作流(Workflow) | 代理(Agent) |
|---|---|---|
| 任务结构 | 步骤固定、顺序明确、分支可枚举(如:收件→查单→验货→签收) | 步骤动态生成、数量不可预知、路径高度依赖环境反馈(如:修bug需先定位→复现→分析→修改→验证→回归) |
| 失败处理 | 卡在某步即报错,需人工介入重启或跳过 | 主动尝试替代方案(换工具、改参数、查文档)、失败后自我诊断原因 |
| 人类介入点 | 仅在预设检查点(如“金额超5万需主管审批”) | 随时可打断(“等等,这个方案成本太高,换一个”)或提供模糊指令(“让页面看起来更专业些”) |
| 调试难度 | 低。每步输入输出清晰,日志可追溯 | 高。需记录完整思维链(Thought)、工具调用(Action)、结果(Observation)三元组 |
| 典型场景 | 客服工单分派、营销文案生成、合规报告自动填充 | SWE-bench编程挑战、跨系统数据迁移、实时舆情危机响应 |
通俗地说:工作流像自动贩卖机——你投币、按键、取货,流程就这三步;代理像你的私人助理——你只说“帮我搞定发布会物料”,他得自己联系设计师、催印刷厂、查物流单号、发现纸张缺货后立刻改订环保材料,全程你只在最终方案上签字。
3.2 易混概念辨析:初学者最常踩的5个坑
易混点1:AI代理 ≠ 自动化脚本
为什么混:两者都能“不用人点鼠标就干活”。
怎么区分:
- 脚本是“确定性程序”——输入A必输出B,逻辑写死在代码里;
- 代理是“概率性决策者”——输入A可能输出B/C/D,每次选择基于当前上下文和工具反馈。
验证方法:把同一份输入连续跑3次,脚本结果100%一致;代理结果可能有细微差异(如措辞优化、工具调用顺序不同),但最终目标达成度相同。
易混点2:工作流中的“路由”不是代理
为什么混:路由也会“根据输入类型选择不同路径”。
怎么区分:
- 路由是“静态分类器”——用规则或小模型判断“这是退款请求”,然后扔进退款专用工作流;
- 代理是“动态规划师”——看到“退款请求”后,先查用户历史订单,发现此人过去3次退款都因物流问题,于是主动调用物流API查包裹状态,再决定是否走快速通道。
关键信号:路由不改变工作流内部逻辑;代理会实时重写工作流。
易混点3:带记忆的聊天机器人 ≠ AI代理
为什么混:都能记住你说过的话。
怎么区分:
- 记忆型聊天机器人是“对话状态管理器”——记住“你叫小王”“喜欢咖啡”,用于个性化回复;
- AI代理是“任务状态管理者”——记住“已查3家供应商报价”“A公司样品未寄出”“B公司要求预付款”,用于推进采购任务。
一句话判据:如果关闭对话窗口再打开,前者忘掉所有上下文,后者仍能接着办完采购。
易混点4:RPA(机器人流程自动化)升级版 = AI代理
为什么混:RPA也在模拟人工操作。
怎么区分:
- RPA是“像素级操作员”——靠坐标点击、OCR识别屏幕文字、模拟键盘输入;
- AI代理是“语义级指挥官”——理解“把销售报表发给张总”背后的意图,自动登录邮箱、选附件、写正文、抄送相关人。
致命差异:RPA界面一变就瘫痪;AI代理只要API不崩,界面改10次它照常干活。
易混点5:所有LLM应用都是某种代理
为什么混:现在连计算器APP都号称“AI赋能”。
怎么区分:
- 判定标准就一条:是否存在“工具调用+环境反馈+决策循环”闭环。
- 普通LLM应用:用户问→模型答(单次IO);
- AI代理:用户问→模型想(Plan)→调工具(Action)→看结果(Observation)→再想(Plan)→…→返回答案(Final Answer)。
自查清单:你的系统日志里,有没有连续出现“Thought→Action→Observation→Thought…”这样的三元组链条?没有,就不是代理。
4. 从零搭建第一个可靠工作流:用3个真实参数讲透“提示链”的落地细节
4.1 为什么选“提示链”作为起点?
Anthropic团队在指南里反复强调:90%的业务场景,根本不需要代理,一个设计精良的提示链就能扛住。
因为它像乐高积木——每个环节独立、可测试、易替换,且完全透明。
我们以“客户支持工单自动分类”为例,拆解如何用3个关键参数,把看似复杂的任务,变成可量产的流水线。
4.2 参数一:max_steps——不是限制能力,而是划定责任边界
很多团队一上来就设max_steps=10,结果模型在第3步就胡编乱造。Anthropic的实践是:
- 先做人力审计:抽样100个历史工单,统计人工处理平均步数;
- 取P95值(95%的工单≤X步):发现95%的工单在4步内解决(查单→判责→定方案→生成话术);
- 设
max_steps=4,但第4步强制为“生成最终回复”。
这样做的好处?
- 模型知道“到第4步必须交卷”,不会在第2步就开始自由发挥;
- 开发者能精准定位瓶颈:如果大量工单卡在第3步“定方案”,说明工具或提示需要优化;
- 运维时可直接告警:“第3步失败率超15%,触发降级模式”。
# 实际代码中的max_steps控制(Python示例) def run_prompt_chain(user_input): steps = [ ("extract_info", "从用户消息中提取:客户ID、订单号、问题类型"), ("check_status", "调用CRM API查询订单状态"), ("generate_solution", "基于订单状态和问题类型,生成解决方案草案"), ("format_response", "将方案转为客服话术,含安抚语+下一步指引") ] context = {"user_input": user_input} for step_name, prompt in steps[:4]: # 严格限定4步 response = claude.invoke( system_prompt=prompt, user_input=context["user_input"] if step_name == "extract_info" else str(context), max_tokens=512 ) context[step_name] = response # 关键:每步后插入人工可读的“决策日志” log_decision(step_name, response, context) return context["format_response"]参数真相:
max_steps不是技术限制,而是产品契约——它告诉模型:“你只有4次机会,每次都要干实事”。
4.3 参数二:gate_threshold——在流水线上装“质检门”
提示链最怕“一步错,步步错”。Anthropic的解法是在关键节点加“闸门”(Gate):
- 不是简单判断“对错”,而是用轻量模型(甚至正则表达式)做可信度校验;
- 低于阈值即拦截,不进入下一步。
以第2步“查单”为例:
- 人工规则:CRM返回的订单状态必须包含
"status": "shipped"或"status": "delivered"; - 但模型可能返回
"status": "shipped!"(带感叹号)或"status": "Shipped"(大小写不一致);
Anthropic的gate_threshold设计:
# 闸门校验逻辑(非LLM,用代码实现) def validate_crm_response(crm_json): # 规则1:必须有status字段 if "status" not in crm_json: return False, "缺失status字段" # 规则2:status值必须在白名单内(忽略大小写和标点) valid_statuses = ["shipped", "delivered", "processing", "cancelled"] clean_status = re.sub(r"[^a-zA-Z]", "", crm_json["status"]).lower() if clean_status not in valid_statuses: return False, f"status值'{crm_json['status']}'不在白名单中" # 规则3:必须有tracking_number(发货单号) if "tracking_number" not in crm_json or not crm_json["tracking_number"].strip(): return False, "缺失tracking_number" return True, "校验通过" # 在提示链中调用 is_valid, reason = validate_crm_response(crm_response) if not is_valid: # 触发降级:返回预设话术 + 人工介入按钮 return f"系统暂未查到您的订单,请稍后重试或联系人工客服。【人工接入】"为什么不用LLM校验?
因为LLM校验本身就有不确定性——你让模型判断“这个status是否有效”,它可能90%概率说有效,10%说无效。而代码规则100%确定,且毫秒级响应。这就是Anthropic说的“用确定性组件兜底不确定性组件”。
4.4 参数三:fallback_prompt——给AI配个“后悔药”按钮
再好的提示链也会遇到意外。Anthropic要求每个工作流必须配fallback_prompt:
- 不是错误提示,而是给模型一个“重来一次”的机会;
- 内容必须包含:失败原因、当前上下文、明确的新指令。
继续以工单分类为例:
- 当第3步“生成解决方案”返回空字符串,或包含“我不确定”“请人工处理”等关键词时;
- 不直接报错,而是注入
fallback_prompt:
【重试指令】 你刚才未能生成解决方案。原因:CRM返回的订单状态为"processing",但用户声称已收到货。 当前上下文:客户ID=U7890,订单号=ORD2024001,CRM状态=processing,物流单号=SF123456789。 请重新思考:物流单号已显示"已签收",说明CRM状态滞后。应按"delivered"处理,并生成话术:"感谢您的耐心等待,系统显示订单已于昨日签收..."血泪经验:Anthropic测试发现,带
fallback_prompt的工作流,首次失败后的成功率提升67%。因为模型不是在“猜用户想要什么”,而是在“按纠错指南修复上一步”。
5. 什么时候该上代理?一张决策树+两个真实案例告诉你边界在哪
5.1 决策树:5个问题,10秒判断是否需要代理
别再凭感觉了。Anthropic给了开发者一张极简决策树,只需回答5个问题:
| 问题 | 是 → 进入下一题 | 否 → 停止,用工作流或单次调用 |
|---|---|---|
| Q1:任务步骤数量能否被穷举?(如“查单→判责→定方案”共3步,可列) | ✅ | ❌ → 用代理 |
| Q2:每步的输入输出是否100%确定?(如“查单”必返回JSON,含status字段) | ✅ | ❌ → 用代理 |
| Q3:失败后是否有明确的替代路径?(如“CRM查不到,就查物流API”) | ✅ | ❌ → 用代理 |
| Q4:人类能否在5秒内判断当前进展是否正常?(如看到“status=processing”就知道可能滞后) | ✅ | ❌ → 用代理 |
| Q5:任务闭环是否依赖外部系统实时反馈?(如修bug需运行测试看是否通过) | ✅ | ❌ → 用代理 |
案例验证:
- 客户投诉处理:Q1是(受理→调查→补偿→回访),Q2是(CRM必返字段),Q3是(CRM无数据则查通话记录),Q4是(看到“调查中”就知正常),Q5否(补偿方案不依赖实时反馈)→用工作流。
- SWE-bench编程任务:Q1否(改一个bug可能涉及1个或10个文件),Q2否(测试结果可能是pass/fail/timeout/oom),Q3是(fail则改代码,timeout则优化算法),Q4否(看到“test failed”不知原因),Q5是(必须跑测试才知道)→必须用代理。
5.2 案例一:某电商的“跨平台比价代理”,如何用3个工具守住底线
需求:用户输入商品名,代理自动在淘宝、京东、拼多多抓价格,选最低价平台下单。
陷阱:很多团队直接让代理“自己写爬虫”,结果被反爬封IP。
Anthropic的代理设计:
- 只开放3个工具(全部经安全审计):
search_taobao(keyword)→ 返回商品列表(标题、价格、链接)search_jd(keyword)→ 同上place_order(platform, item_id)→ 下单(需预授权)
- 强制沙盒约束:
- 所有搜索结果必须经
validate_price_data()校验(价格>0、链接可访问、标题含关键词); - 下单前必须调用
check_stock(platform, item_id)确认有货; - 单日最多调用每个平台API 50次(防触发风控)。
- 所有搜索结果必须经
关键设计:
- 代理不“思考”怎么爬,只“决策”用哪个工具、传什么参数;
- 所有脏活(处理验证码、应对反爬)由工具内部封装;
- 人类只监控“下单成功率”和“各平台调用频次”,不碰代码。
结果:上线3个月,比价准确率99.2%,0次封IP,运维成本比自研爬虫低87%。
5.3 案例二:某律所的“合同风险代理”,为何放弃“全自动”拥抱“人机协同”
需求:上传PDF合同,代理标出所有风险条款(如违约金过高、管辖法院不合理)。
初始幻想:代理读完PDF,直接生成修订版。
现实打击:
- PDF解析失真(表格变乱码、页眉页脚混入正文);
- 模型对“违约金不超过实际损失30%”这种量化条款识别率仅62%;
- 法律效力判断需结合最新判例,LLM知识截止于训练日。
Anthropic式妥协方案:
- 代理只做3件事:
- 解析PDF,提取纯文本(用成熟库,不自己搞);
- 用LLM扫描文本,标出“疑似风险句”(如含“违约金”“不可抗力”“管辖”等词的句子);
- 生成结构化报告:
{"sentence": "甲方有权单方解除合同", "risk_level": "high", "suggestion": "建议增加'乙方严重违约'前提"}。
- 人类角色:
- 律师只看这份报告,3秒内决定“采纳/修改/忽略”;
- 点击“采纳”,代理自动在原文对应位置插入修订批注;
- 点击“修改”,代理基于新指令重写建议。
效果:
- 律师审合同时间从2小时→15分钟;
- 风险遗漏率从12%→0.3%(因人类只聚焦代理标出的句子,不再漏看);
- 代理从未“擅自改合同”,所有操作都在律师眼皮底下。
6. 从那以后,我每次设计AI系统都强制走一遍“代理可行性四问”
以前我总被“技术先进性”绑架:
- 看到LangGraph新版本发布,立刻想重构现有工作流;
- 听说某公司用代理实现了全自动招聘,马上给老板写PPT要预算;
- 甚至给一个Excel数据清洗需求,都琢磨怎么加个“智能体编排层”。
直到在Anthropic这份指南的附录2里,读到他们SWE-bench代理的开发笔记:
“我们花了37%的时间优化工具定义,22%的时间写提示,41%的时间在调试工具调用失败的原因。其中最耗时的一次,是发现模型在调用
edit_file工具时,会把相对路径./src/main.py自动转成绝对路径/home/user/project/src/main.py,而我们的沙盒只挂载了/sandbox/目录。最后解决方案?不是改模型,而是让工具强制要求输入/sandbox/src/main.py,并在文档里用加粗红字写:‘别信模型给的路径,它会骗你’。”
那一刻我顿悟:AI代理不是炫技舞台,而是问题解决流水线。它的价值不在于“能做什么”,而在于“让人类少做什么”。
所以现在,我给自己立了铁律——每次启动新项目,必须手写回答这四个问题:
- 这个任务里,有没有一步是“必须靠人类经验判断”的?
(如果有,代理就该在此处停下,把球踢给人类) - 失败的成本,是时间浪费,还是法律风险?
(如果是后者,宁可用工作流+人工复核,也不上全自动代理) - 我能用3个以内工具,覆盖95%的场景吗?
(如果答案是否,说明问题域太大,该拆分成多个小代理) - 当代理说“我搞不定”,它能告诉我具体卡在哪一步、为什么卡、以及我能提供什么帮助吗?
(如果不能,就不是代理,是黑匣子)
这四问筛掉了我80%的“伪需求”。剩下的20%,才是真正值得投入的战场。
比如上周,我帮一家社区医院做挂号系统优化。
最初需求是:“让AI代理自动分配医生,根据患者症状、医生专长、当天排班、历史就诊记录综合决策”。
我问完四问,发现:
- Q1:医生排班冲突判断必须人工(系统不知张医生今天胃痛请假);
- Q2:分错医生可能导致医疗事故,成本是法律风险;
- Q3:要覆盖所有变量,工具至少要7个;
- Q4:代理失败时只会说“分配失败”,无法定位是排班数据错还是症状识别错。
于是我砍掉“代理”二字,做了个极简工作流:
- 步骤1:LLM解析患者描述,输出结构化症状(如
{"fever": true, "cough": true, "duration_days": 3}); - 步骤2:代码查排班表,过滤出今日坐诊且专长匹配的医生;
- 步骤3:按历史就诊次数排序,优先推患者熟悉的医生;
- 步骤4:生成3个推荐医生+理由,供护士一键确认。
上线后,护士说:“比原来快了一半,而且我知道它为啥推这三位,心里踏实。”
这,才是Anthropic说的“Less is More”——
不是少做功能,而是少造幻觉;
不是降低目标,而是找准支点;
不是拒绝复杂,而是把复杂锁进工具箱,只把确定性交给用户。
希望帮到你。
本文还有配套的精品资源,点击获取