ATRULE 技术博客ATRULE 技术博客
首页
博客
文档
关于
首页
博客
文档
关于
  • 技术文章

    • VuePress 2.x 完全指南
    • Gemini3 & GPT5 & DeepSeek3:AI时代程序员的身份转变
    • Agent 架构选型指南:单智能体 vs 多智能体
    • Agent 工程师转型学习路线图 (Full-Stack to Agent Engineer)
    • Agent 工程师学习笔记
    • 📖 Agent 系统架构与工程实践面试速记卡片
    • Agent 流式对话前端踩坑记录
    • RAG 检索工程问题记录
    • Agent 后端问题记录(Koa / MongoDB)
    • LLM 调用与 Agent 编排问题记录
    • Electron 桌面端问题排查记录
    • AI Agent 全栈开发问题排查记录
    • ES2026 与 TypeScript 进阶问题记录
    • 浏览器渲染与 V8 内存问题记录
    • React 19 与 Vue 4 新内核问题记录
    • 前端工程化与微前端问题记录
    • 性能、安全与可观测性问题记录
    • 前端架构实战问题记录
  • 项目实战

    • Node.js + Koa 抖音直播弹幕Agent 五大核心模块(面试项目完整版,TS技术栈)★★★★★
    • Poiclaw 项目蓝图:自主编程实体
    • AI旅行助手

这是一份为你提炼的“Agent 系统架构与工程实践”面试速记知识卡片,采用了标准 Markdown 格式呈现,紧扣高频考点,并补充了常考的深度扩展题,方便你复习和随时查阅。


📖 Agent 系统架构与工程实践面试速记卡片

一、 核心概念与技术选型

1. Tools vs. MCP (Model Context Protocol)

  • Tools(工具):Agent 可调用的具体功能函数(如 Python 爬虫、文本处理脚本)。属于业务逻辑层的最小执行单元。

  • MCP(模型上下文协议):一种标准化连接协议/规范(类似于 API 规范或 USB 接口标准)。

  • 核心作用:将工具/资源解耦为独立的 MCP Server,使 Agent/客户端(如 Claude Desktop, Cursor 等)能够动态发现并跨平台调用。

  • 选型策略(混合模式):

  • 内置 Tools:低延迟、高耦合的基础逻辑(如 Markdown 格式化、文本解析)。

  • MCP 服务:独立性高、需要跨平台复用或定期维护的扩展逻辑(如 GitHub Trending 抓取服务、第三方 API 服务)。

2. Prompt vs. Skill vs. Workflow vs. Agent

概念本质定位控制权归属适用场景
Prompt单次交互的上下文/文本指令人类控制简单问答、单次文本生成
Skill模块化的能力包(包含 Prompt + Tools + Context)人类预设具有固定输出格式的标准化任务
Workflow图形化或代码定义的确定性节点流程开发者硬编码确定性 SOP(如 OCR $\rightarrow$ 提词 $\rightarrow$ 跑脚本 $\rightarrow$ 存文件)
Agent具备自主规划与执行能力的智能体LLM 大脑动态决策目标明确但路径未知、需要自我反思重试的复杂任务

核心原则:“能用 Workflow 解决的确定性业务,尽量不要全交给 Agent 动态决策”,以保证系统的稳定性、响应速度与成本控制。


二、 桌面端(Electron)高性能 Agent 架构设计

1. 进程架构:主进程 + Worker 池

  • 主进程(Main Process):负责 UI 响应、窗口管理与任务调度。决不执行重度计算或阻塞式脚本,保证界面永远不假死。
  • Worker 池(Worker Pool):预先创建并维护的子进程/线程池。
  • 解耦隔离:耗时任务(Python 爬虫、AI 批量计算)在 Worker 中异步执行,即使 Worker 崩溃也不会影响主界面。
  • 动态扩展:支持并发执行多个独立工具。

2. 高可用与健康度保障(Electron 关键机制)

  • 安全的 IPC 通信:废弃 remote 模块,使用 contextBridge + preload.js 实现进程间安全双向通信;针对大数据流引入 Backpressure(背压控制)机制防止消息队列阻塞。

  • 卡死检测与自愈:

  • 借助 unresponsive 和 render-process-gone 事件监听渲染进程异常。

  • 引入 Heartbeat(心跳检测) 机制主动监控渲染进程 JS 线程状态,检测到死循环/白屏时进行优雅重载或恢复。

  • 守护进程(Watchdog):主进程管理 Worker 生命周期,监测到进程 Memory 泄漏或 Crash 时自动平滑重启(Self-Healing)。


三、 高频面试扩展题与解析

❓ Q1: 在 ReAct 模式下,Agent 出现死循环(Looping)或工具调用失败,如何进行降级与容错设计?

  • 参考回答:
  1. 最大步数限制(Max Iterations):限制单次思考/调用的 Loop 上限(如最多 5~10 次),超时触发强制退栈。
  2. 工具反馈重试与格式修正:当 Tool 报错时,将 Traceback 或 Error 信息作为 Observation 回传给 LLM,提示其更改参数或更换候选工具。
  3. 兜底降级(Fallback):当连续 N 次调用同一工具失败后,降级为规则引擎/固定 Workflow 处理,或主动向用户发出确认提示(Human-in-the-loop)。

❓ Q2: 为什么大模型 Agent 在调用外部工具时容易产生“幻觉”参数?工程上如何解决?

  • 参考回答:
  1. Schema 校验(Structured Outputs):基于 Pydantic 或 JSON Schema 严格限定参数类型,在发送给工具前通过代码层或 JSON Mode 进行校验。
  2. Few-Shot 示范:在 System Prompt / Tool Definition 中提供正确的历史调用示例(Positive & Negative Examples)。
  3. 自动修复节点(Self-Correction):捕获 Schema 校验失败错误,将其作为下一次 Prompt 的 Context 提示 LLM 修正语法格式后再二次输出。

❓ Q3: 像 Dify / Coze 这种平台,其 RAG(检索增强生成)与 Workflow 是如何结合的?

  • 参考回答:
  • 平台将 RAG 抽象为一个“知识库检索节点”。在 Workflow 流转到该节点时,先将输入文本进行 Embedding 向量化,在 Vector DB 中进行 Top-K 语义检索,并将召回的 Chunk(文本片段)注入到后续 LLM 节点的 Context 中作为参考资料,以增强回答的准确性。

❓ Q4: 在 Electron 中,如果 Worker 进程在执行 Python 爬虫时产生“孤儿进程”,该如何避免?

  • 参考回答:
  1. 生命周期绑定:在 Node.js 中创建子进程时,监听主进程的 before-quit、will-quit 以及 exit 事件,显式发送 SIGTERM / SIGKILL 终止所有子进程。
  2. IPC 管道握手:在 Python 子进程内部监听标准输入(stdin)的关闭事件(EOF)。一旦主进程崩溃退出导致管道断开,Python 进程读取到 EOF 即可主动调用 sys.exit() 自尽。
最后更新: 2026/9/3 20:44
Prev
Agent 工程师学习笔记
Next
Agent 流式对话前端踩坑记录