认识 Agent
**Agent 就是智能体。何为"智"?——君子生非异也,善假于物也。** - "物"即工具箱:定义一系列工具(函数/API)让大模型调用 - 大模型负责**调度**(理解、规划、选择工具),具体细节由工具实现(确定性执行) - LLM 单次调用 = 一问一答;Agent = 多次调用 + 状态 + 工具 + 自主决策的循环 ```text 感知(输入) → 规划(拆步骤) → 行动(调工具) → 观察(读结果) → 反思/继续 → ... → 输出 ```
Agent 依赖模型的三能力: 1. **问题理解与行动规划**(思维链):先想清楚分几步 2. **结构化输出**:工具调用参数是合法 JSON 3. **上下文理解**:读懂工具返回并整合 Function Calling 是 Agent 的手;Skill 是 Agent 的作业指导书(见 Skills 页);工作流是多个 Agent/节点的编排(本页下半)。
工作流方法
影响 LLM 效果的三要素: 1. **模型能力**:通识理解 / 推理规划执行 / 知识学习 / 文风 2. **相关信息**:任务背景 + 互动上下文 3. **模型输出控制**:这才是工程可着力的部分—— - 单次请求:Prompt 优化、CoT、输出格式控制 - 多次请求:ReAct 反思、任务编排管理(工作流)
单次请求的局限(为什么需要工作流): - 上下文/输出长度限制 - CoT 思考过程不想暴露给用户 - 时序依赖的信息无法一次输入(后一步依赖前一步结果) 工作流的优势:**任务拆分成节点**,单次模型调用就是一个节点;节点间可混入普通代码逻辑(确定性);可编排、可传数据、可观测。
**三阶段迭代法**(让差异收敛的通用范式): ```text ① 原始任务初次执行 ② 反思:哪些地方待提高(对照预期找差异) ③ 执行建议(改进后重跑) ↺ 反复"发现问题/差异 → 给建议 → 执行 → 确认效果"直到收敛 ``` 从 ChatGLM 构建 Agent 集合(Agent Bank)的六步:模型选择加载 → 工具封装 → Prompt 设计 → langchain 组装 Agent → 测试优化 → 部署。
框架实战:Agently 与 LangGraph
Agently Workflow 最小示例: ```python import Agently wf = Agently.Workflow() @wf.chunk() def add1(inputs, storage): a = inputs["default"] return a + 1 @wf.chunk() def add10(inputs, storage): return inputs["default"] + 10 wf.connect_to("add1").connect_to("add10").connect_to("END") print(wf.start(1)) # -> {'default': 12} ``` 两条铁律(实测总结): 1. **每个方法必须有 return**——workflow 把上一个方法 return 的值传给下一个方法的 `inputs['default']` 2. **storage 是流程中固定的字典**——`storage.set("step1", data)` / `storage.get("step1")` 跨节点共享状态
Agently 直接创建 agent(OpenAI 兼容端点三连配置): ```python import Agently agent = ( Agently.create_agent() .set_settings("current_model", "OAIClient") .set_settings("model.OAIClient.url", deepseek_url) .set_settings("model.OAIClient.auth", {"api_key": deepseek_api_key}) .set_settings("model.OAIClient.options", {"model": "deepseek-chat"}) ) result = agent.input("我想成为音频算法工程师,给我一个学习计划").start() print(result) ``` tpf 里的封装:`tpf.llm.agent.Agent().openai(query)`(内部 `nest_asyncio.apply()` 保证 notebook 异步稳定)。
LangGraph(官方文档 langchain-ai.github.io/langgraph/):把工作流建模为**状态图**—— - Node:一个函数/一次模型调用(读写共享 State) - Edge / 条件边:决定下一步走哪(可循环,支持 ReAct/自纠错) - 内置 checkpoint 持久化、human-in-the-loop ```bash pip install langgraph openai ``` 与 Agently 的取舍:Agently 轻量上手快(chunk+connect);LangGraph 状态与分支表达力强、生态大,适合复杂多 Agent(多 Agent 平台化实战见 Ignis 页)。
参考
     LangGraph 
     Agently