首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Agentic AI:从被动响应到自主目标达成的工程化路径

Agentic AI:从被动响应到自主目标达成的工程化路径

原创
作者头像
IT大佬 jzit-top
发布于 2026-09-25 18:00:41
发布于 2026-09-25 18:00:41
130
举报

Agentic AI 与普通 LLM 应用的分水岭在于自主性:它不只回答一次问题,而是围绕一个目标持续观察、规划、行动、反思,直到达成或判定失败。专业落地要回答三个问题:自主到什么程度、由谁掌舵、出错如何兜底。

一、自主性分级

  • L0 单轮响应:一次问答,无状态。
  • L1 工具调用:能查数据库、调 API。
  • L2 目标循环:自主决定下一步,循环推进。
  • L3 长时记忆:跨会话积累经验。
  • L4 多智能体:角色分工与协商。

级别越高,收益越大,风险也越大。生产系统常见做法是能力给到 L2–L3,审批权留在人手里。

二、控制回路:Observe → Plan → Act → Reflect

Agentic AI 的核心是一个带终止条件的循环。关键工程点是:状态外置(可持久化、可恢复)、步骤上限(防死循环)、反思触发(失败后修正而非重试)。

代码语言:javascript
复制
import os, json
from dataclasses import dataclass, field, asdict
from openai import OpenAI

client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))

@dataclass
class State:
    goal: str
    plan: list = field(default_factory=list)
    history: list = field(default_factory=list)
    step: int = 0

    def save(self, path="state.json"):
        with open(path, "w", encoding="utf-8") as f:
            json.dump(asdict(self), f, ensure_ascii=False, indent=2)

    @classmethod
    def load(cls, path="state.json"):
        with open(path, encoding="utf-8") as f:
            return cls(**json.load(f))

状态可序列化,意味着 Agent 可中断、可恢复、可审计——这是从 Demo 走向生产的第一步。

三、工具与执行沙箱

工具是 Agent 的手脚,必须显式注册、参数校验、超时隔离。

代码语言:javascript
复制
import subprocess, shlex

TOOLS = {}

def tool(name, desc):
    def deco(fn):
        TOOLS[name] = {"fn": fn, "desc": desc}
        return fn
    return deco

@tool("calc", "计算数学表达式,输入 expression")
def calc(expression: str) -> str:
    allowed = set("0123456789+-*/(). ")
    if not set(expression) <= allowed:
        return "错误:仅允许数字与四则运算"
    return str(eval(expression, {"__builtins__": {}}, {}))

@tool("run_test", "运行指定测试文件,输入 path")
def run_test(path: str) -> str:
    if not path.startswith("tests/"):
        return "拒绝:只允许运行 tests/ 下文件"
    p = subprocess.run(["pytest", "-q", path],
                       capture_output=True, text=True, timeout=60)
    return p.stdout[-1500:] or p.stderr[-1500:]

白名单、路径前缀校验、超时,三者缺一不可。让 LLM 直接生成 shell 命令执行是事故高发区。

四、规划—执行—反思主循环

代码语言:javascript
复制
SYS = """你是任务型 Agent。每轮输出 JSON:
{"thought":"...","action":"工具名或final","input":"...","done":bool}
规则:优先复用历史结果;连续两次相同动作必须反思换策略;不确定就调用工具验证。"""

def agent(state: State, max_steps=8):
    while state.step < max_steps:
        ctx = {
            "goal": state.goal,
            "plan": state.plan,
            "history": state.history[-10:],
        }
        r = client.chat.completions.create(
            model="gpt-4o", temperature=0,
            response_format={"type": "json_object"},
            messages=[{"role": "system", "content": SYS},
                      {"role": "user", "content": json.dumps(ctx, ensure_ascii=False)}],
        )
        d = json.loads(r.choices[0].message.content)
        state.step += 1

        if d["action"] == "final" or d["done"]:
            state.save()
            return d["input"]

        fn = TOOLS.get(d["action"], {}).get("fn")
        try:
            obs = fn(d["input"]) if fn else f"未知工具 {d['action']}"
        except Exception as e:
            obs = f"工具异常:{e}"

        state.history.append({"thought": d["thought"],
                              "action": d["action"],
                              "input": d["input"],
                              "obs": obs})
        state.save()

    return "达到步数上限,未完成"

# 使用
s = State(goal="计算 (23*17+5)/4 并验证结果是否为整数")
print(agent(s))

反思机制体现在规则里:重复动作强制换策略,把“撞墙重试”变成“失败后调整”。

五、多智能体编排

复杂任务可拆分为角色协作,用消息总线解耦:

代码语言:javascript
复制
class Bus:
    def __init__(self):
        self.queues = {}
    def register(self, name):
        self.queues[name] = []
    def send(self, to, msg):
        self.queues[to].append(msg)
    def recv(self, name):
        return self.queues[name].pop(0) if self.queues[name] else None

bus = Bus()
for role in ["planner", "coder", "reviewer"]:
    bus.register(role)

bus.send("coder", {"task": "实现 calculate_discount"})
bus.send("reviewer", {"task": "审查 coder 的产出"})

多智能体的价值不在“人多”,而在职责隔离:写代码的与审代码的不是同一个上下文,能有效降低同源盲区。

六、工程护栏

  1. 成本上限:限制 token、步数、工具调用次数,超限即停。
  2. 权限最小:写操作、外网访问、生产凭证默认禁止。
  3. 可观测:每步记录 thought/action/obs,支持回放。
  4. 人工审批:高风险动作走确认,不自动执行。
  5. 评估闭环:用固定任务集回归测试,防止提示词改动导致能力退化。
  6. 降级策略:模型不可用时回退到规则流程,保证可用性。

结语

Agentic AI 的专业含义,是在受控边界内让系统自主推进目标。自主性带来效率,控制回路带来可靠性,护栏带来安全性。三者缺一,系统就只能停留在演示阶段。真正的工程能力,体现在把“自由发挥”约束成“可交付的自主”。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、自主性分级
  • 二、控制回路:Observe → Plan → Act → Reflect
  • 三、工具与执行沙箱
  • 四、规划—执行—反思主循环
  • 五、多智能体编排
  • 六、工程护栏
  • 结语
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档