🤖 AI 工具 📖 使用教程

AI Agent 从零到一:一个文科生的实战学习之路

从被质疑「不懂 AI」到自己动手构建 AI Agent,用实际项目理解 Agent 能力边界

#AI Agent #Raycast #LLM #MCP #实战教程

为什么要自己造一个 AI Agent?

在一次小组周会上,作者被同事质问「你懂 AI 吗」,这成为了他开始深入学习的动力。与其停留在概念层面,他决定从零开始构建一个 AI Agent,通过实际动手来理解 Agent 的能力边界。

明确目标:Agent 要做什么?

作者为自己设定了三个核心目标:

  1. 能正常聊天 — 基础的对话交互能力
  2. 能管理待办和笔记 — 创建、整理待办事项和笔记
  3. 能获取实时信息 — 获取少数派的派早报、栏目摘要等

关键原则:

  • 不直接使用任何 AI 框架,代码从零开始编写
  • 核心脉络和迭代方向由自己掌控,不交给 AI 全权处理

技术选型与架构

作者的 AI Agent 以 Raycast 插件 的形式实现,这样做的好处是避免了处理复杂的 UI/UX 工程问题,可以专注于 Agent 的核心逻辑。

核心组件

  • LLM 接口层:对接 OpenAI/Anthropic 等模型提供商
  • 工具调用(Function Calling):让 Agent 能够操作待办、笔记等
  • MCP(Model Context Protocol):扩展 Agent 的能力边界
  • 上下文管理:维护对话历史和系统提示词

学习路径与收获

第一阶段:理解 LLM 基础

在动手编码之前,先理清了大语言模型的工作原理:

  • Token 和上下文窗口的概念
  • System Prompt 与 User Prompt 的区别
  • Temperature、Top-P 等参数的作用
  • 流式输出(Streaming)的实现原理

第二阶段:实现基础对话

// 核心对话循环的简化示意
async function chat(message: string, history: Message[]) {
  const response = await llm.chat({
    model: "claude-sonnet-4-6",
    messages: [
      { role: "system", content: SYSTEM_PROMPT },
      ...history,
      { role: "user", content: message }
    ]
  });
  return response;
}

第三阶段:添加工具能力

让 Agent 能够执行实际操作,关键在于定义清晰的工具接口:

const tools = [
  {
    name: "create_todo",
    description: "创建一个新的待办事项",
    parameters: {
      title: "待办标题",
      priority: "high | medium | low",
      dueDate: "截止日期(可选)"
    }
  },
  {
    name: "create_note",
    description: "创建一条新笔记",
    parameters: {
      content: "笔记内容",
      tags: "标签列表(可选)"
    }
  }
];

第四阶段:集成 MCP

通过 MCP(Model Context Protocol),Agent 可以:

  • 读取外部数据源
  • 调用第三方服务 API
  • 扩展工具生态,无需修改 Agent 核心代码

关键经验总结

1. 不要一开始就追求完美

先用最简单的实现让 Agent 跑起来,再逐步迭代。第一个版本可能只是能回复「你好」,但这已经是一个完整的对话循环。

2. 提示词工程很重要

System Prompt 的质量直接决定了 Agent 的行为表现。好的提示词需要:

  • 明确 Agent 的角色定位
  • 设定清晰的行为边界
  • 提供具体的输出格式要求

3. 错误处理不可忽视

LLM 的输出具有不确定性,必须做好:

  • API 调用失败的降级处理
  • 模型输出格式的校验
  • 超时和重试机制

4. 测试驱动开发

为 Agent 的每个能力编写测试用例,确保:

  • 工具调用参数正确
  • 异常输入不会导致崩溃
  • 对话上下文的正确维护

结语

从被质疑「不懂 AI」到成功构建自己的 AI Agent,这个过程证明了学习 AI 的最好方式就是动手实践。软件工程本质上是实践学科,没有什么比「重造一个轮子」能带来更深刻的理解。

本文基于少数派社区文章整理,原文探讨了 AI Agent 开发的学习路径和实践经验,旨在帮助更多人跨越从理论到实践的鸿沟。

🤖 内容声明

本文由 AI 辅助生成初稿,经人工审核后发布。如有信息不准确或建议,欢迎指正。