微信扫码
添加专属顾问
我要投稿
深入解析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+中大型企业
2026-02-28
谷歌WebMCP 现已推出抢先预览版
2026-02-28
龙虾养成日记PPT看不过瘾?内部版逐字稿来了
2026-02-28
属于Agent的文件协议来了!Selfware让Agent之间无缝传递上下文
2026-02-28
对话 PallasAI:行业对 GEO 的理解都是错误的,我们想重新定义 GEO
2026-02-28
Claude Code远程控制体验:比OpenClaw更方便,但还在限量开启
2026-02-28
斩获30.5k Star!Claude Code长期记忆插件Claude-Mem开源,实现跨会话上下文无缝保留
2026-02-28
智能体技能构建手册:让AI真正"动手"的模块化艺术
2026-02-27
硬刚OpenClaw!Perplexity全新智能体系统可并行调度19个大模型,网友:可替代3万美金年费彭博终端
2026-01-24
2026-01-10
2026-01-01
2026-01-26
2026-02-03
2025-12-09
2025-12-21
2026-01-09
2026-02-16
2026-02-17
2026-02-27
2026-02-27
2026-02-26
2026-02-26
2026-02-24
2026-02-24
2026-02-20
2026-02-14