é
读éï¼65 å叿¶é´ï¼2025-07-17
7æ17æ¥ï¼AIç¼ç¨å¼åå¹³å°Windsurfæ£å¼å®£å¸éæ°ä¸æ¶Claude Sonnet 4模åãä¸ä¸çï¼Proï¼ç¨æ·æ¯æå¯äº«å250次å
è´¹è°ç¨æå¡ï¼æ¯æ¬¡è¯·æ±æ¶è2å积åï¼ï¼è¿æ å¿çè¿æ¬¾é«æ§è½AIç¼ç 婿æ£å¼åå½å¼åè
çæã
ä½ä¸ºä¸ä¸ªæ·±åº¦ç¨æ·ï¼æå¨å个æåå°±æ¾å¼äºCursor转åWindsurfï¼è¯¦è§æçæç« ãæ¾å¼Cursorï¼æä¾ç¶éæ©äºClaudeæä¾åçWindsurfãï¼ãå³ä¾¿å¨Claude Codeæå¡ä¸ç¨³å®çæ
åµä¸ï¼Windsurfçéæè®¡è´¹å使ç¨ä½éªä¾ç¶è®©ææå°æ»¡æãå¦ä»Claude 4çåå½ï¼æ´è®©æå¯¹è¿æ¬¾AIç¼ç¨å·¥å
·çåå±å
满信å¿ã
äºä»¶åé¡¾ï¼ ä»å¹´5æClaude 4ç³»åå叿¶ï¼Anthropicæ¾éå¶Windsurfçç´æ¥æ¥å
¥ï¼å¼åè
åªè½éè¿å¤æç”èªå¸¦å¯é¥”ï¼BYOKï¼æ¨¡å¼ä½¿ç¨Claude 4ï¼è¿ä¸åº¦å¯¼è´é¨åç¨æ·æµå¤±ãå¦ä»åæ¹åä½å
³ç³»åæï¼ç¨æ·ç»äºå¯ä»¥éæ°è·å¾æµç
çAIç¼ç¨ä½éªã
Claude Sonnet 4æ ¸å¿ä¼å¿ï¼
⢠跨æä»¶æºè½éæï¼æ¯æå¤§è§æ¨¡ä»£ç ä¿®æ¹ï¼éææçæåæ¾è ⢠è¶
é¿ä¸ä¸ææ¯æï¼20ä¸tokençªå£ï¼å®æ´çè§£å¤æé¡¹ç®æ¶æ ⢠精å代ç è¡¥å
¨ï¼ç»å Cascade åè½ï¼æä¾æºè½å®æ¶å»ºè®® ⢠ä¸ä¸å¼åä¼åï¼å¤æ¥éª¤æ¨çæ§è½è¶
è¿ Gemini 2.5 Pro è¡ä¸èæ¯ï¼ å¨ç»å OpenAI æ¶è´å¤±è´¥ãé«ç®¡å¢é转æ Google DeepMindï¼ä»¥å被Devin æ¯å
¬å¸ Cognition æ¶è´çä¸ç³»ååå¨åï¼Windsurf æ¤æ¬¡å¼å
¥ Claude 4 ä¸ä»
æ¯ææ¯åçº§ï¼æ´æ¯å¨ Cursor çç«åæ¶è´¹ä¸éæçå¸åºç¯å¢ä¸ï¼äºåç¨æ·ä¿¡ä»»çæç¥ä¸¾æªã
å
³æ³¨ãç¿è¡ä»£ç ãï¼è·åç¬¬ä¸æå¼åå·¥å
·èµè®¯ï¼
模型正在变成水电(commodity),极低成本用一流模型只是表层红利;真正的护城河是模型 × 结构化上下文 × 编排(Harness)。以 Karpathy 的 Obsidian LLM Wiki 为入口,论证一人公司为何最终应把 Notion AI 立为 Agent 体系的核心知识底座,本地只留临时缓存。
用一件糗事开场:我让 AI 把几条零散进展扩写成周报,三天后连自己都信了它编出来的「下一步规划」。写的人尚且会被骗,天天看 AI 产出的人更不必说——生产端的成本塌了地板,消费端的判断力正在被一口口喂钝。全程第一人称,不替读者下结论。
手写 Prompt 的 Skill 一换模型就翻车,根因是我把措辞当源代码硬编码了。这篇复盘用 DSPy 重构的全过程:只声明契约和打分函数,措辞交给编译器自动生成;换模型重新 compile 一次,当初翻车的 case 全部跑通。
Anthropic 同时发布 Claude Opus 4.8 和 Dynamic Workflows,前者在编码基准测试上全面超越 GPT-5.5,后者让单个 Claude Code 会话能并行运行数百个子代理。这不仅是模型升级,更是 AI 工程范式的根本转变。
一句话结论:要让 AI Agent 真正驱动一套复杂的 ERP,关键不是”让 Agent 直接调接口”,而是分层封装——底层把接口收成一套干净 API(主干),往上逐层包成工具箱(MCP)→ 本事(SKILL)→ 领域专家(分身)→ 总管,再用触发器和任务让它没人盯着也能自己跑。 “要让外部的 AI Agent 跟 ERP 打交道,到底怎么接?”——这件事听起来很技术,但真正该想明白的,是技术管理者和业务负责人。这篇先把结论和全景图摆上来,再一层层拆开讲清楚。 一、结论先行:整套架构一张图 先看答案。下面这张图就是全部:一个请求进来后,沿着能力栈一层层走到 ERP;而旁边那排触发器,负责“没人点也能自动开工”。 flowchart LR USER["用户"] --> MAIN subgraph TRIG["触发(没人盯也能开工)"] direction TB TR1["定时任务"] TR2["事件触发"] TR3["手动"] TR4["上层调用"] end TRIG --> TASK["任务<br/>有状态 · 可重试 · 可后台跑"] TASK --> MAIN["① 总管 MainAgent<br/>统一入口 + 通用能力(作图 / RAG)"] MAIN --> SUB["② 分身 SubAgent<br/>领域专家 = 一个 L2 业务域"] SUB --> SKILL["③ SKILL<br/>一项本事 = SOP + 一组工具"] SKILL --> MCP["④ MCP Server<br/>工具箱 = L3 服务"] MCP --> API["⑤ API 封装层(主干)<br/>字段映射 / 认证 / 权限 / 保险"] API --> RAW["⑥ ERP 原生接口<br/>REST·OData / 业务函数 / 批量包"] RAW --> ERP["ERP 系统"] 两条线索读这张图: 能力栈(主干):用户 / 触发器 → 总管 → 分身(领域专家)→ SKILL(一项本事)→ MCP Server(工具箱)→ API 封装层(主干)→ ERP 原生接口 → ERP。每一层只做自己该做的事。 怎么被触发:定时、事件、手动、上层调用,都先生成一个任务,再由任务驱动那条链。 为什么非得分这么多层,而不让 Agent 直接调 ERP 接口? 因为直连会同时踩三个坑: 接口对人 / 模型都不友好:字段名是 A_PurchaseOrder 这种技术代号,认证、权限还得自己处理。 脏活要写很多遍:认证、权限、字段映射如果每个调用方各写一遍,以后行为还容易不一致。 工具一多就选不准:几百个原生接口直接丢给模型,它根本挑不对该调哪个。 下面每一层,正是为逐个解决这些问题而存在。我们从最底下的主干往上搭。 二、能力地图:先把 ERP 切成 L1–L5 ERP 的本质,是把财务、采购、生产、销售、仓库、人事全部装进一套系统,所有部门共用同一本账。要封装它,先得知道它的能力是怎么分层的——这张分层图是后面一切切分的基准。 ```mermaid flowchart LR ROOT[“L1 ERP 平台统一数据中枢”]