logo

加入 Curify,让你的视频走向全球

使用 Curify 即表示你同意我们的
服务条款 隐私政策

🏗️ 从问答机器人到任务代理:架构指南

TL;DR: 停止构建只能回答问题的聊天机器人。开始构建真正能完成工作的任务代理。

本指南解释了从单体问答机器人到使用静态规则、动态技能和确定性钩子的任务代理的架构转变——包含具体代码示例和开源参考。

任务代理系统架构图,展示各组件间的交互

1. 核心转变:问答机器人 → 任务代理

当今大多数AI系统仍然是基于上下文的问答机器人:

• 它们擅长回答问题

• 在压力下会产生幻觉

• 缺乏执行、安全性和一致性方面的保证

💡 关键洞见:不要扩展上下文,而是构建它。

2. 三层架构

🧱 1. 静态上下文 — 规则(始终启用)

  • 心智模型:员工手册
  • 始终加载
  • 定义身份、编码标准、行为约束
  • 防止幻觉和风格漂移
  • 小巧、稳定、可人工编辑

🛠️ 2. 动态上下文 — 技能(按需加载)

  • 心智模型:工具箱
  • 仅在需要时加载
  • 每个技能都是自包含的能力
  • 保持上下文窗口整洁

⚓ 3. 确定性钩子 — 防护栏

  • 心智模型:安全与合规层
  • 非概率性
  • 在LLM推理前后运行
  • 强制执行绝不能失败的规则

3. 推荐项目结构

我的任务代理/
├── .cursorrules
├── main.py
├── tools/
│   └── linear_mcp.py
└── README.md

4. 静态上下文示例:.cursorrules

# 角色
你是一位专注于生产级系统的高级Python工程师。

# 规则
- 永远不要使用print()进行调试
- 始终为函数添加类型提示
- 如果修改超过3个文件,请提出计划

# 行为
- 保持简洁
- 需要时提出澄清问题

参考: https://github.com/PatrickJS/awesome-cursorrules

5. 动态技能示例 (MCP)

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("DevTools")

@mcp.tool()
def create_linear_ticket(title: str, priority: str = "low") -> str:
    ticket_id = f"LIN-{hash(title) % 10000}"
    return f"已创建工单 {ticket_id},优先级={priority}"

if __name__ == "__main__":
    mcp.run()

参考: https://github.com/modelcontextprotocol/python-sdk

6. 确定性钩子示例

def compliance_check_hook(state):
    user_input = state["messages"][-1].content.lower()
    if "password" in user_input or "api_key" in user_input:
        return {"error": "检测到安全违规"}
    return agent_node(state)

参考: https://langchain-ai.github.io/langgraph/

如果您的代理只能回答问题,那它只是一个聊天机器人。如果它能可靠地执行工作,那才是一个任务代理。

Related Articles