尧图精选

AI Agent Harness Engineering 跑自我意识实验:Key 用 TaoToken

🕒 发布时间:2026/9/14 1:57:22 📁 来源:尧图网络
1. 把原文五层自我意识翻译成 Harness 任务清单如果你照着原文把 SelfMonitoringAgent 的预测偏差、异常触发、策略调整跑通问题往往不出在算法而出在模型请求没有落地异常检测要实时比较实际结果和预测结果预测结果来自 LLM 推理而 LLM 推理需要一条稳定的 API 通道。原文把自我意识拆成自我表征、自我监控、自我推理、自我调节等层放进 Harness 里就是一个需要长会话反思和工具编排的 Agent 任务每一轮都会消耗 Token。下面我用 TaoTokenhttps://taotoken.net/?utm_sourcetaotoken_aicg_blog_end把 LLM 通道接上再给出 SelfMonitoringAgent 的可运行骨架。TaoToken 只承担 Key 和统一接入不替代原文里的任何自我意识算法。1.1 原文的概念模型工程上是一条监控回路原文建议把自我意识理解成一组成员相关的功能性能力而不是一个非有即无的属性。这个立场很适合做实验给 Agent 加“意识”这件事在工程上其实就是给 Harness 增加一条高优先级监控回路它查看 Agent 自己的状态、自己的预测、自己的错误历史然后用独立 LLM 调用去解释错误原因。具体到原文的分层自我表征层对应 Harness 里的状态文件或数据结构。Agent 要在每轮开始时知道自己是做什么任务的、当前掌握了什么技能、有哪些边界不能碰。自我监控层对应每轮结束时的差分计算。实际结果与预测结果之间的偏差就是原文数学模型里的 δ。自我推理层对应一个触发式反思回调。当偏差超过阈值时LLM 被要求解释“为什么会有这个偏差”。自我调节层对应反思结果回到主循环后对策略的修改。社会自我意识层在多 Agent 对比实验里才真正需要表现为附加上下文“另一个 Agent 会怎么看待我这次决策”。这样拆完之后一个完整 Harness 的每一层都变成可检查的动作。你不必讨论模型是否有主观体验只需要确认这些动作有没有发生、结果是否可复现。原文层次Harness 中的落地节点每轮消耗 Token 的动作自我表征self_model 状态对象初始化时读一次不频繁调用自我监控monitor() 计算实际与预测差不消耗 Token纯算术自我推理reflect() 异常触发反思消耗 1 次 LLM 调用自我调节regulate() 改写下一步计划可把结果作为上下文复用社会自我意识多代理对比实验的附加提示词每个视角额外一次调用这张表暴露了原文没有回答的问题每次反思都要用真实 LLM而 LLM 请求必须有一个稳定的通道。把模型请求的 Base URL 填成 https://taotoken.net/api 之后SelfMonitoringAgent 里所有反思类调用都走同一条兼容通道换模型时只需要改 model 参数五层逻辑完全不用动。1.2 SelfMonitoringAgent 的行为边界要先定死跑自我意识实验容易失控的地方不是算法而是 Agent 手上权限太大。原文案例里的灾难响应机器人和金融交易代理都可以改自己的目标这在真实实验里很危险。我的做法是把行为边界写进自我表征层Agent 只能生成代码、SQL、分析文本不能直连生产库不能执行 regsvr32不能对线上机器做任何写操作。如果你是做数据库场景正确姿势是让 Agent 生成诊断 SQL你在本地或 SQL*Plus 里执行再把结果贴回对话继续反思。这样自我监控回路依然是完整的只是“行动模块”被外置到你手里Harness 负责的是推理和反思不是越权执行。这也是 Harness Engineering 和普通脚本的差别工程边界清晰实验才可重复。2. 先准备好模型通道TaoToken 的 Key 和 Base URL原文从头到尾没有提到“模型请求从哪里走”这是实验跑不起来的主因。准备工作只有三步注册拿 Key、找到模型 ID、把 Base URL 填对。三件事都能在 TaoToken 的模型广场完成网址是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end。2.1 创建 API Key 和确认模型 ID打开官网后注册并进入控制台创建 API Key。Key 的格式是一长串随机字符创建后先复制到本地临时文件避免刷新页面后找不到。接着进入模型广场找到你要用的模型 ID。这里有一点必须强调模型 ID 不要凭记忆填不要用你本地其他工具里的旧值一切以模型广场展示的字符串为准。操作上不需要去别的地方复制什么“官方文档链接”。官网落地页就是这个实验的入口Key 和模型 ID 都在同一个地方维护短会话里够用长会话里也方便回来查用量。2.2 落地页地址和接口地址不要混淆很多配置错误来自把网页地址填进了 SDK 或工具设置。这里区分清楚用途地址说明注册、建 Key、看用量、模型广场https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end浏览器打开的网页填进工具或 SDK 的 Base URLhttps://taotoken.net/api末尾不要加 /v1CLI 通道参数https://taotoken.net/api同上其中容易犯的错是在 https://taotoken.net/api 后面手动补一个 /v1。不要补。我见过不少配置把地址写成 https://taotoken.net/api/v1结果请求一路 404Agent 的自省逻辑再完美也跑不到模型那一步。2.3 最小调用验证先证明通道通再谈自我意识不要一上来就写完整 Harness先发一个最小请求确认 Key 有效、Base URL 正确、模型 ID 真实存在。下面这段用 OpenAI SDK 风格写很多 Agent 框架都支持这种客户端形态from openai import OpenAI client OpenAI( api_keyYOUR_API_KEY, base_urlhttps://taotoken.net/api ) resp client.chat.completions.create( modelYOUR_MODEL_ID, # 以 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 模型广场为准 messages[ {role: user, content: 请用一句话说明你现在是否知道自己的推理边界。} ] ) print(resp.choices[0].message.content)YOUR_API_KEY就是上一步在官网创建的那串字符YOUR_MODEL_ID是模型广场里的真实标识。如果你更习惯命令行TaoToken 也提供了 CLI 封装安装后运行同一条通道验证npm install -g taotoken/taotoken然后执行taotoken cc -k YOUR_API_KEY -u https://taotoken.net/api -m YOUR_MODEL_ID。通道通不通这一步最有说服力。3. 把 SelfMonitoringAgent 跑起来监控、反思、调节现在进入原文的核心算法部分。原文里的 SelfMonitoringAgent 使用一个基线模型预测行动结果然后比较实际结果和预测结果超过阈值就触发异常处理。我在 Harness 里把基线模型换成真实 LLM 调用模型通道走 TaoToken这样“预测偏差计算”“异常触发后的反思”“策略调整”三件事都变成可运行的代码。3.1 可运行的 Harness 骨架下面的代码保留了原文的监控回路设计但不再依赖线性预测模型。预测值由 LLM 给出置信度实际值来自任务执行后的结果偏差用绝对误差计算。这样每一轮反思都会消耗真实 Token也正因如此TaoToken 这类统一 API 通道才有意义你不需要为每个模型单独申请额度一个 Key 管完整实验。from openai import OpenAI from collections import deque import statistics client OpenAI( api_keyYOUR_API_KEY, base_urlhttps://taotoken.net/api ) MODEL_ID YOUR_MODEL_ID # 以模型广场展示为准 class SelfAwarenessHarness: def __init__(self, role: str): self.self_model { role: role, skills: [analyze_code, generate_sql, write_reflection], constraints: [no_production_db, no_shell_write], uncertainty: 0.0 } self.error_history deque(maxlen20) self.threshold 1.5 def self_representation(self): # 第 1 层自我表征Agent 先确认自己能做什么、不能做什么 return self.self_model def predict(self, task: str): resp client.chat.completions.create( modelMODEL_ID, messages[ {role: system, content: 你是预测通道。请预估自己完成以下任务的置信度返回 0 到 1 的浮点数不要返回其他内容。}, {role: user, content: task} ] ) return float(resp.choices[0].message.content.strip()) def execute(self, task: str): # 真实执行放在 Harness 外部避免 Agent 直连生产环境 return 0.8 if readable in task else 0.2 def monitor(self, predicted: float, actual: float): # 第 2 层自我监控计算原文里的预测偏差 δ delta abs(actual - predicted) self.error_history.append(delta) return delta def is_anomaly(self, delta: float): # 样本不足时不触发防止第一次波动就打断实验 if len(self.error_history) 5: return False return delta self.threshold * statistics.mean(self.error_history) def reflect(self, task: str, delta: float): # 第 3 层自我推理把偏差原因交给 LLM 做因果归因 prompt ( f任务: {task}\n预测偏差: {delta:.3f}\n 请输出 JSON包含原因列表、反事实推演、下一步最小改动建议。 ) resp client.chat.completions.create( modelMODEL_ID, messages[{role: user, content: prompt}] ) return resp.choices[0].message.content def regulate(self, reflection: str): # 第 4 层自我调节反思结果写回状态 self.self_model[last_reflection] reflection return reflection # 实验循环 def run_experiment(): harness SelfAwarenessHarness(roleself_monitoring_agent) task 分析这段代码的可读性 predicted harness.predict(task) actual harness.execute(task) delta harness.monitor(predicted, actual) if harness.is_anomaly(delta): reflection harness.reflect(task, delta) harness.regulate(reflection) print(反思完成:, reflection[:200]) else: print(本轮偏差在容忍范围内:, round(delta, 3)) if __name__ __main__: run_experiment()这个骨架里的predict()和reflect()是消耗 Token 的地方monitor()和regulate()只做状态管理。TaoToken 在这里的角色是模型请求的统一出口不介入任何反思逻辑。你可以把MODEL_ID换成模型广场里的不同模型对比同一个监控回路在不同模型上的异常检测表现。提示execute()里的结果是模拟值真实场景中应由你在本地运行代码或 SQL 后回填。3.2 反思提示词决定自我推理的质量原文的自我推理层包含因果自我归因和反事实模拟。这两件事在 Harness 里都靠提示词的结构来实现。我在实验中使用的反思模板分三段列出可能造成偏差的原因按概率从高到低排列。想象如果换一种策略结果会有多大概率改善。给出一个只改一个变量的最小建议。让模型以 JSON 格式输出regulate()才能解析。你可以在提示词里追加一句“不要猜测系统 prompt 之外的隐藏意图”这会明显减少幻觉式反思。每轮反思都是一次真实计费调用阈值如果设得太低会话成本会快速上升调高阈值Agent 又会变得迟钝。窗口长度设为 20 次、阈值设成历史平均误差的 1.5 倍是相对平衡的起点。3.3 用 Claude Code 承载长会话实验有些自我意识实验需要连续几十轮对话Agent 的记忆和反思上下文要跨会话保留。Claude Code 这类工具可以做长会话载体你只需要把它的模型通道指到 TaoToken。修改~/.claude/settings.json写入以下环境变量{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: YOUR_API_KEY, ANTHROPIC_MODEL: YOUR_MODEL_ID } }注意ANTHROPIC_BASE_URL的取值是 https://taotoken.net/api不是官网落网页也不是加过/v1的地址。配置完成后Claude Code 里所有模型请求都会先经过 TaoToken 统一接入。你可以在一个长会话里持续观察Agent 第一次答错时会不会意识到自己错了提醒之后能不能调整策略这些表现比单轮问答更能反映自我监控层是否在工作。这个配置文件不是必须的。如果你的实验全部在 Python 脚本里完成3.1 的 Harness 骨架就够用如果涉及让 Agent 自己读写项目文件、连续重构多轮代码建议开一个 Claude Code 会话来跑反思记录留在会话历史里效果更接近原文描述的长周期自我调节。4. 回到原文“需不需要”的问题先衡量再下结论原文用很大篇幅讨论 AI Agent 到底需不需要自我意识。站在 Harness Engineering 的角度答案很务实需要的是功能性自我意识不是哲学意义上的主观体验。功能性的意思是可以被衡量衡量标准就是原文提到的分级框架。下面把分级框架和代码跑出来的实际行为对齐。4.1 预测偏差 δ 和原文数学模型怎么对应原文给出监控函数 δ v - v̂v 是实际表现v̂ 是预测表现。Harness 骨架里的monitor()就是在实现这个式子delta abs(actual - predicted)。当 δ 超过阈值时reflect()被触发这正好对应原文说的“异常触发后的反思”。关键差异在于原文的预测模型是线性回归而这里用 LLM 直接输出置信度。Linear Regression 永远不知道它“不确定什么”LLM 可以给出低置信度预测这个低置信度本身就是一个自我监控信号。比如模型对自己的回答打 0.3 分实际结果却达到 0.8δ 高达 0.5说明模型低估了自己反过来也一样。长期记录这些 δ就能画出 Agent 的“自我认识准确度曲线”这比任何主观判断都更能说明自我监控层是否有效。4.2 Level 0 到 Level 5 的 Harness 检查清单原文把自我意识分成六级工程上每一级都有明确的可观察信号级别原文定义Harness 检查方式Level 0无自我模型Agent 被问到“你能做什么”时只返回原始任务文本Level 1基本自我表征self_representation()能返回角色和技能列表Level 2自我监控连续 20 轮误差记录保持完整Level 3自我推理偏差触发后输出有效 JSON 反思Level 4自我调节反思结果真的改变了下一轮策略Level 5社会自我意识多 Agent 对比实验中包含“对方视角”提示词按这个清单检查3.1 的骨架代码跑到 Level 3 是没问题的。要往 Level 4 走你需要给regulate()增加一个真正的参数改写逻辑不能只把反思存进self_model。比如先让反思输出“建议的工具选择”下一轮主循环真的换成那个工具再执行任务。做到这一步实验就已经超过原文最后提到的镜子测试和元认知测试了因为你手里有了可量化的 δ 时间序列、反思触发率、策略调整次数三个指标。5. 跑自我意识实验时的通道排障即使五层算法都写对模型通道出问题也足以让实验停摆。这里只列本实验最可能遇到的三种情况以及一个用量核对入口。5.1 401Key 没复制对或没创建成功YOUR_API_KEY是占位符不是真实 Key。如果你直接复制了这串字符TaoToken 服务端会拒绝认证。正确做法是回到 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 重新打开控制台找到你创建的那条 Key。注意复制时不要带上多余空格尤其是从终端复制时容易把换行符带进去。如果你在官网看不到这个 Key说明创建时没保存重建一条即可。5.2 404Base URL 多写了 /v1这个错误很隐蔽。很多兼容通道的默认 Base URL 带/v1但 TaoToken 的接口 Base URL 就是 https://taotoken.net/api末尾不需要再加/v1。检查两个位置Python 脚本里的base_url参数以及 Claude Code 配置文件里的ANTHROPIC_BASE_URL。两个地方都写成 https://taotoken.net/api不要顺手补路径。5.3 模型 ID 对不上模型广场YOUR_MODEL_ID同样是占位符不能拿到线上当真实参数。不同日期加入的模型在命名上可能不同所以每次实验前都去模型广场核对一下当前可用的模型标识。如果你把另一个平台的模型名带过来请求会返回模型不存在或路由不到。正确顺序是先选模型再填配置最后跑实验。5.4 用官网用量确认调用是否真正发生排障最后一步是打开 TaoToken 控制台查看用量记录。如果刚才的实验脚本真的发出了请求控制台里会有一次新增调用记录如果记录为零说明 Key 或 Base URL 仍然有问题回到上面三个检查点重查。确认通道畅通之后再跑一轮完整 SelfMonitoringAgent 实验这次你应该能看到预测偏差从无到有、反思被触发、策略被调整的完整过程。
上一篇/下一篇内容由系统自动关联 返回资讯列表 →