跳到主要内容

Agent 常见问题

基础问题

Q1: Agent 和普通 LLM 对话有什么区别?

A: 普通对话是单轮或有限轮次的问答。Agent 能够主动调用工具、执行多步任务,并在推理与行动之间循环,直到达成目标。

Q2: ReAct 和 Function Calling 有什么不同?

A: ReAct 是一种推理范式(Thought-Action-Observation 循环);Function Calling 是实现工具调用的接口规范。两者可结合使用:用 ReAct 组织推理,用 Function Calling 执行具体工具调用。

Q3: 如何选择 Agent 框架?

A: 根据场景:通用链式应用选 LangChain;多 Agent 协作选 CrewAI;需要强数据/RAG 能力可考虑 LlamaIndex;自动化与代码执行可看 AutoGen。

使用问题

Q4: Agent 经常选错工具怎么办?

A: 优化工具描述,使其简洁、准确;在 System Prompt 中说明何时用哪个工具;适当提供 few-shot 示例。

Q5: 如何避免 Agent 无限循环?

A: 设置 max_iterations;在工具返回中提示「已无法继续」;监控单次对话的 token 和调用次数。

Q6: Agent 如何与 MCP 集成?

A: MCP Server 暴露工具,MCP Client 将工具转换为 LangChain/LlamaIndex 的 Tool 接口,供 Agent 调用。参见 MCP 服务器开发

技术问题

Q7: 多 Agent 如何协作?

A: 可用 CrewAI、AutoGen 等框架;或通过 A2A 协议实现跨应用 Agent 通信。

Q8: 如何降低 Agent 的 API 成本?

A: 使用本地模型(Ollama);缓存工具结果;压缩历史上下文;控制迭代次数。


最后更新: 2025 年 3 月