"""Test script to run the research agent with detailed debugging.""" from agent import agent query = "设计一个50个基因的面板,用于人类前列腺癌模型,捕获肿瘤状态、免疫过程和组织上下文。" print("=== Starting agent invocation ===") print(f"Query: {query}") print() result = agent.invoke( { "messages": [ { "role": "user", "content": query, } ], }, ) print("=== Result ===") print("Result keys:", list(result.keys())) if "files" in result: print("Files:", list(result["files"].keys())) else: print("No 'files' in result") print() print("=== Messages ===") if "messages" in result: for i, msg in enumerate(result["messages"]): role = msg.role if hasattr(msg, 'role') else "unknown" content = msg.content if hasattr(msg, 'content') else "" tool_calls = getattr(msg, 'tool_calls', []) tool_call_id = getattr(msg, 'tool_call_id', None) print(f"\n--- Message {i}: role={role} ---") if tool_calls: print(f"Tool calls ({len(tool_calls)}):") for tc in tool_calls: tc_name = getattr(tc, 'name', 'unknown') tc_args = getattr(tc, 'args', {}) print(f" - {tc_name}: {tc_args}") if tool_call_id: print(f"Tool call ID: {tool_call_id}") if isinstance(content, str): if len(content) > 1500: print(f"Content (first 1500 chars): {content[:1500]}...") else: print(f"Content: {content}") else: print(f"Content type: {type(content)}") print(f"Content repr: {repr(content)[:500]}")