Appearance
传统开发转Agents开发:重新理解代码与长期资产
在 Agent 时代,代码越来越像日抛品。代码本身的生命周期变短了,但系统设计、上下文组织、工具边界、评估闭环的价值变长了。
一、最容易高估的是「写代码」
Agent 系统最常见的翻车点:
| 问题 | 说明 |
|---|---|
| 上下文喂得不对 | 模型拿到的信息和任务不匹配 |
| 工具抽象得太烂 | Tool Calling 返回格式不稳定 |
| 状态管理混乱 | Agent 不知道自己在哪个阶段 |
| 任务边界不清楚 | 一句指令塞太多事情 |
| 模型能力和系统设计错配 | 系统设计超出了模型能力 |
| 没有评估体系 | 做了也不知道做得对不对 |
| Prompt、Skill、Memory、Tool 全揉成一团 | 本来该分层的东西混在一起 |
Demo 看起来能跑,实际一上强度就碎。
二、上下文工程:不是 Prompt Engineering
| 对比 | Prompt Engineering | 上下文工程 |
|---|---|---|
| 关注点 | 咋写一句话让模型听话 | 怎么组织系统给模型喂信息 |
| 技能 | 提示词技巧 | 信息组织能力 |
| 层级 | 单次对话 | 整体系统设计 |
常见问题
上下文结构混乱
markdown
# ❌ 坏的组织方式
你是一个智能助手,要学会计规则、理解发票识别、会看 ERP 系统流程,还要会核对数据...
# ✅ 好的组织方式
你是发票核对 Agent。
- 任务:核对发票和订单是否一致
- 约束:只从指定系统获取数据
- 工具:invoice_reader、order_fetcher、diff_checker
- 输出:核对结果 + 异常列表设计原则
| 原则 | 说明 |
|---|---|
| 每层只做一件事 | Tool 是动作,Skill 是流程,Agent 是角色 |
| 数据和规则分离 | 数据放 Memory,规则放 Skill |
| 复用优先于重写 | 能复用的就是资产 |
三、Tool Calling:不是「连上 API」就算完
Tool Calling 的本质
Tool Calling 是让 Agent 能调用外部系统的接口层。
核心能力:
- 标准化的输入输出格式
- 错误处理和重试机制
- 权限和安全边界
设计规范
yaml
tool: send_email
description: 发送邮件给指定收件人
parameters:
to:
type: string
description: 收件人邮箱
subject:
type: string
description: 邮件主题
body:
type: string
description: 邮件正文
returns:
success: boolean
message_id: string常见问题
| 问题 | 说明 |
|---|---|
| 工具描述模糊 | Agent 不知道什么时候用 |
| 输入输出不规范 | 解析失败,重试,死循环 |
| 错误处理缺失 | 一报错就整个链路崩 |
四、MCP:Model Context Protocol
MCP 是连接 Agent 和外部系统的协议。
特点:
- 统一接口
- 即插即用
- 多客户端共享
适用场景
| 场景 | 用 MCP |
|---|---|
| 多 Agent 共享同一数据源 | ✅ |
| 需要调用公司内部系统 | ✅ |
| 单 Agent 单一任务 | ❌ 直接 Tool Calling |
五、评估体系:做了对不对
为什么需要评估?
- Agent 执行过程不透明
- 结果稳定性差
- 调了 prompt 不知道有没有变好
评估维度
| 维度 | 说明 |
|---|---|
| 任务完成率 | 能不能完成 |
| 工具调用准确率 | 该调用时调用了没 |
| 时间效率 | 耗时是否合理 |
| 成本效率 | Token 消耗是否合理 |
| 错误恢复能力 | 出错能否恢复 |
评估方法
- 自动化测试用例
- 人工抽检
- A/B 对照
六、长期资产清单
日抛品(短期代码)
| 类型 | 说明 |
|---|---|
| Prompt Patch | 模型升级可能不需要 |
| 框架胶水层 | 新框架可能替换 |
| 工具封装 | SDK 升级可能废弃 |
长期资产
| 类型 | 说明 |
|---|---|
| 系统设计 | 任务边界、数据流、状态机 |
| 上下文组织 | Memory、Knowledge、Skill 分层 |
| 工具边界 | Tool 能力定义、输入输出规范 |
| 评估体系 | 测试用例、评估指标 |
| 能力沉淀 | 复用的 Skill、验证通过的 Capsule |
七、转型路上的坑
坑 1:把 Agent 当脚本写
Agent 不是脚本,会执行中间有大量不确定性。
坑 2:过度依赖 Prompt
Prompt 只是上下文的一部分,系统设计才是关键。
坑 3:没有评估就上线
Agent 的不稳定性是常态,评估体系是保障。
坑 4:追求一步到位
先跑通一个闭环,再迭代优化。
总结
| 传统开发 | Agent 开发 |
|---|---|
| 代码是资产 | 代码是日抛品,设计是资产 |
| 关注实现 | 关注组织 |
| 单次交付 | 长期运行 |
| 确定性执行 | 不确定性管理 |
转型核心:从「写代码」转向「设计能长期运行的智能系统」。
关键词:Agent开发转型, 上下文工程, tool calling, MCP协议, 评估体系, 长期资产
