logo

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

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

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

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

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

任务代理系统架构的插图,展示不同组件之间的交互

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

如今大多数AI系统仍然是上下文填充的QA机器人:

• 它们能够很好地回答问题

• 在压力下会产生幻觉

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

💡 关键见解:不要扩展上下文。要结构化它。

2. 三层架构

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

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

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

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

⚓ 3. 确定性钩子 — 保护措施

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

3. 推荐项目结构

my-task-agent/
├── .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"创建了优先级为={priority} 的票据 {ticket_id}"

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/

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

Take the next step

Putting what you read into practice.

相关文章

DS & AI Engineering