微信扫码
添加专属顾问
我要投稿
深入解析AI Agent轨迹记录的核心价值与实现细节,助你打造更健壮的智能系统。 核心内容: 1. Trajectory在Agent调试、审计和优化中的关键作用 2. 基于LangGraph的Agent实现方案剖析 3. 开源项目Trae agent的源码解析与改进实践
class TrajectoryHook:"""Hook for automatically recording LangGraph execution."""def __init__(self, recorder: TrajectoryRecorder):self.recorder = recorderself._session_id: Optional[str] = Nonedef wrap_node(self, node_name: str, node_func: Callable) -> Callable:"""Wrap a node function to record its execution."""@wraps(node_func)async def wrapped_node(state: Dict[str, Any]) -> Any:if not self._session_id:return await node_func(state)# Record node startawait self.recorder.record_event(self._session_id,node_name=node_name,event_type="node_start",data={"state_keys": list(state.keys()) if isinstance(state, dict) else None})try:# Execute nodeif asyncio.iscoroutinefunction(node_func):result = await node_func(state)else:result = node_func(state)# Record node endawait self.recorder.record_event(self._session_id,node_name=node_name,event_type="node_end",data={"has_result": result is not None})# Record messages if presentif isinstance(result, dict) and "messages" in result:messages = result["messages"]if isinstance(messages, list):for msg in messages:if hasattr(msg, "content"): # 确保是消息对象await self.recorder.record_message(self._session_id, msg)# Record node outputawait self.recorder.record_node_output(self._session_id,node_name,result)return resultexcept Exception as e:# Record errorawait self.recorder.record_error(self._session_id,error_type=type(e).__name__,error_message=str(e),node_name=node_name)raisereturn wrapped_nodeasync def __aenter__(self):"""Start recording session."""self._session_id = await self.recorder.start_session()return selfasync def __aexit__(self, exc_type, exc_val, exc_tb):"""End recording session."""if self._session_id:success = exc_type is Noneawait self.recorder.end_session(self._session_id, success=success)self._session_id = None
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-12-17
一位网友逆向破解了 ChatGPT 记忆系统,给我干破防了
2025-12-16
深度研究:我们如何构建水平最先进Agent
2025-12-16
原来ChatGPT的记忆是这么做的
2025-12-16
陈天桥丨系统的融化:从AI赋能到AI原生
2025-12-16
Google Disco:新型浏览器+Gemini3,信息不只是文字总结
2025-12-16
Claude MCP 和 Skills 的微妙关系
2025-12-16
会议软件Zoom也来搞AI了,称在AI最难考试上“击败”了Gemini 3
2025-12-16
深夜炸场!Manus 1.6 突然发布,史诗级进化暴力实测
2025-09-19
2025-10-26
2025-10-02
2025-09-29
2025-10-07
2025-09-30
2025-11-19
2025-10-20
2025-11-13
2025-10-02
2025-12-16
2025-12-15
2025-12-14
2025-12-12
2025-12-12
2025-12-11
2025-12-09
2025-12-08