• Agent:一个能自主决策的“大脑”。

  • Function/Tool:大脑可以使用的“手和脚”。

  • MCP:一套标准化的“工具包管理规范”。

Agent - 智能体

核心定义: 一个能够理解目标、进行规划、执行动作并达成目标的 AI 系统。

角色:整个系统的 “大脑” 或 “指挥官

工作模式

  1. 规则: 将复杂任务(如“写一份行业报告”)拆解成多个步骤(调研、分析、撰写)

  2. 决策: 决定每一步需要调用哪个工具

  3. 执行: 调用工具并观察结果

  4. 反思: 根据结果决定下一步行动,直到任务完成

  • 个简单的例子:你让Agent“查一下明天的天气并提醒我是否需要带伞”

    • 他可能会规划为: 调用天气API -> 分析降雨概率 -> 调用日历工具创建提醒

Function/Tool Calling - 函数/工具调用

核心定义:让 AI模型 能够主动调用外部函数或API来获取信息来获取信息或执行操作的机制

角色:她是Agent的“手、脚和感官”, 扩展了AI的能力边界

工作原理:

  1. 开发者在请求Ai模型是,预先定义好一系列可用的函数(包括函数名、描述、参数)

  2. AI在理解用户问题后,如果发现需要外部信息或操作,会输出一个请求,表示它想要调用某个函数

  3. 你的代码执行这个函数,并将结果返回给AI

  4. AI根据返回的结果,生成最终的回答。

  • 一个简单的例子:

    • 你问:“旧金山现在的天气怎么样?”

    • AI思考:“我需要调用get_weather(location)函数来获取实时数据。”

    • AI响应:{ "function_call": { "name": "get_weather", "arguments": {"location": "San Francisco"} } }

    • 你的程序:执行get_weather("San Francisco"),得到 { "temp": 18, "condition": "Sunny" },并将结果交回给AI。

    • AI最终回答:“旧金山现在天气晴朗,气温18摄氏度。”

MCP - 模型上下文协议

核心定义:一个由Anthropic公司提出的开源标准,旨在标准化AI模型与外部工具/数据源之间的连接方式。

  • 角色:它是“工具包的标准化管理规范”或“统一的插件接口”。

  • 要解决的核心问题:

    • 之前:每个AI项目(如AutoGPT、LangChain)都要自己重复编写连接数据库、搜索引擎、Slack等工具的代码,即“重复造轮子”。

    • 之后:通过MCP,可以编写一次工具连接器(称为MCP Server),然后任何支持MCP协议的AI应用(称为MCP Client)都可以直接使用它。

  • 一个简单的例子:

    • 有人写了一个MCP Server for PostgreSQL,它知道如何连接和查询数据库。

    • 那么,无论是Anthropic的AI、你本地跑的Ollama,还是任何其他支持MCP的Agent,都不需要再自己写数据库连接代码,直接使用这个现成的Server即可。

RAG - 使用方法

  1. 创建项目文档结构

knowledge-base/ ├── project-context.md # 项目背景和架构 ├── coding-standards.md # 编码规范 ├── api-documentation.md # API 文档 ├── component-library.md # 组件库文档 └── deployment-guide.md # 部署指南

示例:项目上下文文档


# project-context.md## 项目概述- 项目名称: 电商管理平台 - 技术栈: React + TypeScript + Ant Design - 状态管理: Redux Toolkit - 构建工具: Vite ## 核心业务模块1. 用户管理 - 基于 RBAC 权限控制 2. 商品管理 - SKU/SPU 管理体系 3. 订单管理 - 多状态订单流程 4. 数据统计 - ECharts 可视化 ## 开发规范- 组件命名: PascalCase - 文件命名: kebab-case - API 前缀: /api/v1/ - 代码提交: Conventional Commits

  1. 在 Claude Code 中集成 RAG

Agent: 在提问时附上相关文档片段

Plan: 分步骤提供知识 一步步生成

  1. RAG 增强的提示词模版

背景信息: <项目背景文档内容> 当前任务: <具体开发任务> 约束条件: - 代码规范:<编码标准> - 技术限制:<技术约束> - 业务规则:<业务逻辑> 请基于以上信息实现功能。

模版1: 功能开发

text 背景信息: <项目背景文档内容> 当前任务: <具体开发任务> 约束条件: - 代码规范:<编码标准> - 技术限制:<技术约束> - 业务规则:<业务逻辑> 请基于以上信息实现功能。

模版2: 代码优化

text 现有代码: <需要优化的代码> 项目上下文: <相关业务逻辑和架构信息> 优化要求: - 性能改进点:<具体指标> - 代码质量:<规范要求> - 可维护性:<最佳实践> 请基于项目上下文进行优化。

  1. 实际应用开发
示例1: 组件开发

text 基于以下项目规范创建用户管理页面: 项目技术栈: - 前端:React 18 + TypeScript + Ant Design - 状态管理:Redux Toolkit + RTK Query - 路由:React Router v6 - API:RESTful,认证使用 JWT 用户管理需求: 1. 用户列表展示(表格形式) 2. 用户搜索(按姓名、邮箱) 3. 用户状态切换(启用/禁用) 4. 角色分配功能 API 接口: - 获取用户列表:GET /api/v1/users - 更新用户状态:PATCH /api/v1/users/{id}/status - 分配角色:PUT /api/v1/users/{id}/roles 请实现完整的用户管理组件。

  1. RAG 工作机制
    1. 分片:将复杂的“工作手册”分片, 可根据段落,页码,字数、章节 等

    2. 索引:通过 Embedding 将片段文本转换为向量,然后将片段文本和片段向量存在向量数据库

    3. 召回:用户问题 通过 Embedding 得出目标向量,然后与 片段文本向量进行相似度比对,相似度高的整合起来给大模型做分析

注:Embedding就是把语义相近的文本所对应的向量靠近,这样的话,当用户询问类似的语义后就可以将问题转化为 Embedding 最后根据向量相似度把相关文本找出来,扔给大模型。(Embedding 是专门解析语义的大模型,非gpt等大模型)

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐