agent-insight 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (474) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +2 -2
  3. package/.next/standalone/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/server/app/(main)/dashboard/page_client-reference-manifest.js +1 -1
  5. package/.next/standalone/.next/server/app/(main)/eval/trajectory/[taskId]/trace/page_client-reference-manifest.js +1 -1
  6. package/.next/standalone/.next/server/app/(main)/infra/source/[id]/page_client-reference-manifest.js +1 -1
  7. package/.next/standalone/.next/server/app/(main)/quality/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/(main)/skill-history/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(main)/skills/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(main)/trace/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  12. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  15. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  16. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  17. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  18. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  19. package/.next/standalone/.next/server/app/_not-found.rsc +1 -1
  20. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  21. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  22. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  23. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  24. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  25. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  26. package/.next/standalone/.next/server/app/accessconfig/channels.html +1 -1
  27. package/.next/standalone/.next/server/app/accessconfig/channels.rsc +1 -1
  28. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig/channels/__PAGE__.segment.rsc +1 -1
  29. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig/channels.segment.rsc +1 -1
  30. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  31. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p.segment.rsc +1 -1
  32. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_full.segment.rsc +1 -1
  33. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_head.segment.rsc +1 -1
  34. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_index.segment.rsc +1 -1
  35. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_tree.segment.rsc +1 -1
  36. package/.next/standalone/.next/server/app/accessconfig/health.html +1 -1
  37. package/.next/standalone/.next/server/app/accessconfig/health.rsc +1 -1
  38. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig/health/__PAGE__.segment.rsc +1 -1
  39. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig/health.segment.rsc +1 -1
  40. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  41. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p.segment.rsc +1 -1
  42. package/.next/standalone/.next/server/app/accessconfig/health.segments/_full.segment.rsc +1 -1
  43. package/.next/standalone/.next/server/app/accessconfig/health.segments/_head.segment.rsc +1 -1
  44. package/.next/standalone/.next/server/app/accessconfig/health.segments/_index.segment.rsc +1 -1
  45. package/.next/standalone/.next/server/app/accessconfig/health.segments/_tree.segment.rsc +1 -1
  46. package/.next/standalone/.next/server/app/accessconfig/install.html +2 -2
  47. package/.next/standalone/.next/server/app/accessconfig/install.rsc +1 -1
  48. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig/install/__PAGE__.segment.rsc +1 -1
  49. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig/install.segment.rsc +1 -1
  50. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  51. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p.segment.rsc +1 -1
  52. package/.next/standalone/.next/server/app/accessconfig/install.segments/_full.segment.rsc +1 -1
  53. package/.next/standalone/.next/server/app/accessconfig/install.segments/_head.segment.rsc +1 -1
  54. package/.next/standalone/.next/server/app/accessconfig/install.segments/_index.segment.rsc +1 -1
  55. package/.next/standalone/.next/server/app/accessconfig/install.segments/_tree.segment.rsc +1 -1
  56. package/.next/standalone/.next/server/app/accessconfig/webhooks.html +1 -1
  57. package/.next/standalone/.next/server/app/accessconfig/webhooks.rsc +1 -1
  58. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig/webhooks/__PAGE__.segment.rsc +1 -1
  59. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig/webhooks.segment.rsc +1 -1
  60. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  61. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p.segment.rsc +1 -1
  62. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_full.segment.rsc +1 -1
  63. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_head.segment.rsc +1 -1
  64. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_index.segment.rsc +1 -1
  65. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_tree.segment.rsc +1 -1
  66. package/.next/standalone/.next/server/app/accessconfig.html +1 -1
  67. package/.next/standalone/.next/server/app/accessconfig.rsc +1 -1
  68. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p/accessconfig/__PAGE__.segment.rsc +1 -1
  69. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  70. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p.segment.rsc +1 -1
  71. package/.next/standalone/.next/server/app/accessconfig.segments/_full.segment.rsc +1 -1
  72. package/.next/standalone/.next/server/app/accessconfig.segments/_head.segment.rsc +1 -1
  73. package/.next/standalone/.next/server/app/accessconfig.segments/_index.segment.rsc +1 -1
  74. package/.next/standalone/.next/server/app/accessconfig.segments/_tree.segment.rsc +1 -1
  75. package/.next/standalone/.next/server/app/agents.html +1 -1
  76. package/.next/standalone/.next/server/app/agents.rsc +1 -1
  77. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p/agents/__PAGE__.segment.rsc +1 -1
  78. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p/agents.segment.rsc +1 -1
  79. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p.segment.rsc +1 -1
  80. package/.next/standalone/.next/server/app/agents.segments/_full.segment.rsc +1 -1
  81. package/.next/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  82. package/.next/standalone/.next/server/app/agents.segments/_index.segment.rsc +1 -1
  83. package/.next/standalone/.next/server/app/agents.segments/_tree.segment.rsc +1 -1
  84. package/.next/standalone/.next/server/app/api/agent/run/route.js.nft.json +1 -1
  85. package/.next/standalone/.next/server/app/api/agent/stream/route.js.nft.json +1 -1
  86. package/.next/standalone/.next/server/app/api/agent-datasets/[id]/route.js.nft.json +1 -1
  87. package/.next/standalone/.next/server/app/api/agent-datasets/route.js.nft.json +1 -1
  88. package/.next/standalone/.next/server/app/api/agents/[id]/route.js.nft.json +1 -1
  89. package/.next/standalone/.next/server/app/api/agents/route.js.nft.json +1 -1
  90. package/.next/standalone/.next/server/app/api/auth/apikey/route.js.nft.json +1 -1
  91. package/.next/standalone/.next/server/app/api/auth/organization/route.js.nft.json +1 -1
  92. package/.next/standalone/.next/server/app/api/dashboard/stats/route.js.nft.json +1 -1
  93. package/.next/standalone/.next/server/app/api/debug/batch-tasks/[taskId]/route.js.nft.json +1 -1
  94. package/.next/standalone/.next/server/app/api/debug/batch-tasks/route.js.nft.json +1 -1
  95. package/.next/standalone/.next/server/app/api/debug/execute/[jobId]/route.js.nft.json +1 -1
  96. package/.next/standalone/.next/server/app/api/debug/execute/route.js.nft.json +1 -1
  97. package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/[taskId]/route.js.nft.json +1 -1
  98. package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/route.js.nft.json +1 -1
  99. package/.next/standalone/.next/server/app/api/debug/history/[id]/route.js.nft.json +1 -1
  100. package/.next/standalone/.next/server/app/api/debug/history/route.js.nft.json +1 -1
  101. package/.next/standalone/.next/server/app/api/eval/config/backfill-routing/route.js.nft.json +1 -1
  102. package/.next/standalone/.next/server/app/api/eval/config/create/route.js.nft.json +1 -1
  103. package/.next/standalone/.next/server/app/api/eval/config/reparse/route.js.nft.json +1 -1
  104. package/.next/standalone/.next/server/app/api/eval/config/route.js.nft.json +1 -1
  105. package/.next/standalone/.next/server/app/api/eval/config/status/route.js.nft.json +1 -1
  106. package/.next/standalone/.next/server/app/api/eval/evaluation/route.js.nft.json +1 -1
  107. package/.next/standalone/.next/server/app/api/eval/rejudge/route.js.nft.json +1 -1
  108. package/.next/standalone/.next/server/app/api/eval/settings/route.js.nft.json +1 -1
  109. package/.next/standalone/.next/server/app/api/eval/settings/test/route.js.nft.json +1 -1
  110. package/.next/standalone/.next/server/app/api/eval/terminate-all/route.js.nft.json +1 -1
  111. package/.next/standalone/.next/server/app/api/eval/trajectory/results/[id]/route.js.nft.json +1 -1
  112. package/.next/standalone/.next/server/app/api/eval/trajectory/results/route.js.nft.json +1 -1
  113. package/.next/standalone/.next/server/app/api/eval/trajectory/run/route.js.nft.json +1 -1
  114. package/.next/standalone/.next/server/app/api/eval/trajectory/runs/route.js.nft.json +1 -1
  115. package/.next/standalone/.next/server/app/api/evaluation/[id]/route.js.nft.json +1 -1
  116. package/.next/standalone/.next/server/app/api/evaluation/cancel/route.js.nft.json +1 -1
  117. package/.next/standalone/.next/server/app/api/fault/diagnosis/session/route.js.nft.json +1 -1
  118. package/.next/standalone/.next/server/app/api/fault/diagnosis/stream/route.js.nft.json +1 -1
  119. package/.next/standalone/.next/server/app/api/fleet/breakdowns/route.js.nft.json +1 -1
  120. package/.next/standalone/.next/server/app/api/fleet/trends/route.js.nft.json +1 -1
  121. package/.next/standalone/.next/server/app/api/guide/route.js.nft.json +1 -1
  122. package/.next/standalone/.next/server/app/api/ingest/opencode/session-complete/route.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/api/ingest/otel/v1/logs/route.js.nft.json +1 -1
  124. package/.next/standalone/.next/server/app/api/ingest/otel/v1/metrics/route.js.nft.json +1 -1
  125. package/.next/standalone/.next/server/app/api/ingest/otel/v1/traces/route.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/[...path]/route.js.nft.json +1 -1
  127. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/end/route.js.nft.json +1 -1
  128. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/start/route.js.nft.json +1 -1
  129. package/.next/standalone/.next/server/app/api/ingest/sync/manifest/route.js.nft.json +1 -1
  130. package/.next/standalone/.next/server/app/api/ingest/sync/opencode/route.js.nft.json +1 -1
  131. package/.next/standalone/.next/server/app/api/ingest/upload/route.js.nft.json +1 -1
  132. package/.next/standalone/.next/server/app/api/observe/data/route.js.nft.json +1 -1
  133. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/route.js.nft.json +1 -1
  134. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/skills-analysis/route.js.nft.json +1 -1
  135. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/analyze-match/route.js.nft.json +1 -1
  136. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/infra/route.js.nft.json +1 -1
  137. package/.next/standalone/.next/server/app/api/observe/infra/history/route.js.nft.json +1 -1
  138. package/.next/standalone/.next/server/app/api/observe/infra/poll/route.js.nft.json +1 -1
  139. package/.next/standalone/.next/server/app/api/observe/infra/sources/derive/route.js.nft.json +1 -1
  140. package/.next/standalone/.next/server/app/api/observe/infra/sources/overview/route.js.nft.json +1 -1
  141. package/.next/standalone/.next/server/app/api/observe/infra/sources/route.js.nft.json +1 -1
  142. package/.next/standalone/.next/server/app/api/observe/infra/sources/sessions/route.js.nft.json +1 -1
  143. package/.next/standalone/.next/server/app/api/observe/infra/sources/test/route.js.nft.json +1 -1
  144. package/.next/standalone/.next/server/app/api/observe/session/route.js.nft.json +1 -1
  145. package/.next/standalone/.next/server/app/api/observe/task-stats/route.js.nft.json +1 -1
  146. package/.next/standalone/.next/server/app/api/public/otel/v1/traces/route.js.nft.json +1 -1
  147. package/.next/standalone/.next/server/app/api/quality/agents/route.js.nft.json +1 -1
  148. package/.next/standalone/.next/server/app/api/quality/backfill/route.js.nft.json +1 -1
  149. package/.next/standalone/.next/server/app/api/quality/executions/route.js.nft.json +1 -1
  150. package/.next/standalone/.next/server/app/api/quality/report/route.js.nft.json +1 -1
  151. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/draft/route.js.nft.json +1 -1
  152. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/route.js.nft.json +1 -1
  153. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/run/[runId]/cancel/route.js.nft.json +1 -1
  154. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/run/route.js.nft.json +1 -1
  155. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/runs/route.js.nft.json +1 -1
  156. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/upload/route.js.nft.json +1 -1
  157. package/.next/standalone/.next/server/app/api/skill-generator/attachments/route.js.nft.json +1 -1
  158. package/.next/standalone/.next/server/app/api/skill-generator/chat/route.js.nft.json +1 -1
  159. package/.next/standalone/.next/server/app/api/skill-generator/download/[sessionId]/route.js.nft.json +1 -1
  160. package/.next/standalone/.next/server/app/api/skill-generator/files/content/route.js.nft.json +1 -1
  161. package/.next/standalone/.next/server/app/api/skill-generator/files/download/route.js.nft.json +1 -1
  162. package/.next/standalone/.next/server/app/api/skill-generator/files/info/route.js.nft.json +1 -1
  163. package/.next/standalone/.next/server/app/api/skill-generator/files/list/route.js.nft.json +1 -1
  164. package/.next/standalone/.next/server/app/api/skill-generator/sessions/[id]/route.js.nft.json +1 -1
  165. package/.next/standalone/.next/server/app/api/skill-generator/sessions/route.js.nft.json +1 -1
  166. package/.next/standalone/.next/server/app/api/skill-opt/chat/route.js.nft.json +1 -1
  167. package/.next/standalone/.next/server/app/api/skill-opt/plan/items/[id]/route.js.nft.json +1 -1
  168. package/.next/standalone/.next/server/app/api/skill-opt/plan/route.js.nft.json +1 -1
  169. package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/iterations/[draftNumber]/apply/route.js.nft.json +1 -1
  170. package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/iterations/route.js.nft.json +1 -1
  171. package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/route.js.nft.json +1 -1
  172. package/.next/standalone/.next/server/app/api/skill-opt/sessions/route.js.nft.json +1 -1
  173. package/.next/standalone/.next/server/app/api/skills/[id]/activate/route.js.nft.json +1 -1
  174. package/.next/standalone/.next/server/app/api/skills/[id]/benchmark-generate/route.js.nft.json +1 -1
  175. package/.next/standalone/.next/server/app/api/skills/[id]/runs/route.js.nft.json +1 -1
  176. package/.next/standalone/.next/server/app/api/skills/[id]/toggle/route.js.nft.json +1 -1
  177. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/download/route.js.nft.json +1 -1
  178. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/evaluate/route.js.nft.json +1 -1
  179. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/evaluation-summary/route.js.nft.json +1 -1
  180. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/files/[...path]/route.js.nft.json +1 -1
  181. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/parse-flow/route.js.nft.json +1 -1
  182. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js.nft.json +1 -1
  183. package/.next/standalone/.next/server/app/api/skills/[id]/versions/route.js.nft.json +1 -1
  184. package/.next/standalone/.next/server/app/api/skills/automation/import/route.js.nft.json +1 -1
  185. package/.next/standalone/.next/server/app/api/skills/automation/push/route.js.nft.json +1 -1
  186. package/.next/standalone/.next/server/app/api/skills/by-name/[name]/analysis-diagnosis/route.js.nft.json +1 -1
  187. package/.next/standalone/.next/server/app/api/skills/by-name/[name]/optimization-points/resolve/route.js.nft.json +1 -1
  188. package/.next/standalone/.next/server/app/api/skills/by-name/[name]/optimization-points/route.js.nft.json +1 -1
  189. package/.next/standalone/.next/server/app/api/skills/by-name/route.js.nft.json +1 -1
  190. package/.next/standalone/.next/server/app/api/skills/logs/route.js.nft.json +1 -1
  191. package/.next/standalone/.next/server/app/api/skills/publish/route.js.nft.json +1 -1
  192. package/.next/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
  193. package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route.js.nft.json +1 -1
  194. package/.next/standalone/.next/server/app/api/skills/upload/route.js.nft.json +1 -1
  195. package/.next/standalone/.next/server/app/api/user-evaluators/route.js.nft.json +1 -1
  196. package/.next/standalone/.next/server/app/dashboard.html +1 -1
  197. package/.next/standalone/.next/server/app/dashboard.rsc +2 -2
  198. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p/dashboard/__PAGE__.segment.rsc +2 -2
  199. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p/dashboard.segment.rsc +1 -1
  200. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p.segment.rsc +1 -1
  201. package/.next/standalone/.next/server/app/dashboard.segments/_full.segment.rsc +2 -2
  202. package/.next/standalone/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
  203. package/.next/standalone/.next/server/app/dashboard.segments/_index.segment.rsc +1 -1
  204. package/.next/standalone/.next/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  205. package/.next/standalone/.next/server/app/dataset.html +1 -1
  206. package/.next/standalone/.next/server/app/dataset.rsc +1 -1
  207. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p/dataset/__PAGE__.segment.rsc +1 -1
  208. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p/dataset.segment.rsc +1 -1
  209. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p.segment.rsc +1 -1
  210. package/.next/standalone/.next/server/app/dataset.segments/_full.segment.rsc +1 -1
  211. package/.next/standalone/.next/server/app/dataset.segments/_head.segment.rsc +1 -1
  212. package/.next/standalone/.next/server/app/dataset.segments/_index.segment.rsc +1 -1
  213. package/.next/standalone/.next/server/app/dataset.segments/_tree.segment.rsc +1 -1
  214. package/.next/standalone/.next/server/app/eval/trajectory.html +1 -1
  215. package/.next/standalone/.next/server/app/eval/trajectory.rsc +1 -1
  216. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval/trajectory/__PAGE__.segment.rsc +1 -1
  217. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval/trajectory.segment.rsc +1 -1
  218. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval.segment.rsc +1 -1
  219. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p.segment.rsc +1 -1
  220. package/.next/standalone/.next/server/app/eval/trajectory.segments/_full.segment.rsc +1 -1
  221. package/.next/standalone/.next/server/app/eval/trajectory.segments/_head.segment.rsc +1 -1
  222. package/.next/standalone/.next/server/app/eval/trajectory.segments/_index.segment.rsc +1 -1
  223. package/.next/standalone/.next/server/app/eval/trajectory.segments/_tree.segment.rsc +1 -1
  224. package/.next/standalone/.next/server/app/eval.html +1 -1
  225. package/.next/standalone/.next/server/app/eval.rsc +1 -1
  226. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p/eval/__PAGE__.segment.rsc +1 -1
  227. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p/eval.segment.rsc +1 -1
  228. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p.segment.rsc +1 -1
  229. package/.next/standalone/.next/server/app/eval.segments/_full.segment.rsc +1 -1
  230. package/.next/standalone/.next/server/app/eval.segments/_head.segment.rsc +1 -1
  231. package/.next/standalone/.next/server/app/eval.segments/_index.segment.rsc +1 -1
  232. package/.next/standalone/.next/server/app/eval.segments/_tree.segment.rsc +1 -1
  233. package/.next/standalone/.next/server/app/fault.html +1 -1
  234. package/.next/standalone/.next/server/app/fault.rsc +1 -1
  235. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p/fault/__PAGE__.segment.rsc +1 -1
  236. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p/fault.segment.rsc +1 -1
  237. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p.segment.rsc +1 -1
  238. package/.next/standalone/.next/server/app/fault.segments/_full.segment.rsc +1 -1
  239. package/.next/standalone/.next/server/app/fault.segments/_head.segment.rsc +1 -1
  240. package/.next/standalone/.next/server/app/fault.segments/_index.segment.rsc +1 -1
  241. package/.next/standalone/.next/server/app/fault.segments/_tree.segment.rsc +1 -1
  242. package/.next/standalone/.next/server/app/index.html +1 -1
  243. package/.next/standalone/.next/server/app/index.rsc +1 -1
  244. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  245. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +1 -1
  246. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  247. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
  248. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  249. package/.next/standalone/.next/server/app/infra/sources.html +1 -1
  250. package/.next/standalone/.next/server/app/infra/sources.rsc +1 -1
  251. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p/infra/sources/__PAGE__.segment.rsc +1 -1
  252. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p/infra/sources.segment.rsc +1 -1
  253. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p/infra.segment.rsc +1 -1
  254. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p.segment.rsc +1 -1
  255. package/.next/standalone/.next/server/app/infra/sources.segments/_full.segment.rsc +1 -1
  256. package/.next/standalone/.next/server/app/infra/sources.segments/_head.segment.rsc +1 -1
  257. package/.next/standalone/.next/server/app/infra/sources.segments/_index.segment.rsc +1 -1
  258. package/.next/standalone/.next/server/app/infra/sources.segments/_tree.segment.rsc +1 -1
  259. package/.next/standalone/.next/server/app/infra.html +1 -1
  260. package/.next/standalone/.next/server/app/infra.rsc +1 -1
  261. package/.next/standalone/.next/server/app/infra.segments/!KG1haW4p/infra/__PAGE__.segment.rsc +1 -1
  262. package/.next/standalone/.next/server/app/infra.segments/!KG1haW4p/infra.segment.rsc +1 -1
  263. package/.next/standalone/.next/server/app/infra.segments/!KG1haW4p.segment.rsc +1 -1
  264. package/.next/standalone/.next/server/app/infra.segments/_full.segment.rsc +1 -1
  265. package/.next/standalone/.next/server/app/infra.segments/_head.segment.rsc +1 -1
  266. package/.next/standalone/.next/server/app/infra.segments/_index.segment.rsc +1 -1
  267. package/.next/standalone/.next/server/app/infra.segments/_tree.segment.rsc +1 -1
  268. package/.next/standalone/.next/server/app/login.html +1 -1
  269. package/.next/standalone/.next/server/app/login.rsc +1 -1
  270. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +1 -1
  271. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  272. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +1 -1
  273. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  274. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  275. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  276. package/.next/standalone/.next/server/app/memory.html +1 -1
  277. package/.next/standalone/.next/server/app/memory.rsc +1 -1
  278. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p/memory/__PAGE__.segment.rsc +1 -1
  279. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p/memory.segment.rsc +1 -1
  280. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p.segment.rsc +1 -1
  281. package/.next/standalone/.next/server/app/memory.segments/_full.segment.rsc +1 -1
  282. package/.next/standalone/.next/server/app/memory.segments/_head.segment.rsc +1 -1
  283. package/.next/standalone/.next/server/app/memory.segments/_index.segment.rsc +1 -1
  284. package/.next/standalone/.next/server/app/memory.segments/_tree.segment.rsc +1 -1
  285. package/.next/standalone/.next/server/app/metrics.html +1 -1
  286. package/.next/standalone/.next/server/app/metrics.rsc +1 -1
  287. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p/metrics/__PAGE__.segment.rsc +1 -1
  288. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p/metrics.segment.rsc +1 -1
  289. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p.segment.rsc +1 -1
  290. package/.next/standalone/.next/server/app/metrics.segments/_full.segment.rsc +1 -1
  291. package/.next/standalone/.next/server/app/metrics.segments/_head.segment.rsc +1 -1
  292. package/.next/standalone/.next/server/app/metrics.segments/_index.segment.rsc +1 -1
  293. package/.next/standalone/.next/server/app/metrics.segments/_tree.segment.rsc +1 -1
  294. package/.next/standalone/.next/server/app/modelconfig/registry.html +1 -1
  295. package/.next/standalone/.next/server/app/modelconfig/registry.rsc +1 -1
  296. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig/registry/__PAGE__.segment.rsc +1 -1
  297. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig/registry.segment.rsc +1 -1
  298. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  299. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p.segment.rsc +1 -1
  300. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_full.segment.rsc +1 -1
  301. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_head.segment.rsc +1 -1
  302. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_index.segment.rsc +1 -1
  303. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_tree.segment.rsc +1 -1
  304. package/.next/standalone/.next/server/app/modelconfig/web-search.html +1 -1
  305. package/.next/standalone/.next/server/app/modelconfig/web-search.rsc +1 -1
  306. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig/web-search/__PAGE__.segment.rsc +1 -1
  307. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig/web-search.segment.rsc +1 -1
  308. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  309. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p.segment.rsc +1 -1
  310. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_full.segment.rsc +1 -1
  311. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_head.segment.rsc +1 -1
  312. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_index.segment.rsc +1 -1
  313. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_tree.segment.rsc +1 -1
  314. package/.next/standalone/.next/server/app/modelconfig.html +1 -1
  315. package/.next/standalone/.next/server/app/modelconfig.rsc +1 -1
  316. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p/modelconfig/__PAGE__.segment.rsc +1 -1
  317. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  318. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p.segment.rsc +1 -1
  319. package/.next/standalone/.next/server/app/modelconfig.segments/_full.segment.rsc +1 -1
  320. package/.next/standalone/.next/server/app/modelconfig.segments/_head.segment.rsc +1 -1
  321. package/.next/standalone/.next/server/app/modelconfig.segments/_index.segment.rsc +1 -1
  322. package/.next/standalone/.next/server/app/modelconfig.segments/_tree.segment.rsc +1 -1
  323. package/.next/standalone/.next/server/app/optapi.html +1 -1
  324. package/.next/standalone/.next/server/app/optapi.rsc +1 -1
  325. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p/optapi/__PAGE__.segment.rsc +1 -1
  326. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p/optapi.segment.rsc +1 -1
  327. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p.segment.rsc +1 -1
  328. package/.next/standalone/.next/server/app/optapi.segments/_full.segment.rsc +1 -1
  329. package/.next/standalone/.next/server/app/optapi.segments/_head.segment.rsc +1 -1
  330. package/.next/standalone/.next/server/app/optapi.segments/_index.segment.rsc +1 -1
  331. package/.next/standalone/.next/server/app/optapi.segments/_tree.segment.rsc +1 -1
  332. package/.next/standalone/.next/server/app/quality.html +1 -1
  333. package/.next/standalone/.next/server/app/quality.rsc +2 -2
  334. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p/quality/__PAGE__.segment.rsc +2 -2
  335. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p/quality.segment.rsc +1 -1
  336. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p.segment.rsc +1 -1
  337. package/.next/standalone/.next/server/app/quality.segments/_full.segment.rsc +2 -2
  338. package/.next/standalone/.next/server/app/quality.segments/_head.segment.rsc +1 -1
  339. package/.next/standalone/.next/server/app/quality.segments/_index.segment.rsc +1 -1
  340. package/.next/standalone/.next/server/app/quality.segments/_tree.segment.rsc +1 -1
  341. package/.next/standalone/.next/server/app/security.html +1 -1
  342. package/.next/standalone/.next/server/app/security.rsc +1 -1
  343. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p/security/__PAGE__.segment.rsc +1 -1
  344. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p/security.segment.rsc +1 -1
  345. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p.segment.rsc +1 -1
  346. package/.next/standalone/.next/server/app/security.segments/_full.segment.rsc +1 -1
  347. package/.next/standalone/.next/server/app/security.segments/_head.segment.rsc +1 -1
  348. package/.next/standalone/.next/server/app/security.segments/_index.segment.rsc +1 -1
  349. package/.next/standalone/.next/server/app/security.segments/_tree.segment.rsc +1 -1
  350. package/.next/standalone/.next/server/app/skill-detail.html +1 -1
  351. package/.next/standalone/.next/server/app/skill-detail.rsc +1 -1
  352. package/.next/standalone/.next/server/app/skill-detail.segments/_full.segment.rsc +1 -1
  353. package/.next/standalone/.next/server/app/skill-detail.segments/_head.segment.rsc +1 -1
  354. package/.next/standalone/.next/server/app/skill-detail.segments/_index.segment.rsc +1 -1
  355. package/.next/standalone/.next/server/app/skill-detail.segments/_tree.segment.rsc +1 -1
  356. package/.next/standalone/.next/server/app/skill-detail.segments/skill-detail/__PAGE__.segment.rsc +1 -1
  357. package/.next/standalone/.next/server/app/skill-detail.segments/skill-detail.segment.rsc +1 -1
  358. package/.next/standalone/.next/server/app/skill-eval/grayscale.html +2 -2
  359. package/.next/standalone/.next/server/app/skill-eval/grayscale.rsc +1 -1
  360. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval/grayscale/__PAGE__.segment.rsc +1 -1
  361. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval/grayscale.segment.rsc +1 -1
  362. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval.segment.rsc +1 -1
  363. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p.segment.rsc +1 -1
  364. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_full.segment.rsc +1 -1
  365. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_head.segment.rsc +1 -1
  366. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_index.segment.rsc +1 -1
  367. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_tree.segment.rsc +1 -1
  368. package/.next/standalone/.next/server/app/skill-eval.html +1 -1
  369. package/.next/standalone/.next/server/app/skill-eval.rsc +1 -1
  370. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p/skill-eval/__PAGE__.segment.rsc +1 -1
  371. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p/skill-eval.segment.rsc +1 -1
  372. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p.segment.rsc +1 -1
  373. package/.next/standalone/.next/server/app/skill-eval.segments/_full.segment.rsc +1 -1
  374. package/.next/standalone/.next/server/app/skill-eval.segments/_head.segment.rsc +1 -1
  375. package/.next/standalone/.next/server/app/skill-eval.segments/_index.segment.rsc +1 -1
  376. package/.next/standalone/.next/server/app/skill-eval.segments/_tree.segment.rsc +1 -1
  377. package/.next/standalone/.next/server/app/skill-generator.html +1 -1
  378. package/.next/standalone/.next/server/app/skill-generator.rsc +1 -1
  379. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p/skill-generator/__PAGE__.segment.rsc +1 -1
  380. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p/skill-generator.segment.rsc +1 -1
  381. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p.segment.rsc +1 -1
  382. package/.next/standalone/.next/server/app/skill-generator.segments/_full.segment.rsc +1 -1
  383. package/.next/standalone/.next/server/app/skill-generator.segments/_head.segment.rsc +1 -1
  384. package/.next/standalone/.next/server/app/skill-generator.segments/_index.segment.rsc +1 -1
  385. package/.next/standalone/.next/server/app/skill-generator.segments/_tree.segment.rsc +1 -1
  386. package/.next/standalone/.next/server/app/skill-history.html +1 -1
  387. package/.next/standalone/.next/server/app/skill-history.rsc +2 -2
  388. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p/skill-history/__PAGE__.segment.rsc +2 -2
  389. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p/skill-history.segment.rsc +1 -1
  390. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p.segment.rsc +1 -1
  391. package/.next/standalone/.next/server/app/skill-history.segments/_full.segment.rsc +2 -2
  392. package/.next/standalone/.next/server/app/skill-history.segments/_head.segment.rsc +1 -1
  393. package/.next/standalone/.next/server/app/skill-history.segments/_index.segment.rsc +1 -1
  394. package/.next/standalone/.next/server/app/skill-history.segments/_tree.segment.rsc +1 -1
  395. package/.next/standalone/.next/server/app/skill-opt.html +1 -1
  396. package/.next/standalone/.next/server/app/skill-opt.rsc +1 -1
  397. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p/skill-opt/__PAGE__.segment.rsc +1 -1
  398. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p/skill-opt.segment.rsc +1 -1
  399. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p.segment.rsc +1 -1
  400. package/.next/standalone/.next/server/app/skill-opt.segments/_full.segment.rsc +1 -1
  401. package/.next/standalone/.next/server/app/skill-opt.segments/_head.segment.rsc +1 -1
  402. package/.next/standalone/.next/server/app/skill-opt.segments/_index.segment.rsc +1 -1
  403. package/.next/standalone/.next/server/app/skill-opt.segments/_tree.segment.rsc +1 -1
  404. package/.next/standalone/.next/server/app/skill-release.html +1 -1
  405. package/.next/standalone/.next/server/app/skill-release.rsc +1 -1
  406. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p/skill-release/__PAGE__.segment.rsc +1 -1
  407. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p/skill-release.segment.rsc +1 -1
  408. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p.segment.rsc +1 -1
  409. package/.next/standalone/.next/server/app/skill-release.segments/_full.segment.rsc +1 -1
  410. package/.next/standalone/.next/server/app/skill-release.segments/_head.segment.rsc +1 -1
  411. package/.next/standalone/.next/server/app/skill-release.segments/_index.segment.rsc +1 -1
  412. package/.next/standalone/.next/server/app/skill-release.segments/_tree.segment.rsc +1 -1
  413. package/.next/standalone/.next/server/app/skills.html +1 -1
  414. package/.next/standalone/.next/server/app/skills.rsc +2 -2
  415. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p/skills/__PAGE__.segment.rsc +2 -2
  416. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p/skills.segment.rsc +1 -1
  417. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p.segment.rsc +1 -1
  418. package/.next/standalone/.next/server/app/skills.segments/_full.segment.rsc +2 -2
  419. package/.next/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  420. package/.next/standalone/.next/server/app/skills.segments/_index.segment.rsc +1 -1
  421. package/.next/standalone/.next/server/app/skills.segments/_tree.segment.rsc +1 -1
  422. package/.next/standalone/.next/server/app/trace.html +1 -1
  423. package/.next/standalone/.next/server/app/trace.rsc +2 -2
  424. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p/trace/__PAGE__.segment.rsc +2 -2
  425. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p/trace.segment.rsc +1 -1
  426. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p.segment.rsc +1 -1
  427. package/.next/standalone/.next/server/app/trace.segments/_full.segment.rsc +2 -2
  428. package/.next/standalone/.next/server/app/trace.segments/_head.segment.rsc +1 -1
  429. package/.next/standalone/.next/server/app/trace.segments/_index.segment.rsc +1 -1
  430. package/.next/standalone/.next/server/app/trace.segments/_tree.segment.rsc +1 -1
  431. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_c4a195e5.js +1 -1
  432. package/.next/standalone/.next/server/chunks/ssr/_a3d5f9bc._.js +1 -1
  433. package/.next/standalone/.next/server/chunks/ssr/node_modules_0ec17dda._.js +1 -1
  434. package/.next/standalone/.next/server/chunks/ssr/node_modules_2906b362._.js +1 -1
  435. package/.next/standalone/.next/server/chunks/ssr/node_modules_3ad6a908._.js +1 -1
  436. package/.next/standalone/.next/server/chunks/ssr/node_modules_6e2c1036._.js +1 -1
  437. package/.next/standalone/.next/server/chunks/ssr/node_modules_a443e166._.js +1 -1
  438. package/.next/standalone/.next/server/chunks/ssr/node_modules_c49ac16a._.js +1 -1
  439. package/.next/standalone/.next/server/chunks/ssr/node_modules_cf1f3d2c._.js +2 -2
  440. package/.next/standalone/.next/server/pages/404.html +1 -1
  441. package/.next/standalone/.next/server/pages/500.html +2 -2
  442. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  443. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  444. package/.next/standalone/.next/static/chunks/1ee0fbf466669cb8.js +1 -0
  445. package/.next/standalone/.next/static/chunks/3a0f454536f3ebc8.js +1 -0
  446. package/.next/standalone/.next/static/chunks/4dcd21eef469e66b.js +1 -0
  447. package/.next/{static/chunks/7e6eb6ade82c4979.js → standalone/.next/static/chunks/b40cbbf52dfd5473.js} +1 -1
  448. package/.next/standalone/.next/static/chunks/ec50621fcfea9f71.js +287 -0
  449. package/.next/standalone/Dockerfile +10 -2
  450. package/.next/standalone/Evaluation_and_Research/agent_evaluator_industry_research.md +260 -0
  451. package/.next/standalone/Evaluation_and_Research/agent_evaluator_research_qna.md +1379 -0
  452. package/.next/standalone/docker-compose.amd64.yml +10 -0
  453. package/.next/standalone/package.json +1 -1
  454. package/.next/static/chunks/1ee0fbf466669cb8.js +1 -0
  455. package/.next/static/chunks/3a0f454536f3ebc8.js +1 -0
  456. package/.next/static/chunks/4dcd21eef469e66b.js +1 -0
  457. package/.next/{standalone/.next/static/chunks/7e6eb6ade82c4979.js → static/chunks/b40cbbf52dfd5473.js} +1 -1
  458. package/.next/static/chunks/ec50621fcfea9f71.js +287 -0
  459. package/README.md +76 -60
  460. package/package.json +1 -1
  461. package/.next/standalone/.next/static/chunks/13ea6fabf1d0af65.js +0 -287
  462. package/.next/standalone/.next/static/chunks/74a2b1d10a1772b4.js +0 -1
  463. package/.next/standalone/.next/static/chunks/94042ce1cf94ccfd.js +0 -1
  464. package/.next/standalone/.next/static/chunks/965c5a1f38c3d7db.js +0 -1
  465. package/.next/static/chunks/13ea6fabf1d0af65.js +0 -287
  466. package/.next/static/chunks/74a2b1d10a1772b4.js +0 -1
  467. package/.next/static/chunks/94042ce1cf94ccfd.js +0 -1
  468. package/.next/static/chunks/965c5a1f38c3d7db.js +0 -1
  469. /package/.next/standalone/.next/static/{uwRBb8F1kIm0K4LV3Jkwa → xzZesDmllz08gJIxUNkXr}/_buildManifest.js +0 -0
  470. /package/.next/standalone/.next/static/{uwRBb8F1kIm0K4LV3Jkwa → xzZesDmllz08gJIxUNkXr}/_clientMiddlewareManifest.json +0 -0
  471. /package/.next/standalone/.next/static/{uwRBb8F1kIm0K4LV3Jkwa → xzZesDmllz08gJIxUNkXr}/_ssgManifest.js +0 -0
  472. /package/.next/static/{uwRBb8F1kIm0K4LV3Jkwa → xzZesDmllz08gJIxUNkXr}/_buildManifest.js +0 -0
  473. /package/.next/static/{uwRBb8F1kIm0K4LV3Jkwa → xzZesDmllz08gJIxUNkXr}/_clientMiddlewareManifest.json +0 -0
  474. /package/.next/static/{uwRBb8F1kIm0K4LV3Jkwa → xzZesDmllz08gJIxUNkXr}/_ssgManifest.js +0 -0
@@ -0,0 +1,260 @@
1
+ # Agent 预置评估器扩展前期调研
2
+
3
+ 调研日期:2026-07-06
4
+
5
+ ## 结论摘要
6
+
7
+ 如果要扩展 Agent Insight 的预置 agent 评估器,建议优先补齐“任务是否完成、工具是否选对、参数是否正确、工具结果是否被正确使用、步骤是否高效、计划是否合理/被遵守、是否遵守约束/安全策略”这几类。它们在 DeepEval、Ragas、Phoenix、LangSmith、OpenAI trace grading 以及近两年的 agent benchmark / trajectory evaluation 论文中反复出现,属于经典且高收益的评估面。
8
+
9
+ 从当前仓库状态看,平台已有 `preset-agent-task-completion`、`preset-agent-trace-quality`,质量监控侧还有忠实度、指令遵循、答案质量、准确性等结果维指标。下一步最适合做成独立预置项的是:工具选择、工具参数/调用、工具结果处理、步骤效率、计划质量、计划遵循、策略/安全合规,以及重复运行稳定性。
10
+
11
+ ## 优先级排序:15 个适合加入的 Agent 评估器
12
+
13
+ | 优先级 | 评估器 | 主要回答的问题 | 对 agent 的意义 | 对 agent 评估改进的作用 | 业界出处 |
14
+ | --- | --- | --- | --- | --- | --- |
15
+ | 1 | 任务/目标完成度 | Agent 最终有没有完成用户目标 | 这是 agent 是否有用的第一性指标,直接衡量用户目标是否被达成。 | 作为总分锚点,帮助区分“结果失败”和“过程瑕疵”,也可作为 A/B、回归和线上质量监控的主评价口径。 | [DeepEval `TaskCompletionMetric`](https://deepeval.com/docs/metrics-task-completion);[Ragas `AgentGoalAccuracy`](https://docs.ragas.io/en/stable/concepts/metrics/available_metrics/agents/);[OpenAI agent trace grading](https://developers.openai.com/api/docs/guides/agent-evals);[tau-bench end-state evaluation](https://arxiv.org/abs/2406.12045);[AgentBench success rate](https://arxiv.org/abs/2308.03688) |
16
+ | 2 | 工具选择正确性 | 是否选择了该用的工具,是否漏用/误用/幻觉工具 | 工具选择决定 agent 能否把意图转成正确行动,是工具型 agent 的核心能力。 | 能定位“知道目标但选错手段”的问题,指导优化工具描述、路由规则、skill 触发条件和工具可见性。 | [Phoenix `Tool Selection`](https://arize.com/docs/phoenix/evaluation/pre-built-metrics/tool-selection);[DeepEval `ToolCorrectnessMetric`](https://deepeval.com/docs/metrics-tool-correctness);[Ragas `ToolCallAccuracy` / `ToolCallF1`](https://docs.ragas.io/en/stable/concepts/metrics/available_metrics/agents/);[LangSmith agent examples](https://docs.langchain.com/langsmith/evaluation-concepts) |
17
+ | 3 | 工具参数/调用正确性 | 工具名对了以后,参数、格式、schema 是否正确 | 参数正确性决定工具是否真正可执行,避免“选对工具但办错事”。 | 能把失败归因到 schema 理解、参数抽取、格式转换或上下文绑定问题,指导改工具 schema、参数说明和调用前校验。 | [Phoenix `Tool Invocation`](https://arize.com/docs/phoenix/evaluation/pre-built-metrics/tool-invocation);[DeepEval `ArgumentCorrectnessMetric`](https://deepeval.com/docs/metrics-argument-correctness);[DeepEval `ToolCorrectnessMetric` with input parameters](https://deepeval.com/docs/metrics-tool-correctness);[Ragas `ToolCallAccuracy`](https://docs.ragas.io/en/stable/concepts/metrics/available_metrics/agents/) |
18
+ | 4 | 工具结果处理正确性 | 是否正确读取工具返回,是否编造、误转写、泄露敏感字段 | 它衡量 agent 是否能把外部世界返回的事实转化为可靠回复或下一步动作。 | 能发现“工具调用都对但最终答错”的问题,指导优化结果解析、证据引用、错误处理和敏感字段过滤。 | [Phoenix `Tool Response Handling`](https://arize.com/docs/phoenix/evaluation/pre-built-metrics/tool-response-handling);[Ragas agent/tool metrics](https://docs.ragas.io/en/stable/concepts/metrics/available_metrics/agents/) / [Phoenix faithfulness](https://arize.com/docs/phoenix/evaluation/pre-built-metrics);[TRACE evidence-bank 思路](https://arxiv.org/abs/2510.02837) |
19
+ | 5 | 步骤效率 / 路径收敛 | 是否用了过多步骤、重复调用、绕路、无效重试 | 它衡量 agent 是否能用精炼路径完成任务,影响成本、延迟和稳定性。 | 能识别重复调用、无效探索和死循环,指导压缩流程、增加停止条件、改重试策略和优化成本。 | [DeepEval `StepEfficiencyMetric`](https://deepeval.com/docs/metrics-step-efficiency);[Phoenix `Agent Path Convergence`](https://arize.com/docs/phoenix/evaluation/legacy/archived-evals/agent-path-convergence);[Agent GPA `Execution Efficiency`](https://arxiv.org/abs/2510.08847);[CLEAR cost/latency](https://arxiv.org/abs/2511.14136) |
20
+ | 6 | 计划质量 | 计划本身是否能完成任务、工具是否可用、是否短且充分 | 它衡量 agent 在行动前是否形成了靠谱路线,区分“想错了”和“执行错了”。 | 能指导改 prompt、skill 流程、任务拆解模板和多 agent 编排,提前发现表面成功但不可复用的 agent。 | [DeepEval `PlanQualityMetric`](https://deepeval.com/docs/metrics-plan-quality);[Phoenix `Agent Planning`](https://arize.com/docs/phoenix/evaluation/legacy/archived-evals/agent-planning);[Agent GPA `Plan Quality`](https://arxiv.org/abs/2510.08847) |
21
+ | 7 | 计划遵循 | 实际执行是否遵守自己的计划 | 它衡量 agent 是否能稳定执行已形成的路线,而不是中途漂移。 | 能区分“计划不好”和“计划好但执行偏离”,指导增强执行控制、检查点、状态跟踪和中途重规划机制。 | [DeepEval `PlanAdherenceMetric`](https://deepeval.com/docs/metrics-plan-adherence);[Agent GPA `Plan Adherence`](https://arxiv.org/abs/2510.08847);[OpenAI trace grading](https://developers.openai.com/api/docs/guides/agent-evals) |
22
+ | 8 | 指令/策略/安全合规 | 是否违反系统约束、业务规则、安全策略、拒答策略 | 它衡量 agent 是否可信、可控,尤其影响生产环境中的边界和风险。 | 能把质量评估从“答得对”扩展到“做得合规”,指导补充 guardrail、拒答策略、权限边界和业务规则。 | [OpenAI trace grading](https://developers.openai.com/api/docs/guides/agent-evals);[LangSmith reference-free evaluators](https://docs.langchain.com/langsmith/evaluation-concepts);[Phoenix `Refusal`](https://arize.com/docs/phoenix/evaluation/pre-built-metrics);[Ragas `TopicAdherence`](https://docs.ragas.io/en/stable/concepts/metrics/available_metrics/agents/) |
23
+ | 9 | 检索/上下文相关性 | Agent 检索到的材料是否和任务相关 | 它衡量 agent 获取证据的质量,是 RAG 和文档型 agent 的上游能力。 | 能定位答案错误是检索阶段缺证据、取错证据,还是生成阶段误用证据,指导改 query、召回源和 rerank。 | [Ragas `Context Precision/Recall`](https://docs.ragas.io/en/stable/concepts/metrics/available_metrics/);[Phoenix `Document Relevance`](https://arize.com/docs/phoenix/evaluation/pre-built-metrics);[LangSmith RAG examples](https://docs.langchain.com/langsmith/evaluation-concepts) |
24
+ | 10 | 证据忠实度 / groundedness | 最终输出是否被工具/检索证据支持 | 它衡量 agent 是否基于观察到的证据回答,而不是凭空生成。 | 能发现幻觉、反向解读和无证据结论,指导改证据引用、claim 检查、上下文裁剪和回答约束。 | [Ragas `Faithfulness`](https://docs.ragas.io/en/stable/concepts/metrics/available_metrics/);[Phoenix `Faithfulness`](https://arize.com/docs/phoenix/evaluation/pre-built-metrics);Agent Insight 已有 result faithfulness;[TRACE](https://arxiv.org/abs/2510.02837) |
25
+ | 11 | 多轮上下文/主题保持 | 多轮任务中是否保持主题、正确处理用户补充信息 | 它衡量 agent 是否能在会话中持续维护目标、约束和上下文状态。 | 能发现遗忘前文、错误吸收补充信息、主题漂移等问题,指导改 memory、thread summary 和多轮状态管理。 | [Ragas `TopicAdherence`](https://docs.ragas.io/en/stable/concepts/metrics/available_metrics/agents/);[LangSmith thread-level evaluation](https://docs.langchain.com/langsmith/evaluation-concepts);[DeepEval multi-turn metrics](https://deepeval.com/docs/metrics-introduction) |
26
+ | 12 | 稳定性 / 可重复性 | 同一任务多次运行是否稳定成功,而非偶然成功 | 它衡量 agent 质量是否可复现,而不是单次样本上的偶然表现。 | 能把评估从单次分数升级为成功率、方差和 `pass^k`,指导判断版本是否真正稳定、是否可发布。 | [tau-bench `pass^k`](https://arxiv.org/abs/2406.12045);[CLEAR reliability](https://arxiv.org/abs/2511.14136);[LangSmith eval runs](https://docs.langchain.com/langsmith/evaluation-concepts) / [OpenAI dataset eval runs](https://developers.openai.com/api/docs/guides/agent-evals) |
27
+ | 13 | 错误恢复 / 自适应 | 工具失败、信息不足、参数错误后是否会修正路径 | 它衡量 agent 遇到失败或新证据时是否能调整策略,而不是机械重复。 | 能发现无效重试、不会修参、不会询问用户或不会换路径的问题,指导改 retry policy、fallback 和澄清策略。 | [Phoenix `Tool Response Handling`](https://arize.com/docs/phoenix/evaluation/pre-built-metrics/tool-response-handling);[Phoenix `Agent Reflection`](https://arize.com/docs/phoenix/evaluation/legacy/archived-evals/agent-reflection);[TRACE adaptivity](https://arxiv.org/abs/2510.02837);[AgentEval failure taxonomy](https://arxiv.org/abs/2604.23581) |
28
+ | 14 | 多 Agent 交接 / 路由正确性 | 是否在该交给子 agent / handoff 时正确交接,是否错交或漏交 | 它衡量多 agent 系统的分工、上下文传递和责任边界是否可靠。 | 能定位错派子 agent、交接信息缺失、父 agent 未整合结果等问题,指导优化路由规则和子 agent 协作协议。 | [OpenAI trace grading explicitly mentions handoff](https://developers.openai.com/api/docs/guides/agent-evals);[LangSmith trace intermediate steps](https://docs.langchain.com/langsmith/evaluation-concepts);[AgentEval DAG dependencies](https://arxiv.org/abs/2604.23581) |
29
+ | 15 | 失败定位 / 根因归因 | 不只给分,还能指出哪一步导致失败 | 它让评估从“打分”升级为“可行动诊断”,直接服务 agent 优化闭环。 | 能把失败映射到计划、工具、参数、证据、策略或执行步骤,指导自动生成修复建议和回归样本。 | [AgentEval DAG step-level evaluation](https://arxiv.org/abs/2604.23581);[TRACE evidence bank](https://arxiv.org/abs/2510.02837);[LangSmith human trace annotation](https://docs.langchain.com/langsmith/evaluation-concepts);Agent Insight 现有 SkillIssue 模型 |
30
+
31
+ ## 各评估器的评估逻辑
32
+
33
+ ### 1. 任务/目标完成度
34
+
35
+ 逻辑:从用户输入、任务说明、最终输出以及必要的 trace 中抽取“用户目标”和“实际结果”,判断结果是否满足目标。可分为两种模式:
36
+
37
+ - 有参考答案/目标状态:比较最终输出或最终状态与 reference,例如 Ragas `AgentGoalAccuracyWithReference`、tau-bench 比较最终数据库状态与标注 goal state。
38
+ - 无参考答案:由 LLM judge 从对话/trace 中推断用户目标和达成结果,再做 alignment scoring,例如 DeepEval `TaskCompletionMetric`、Ragas `AgentGoalAccuracyWithoutReference`。
39
+
40
+ 适合落地:作为总分主指标继续保留,并支持 reference-based 与 referenceless 两种模板。对 Agent Insight 的评测数据集,优先使用“预期结果/关键观点/最终状态断言”;对线上质量监控,使用无参考 trace judge。
41
+
42
+ ### 2. 工具选择正确性
43
+
44
+ 逻辑:输入用户意图、可用工具清单、实际工具调用,判断工具是否存在、是否必要、是否最适合当前任务、是否漏掉必须工具。Phoenix 将它定义为“what of tool calling”,即只看工具选择,不看参数。DeepEval / Ragas 也把工具名匹配作为核心信号。
45
+
46
+ 适合落地:做成 span-level 或 trace-level 评估器。输入可来自 `tool_calls` 与平台记录的工具 schema。输出建议包含:`correct | missing_required_tool | wrong_tool | hallucinated_tool | unnecessary_tool`。
47
+
48
+ ### 3. 工具参数/调用正确性
49
+
50
+ 逻辑:在工具选择正确的基础上,检查参数是否完整、类型是否符合 schema、值是否来自用户意图或上下文、是否有幻觉字段、JSON/function call 是否可解析。DeepEval `ArgumentCorrectnessMetric` 使用 LLM judge 判断每个 tool call 的参数是否符合输入;Phoenix `Tool Invocation` 同时检查参数、格式和安全内容;Ragas `ToolCallAccuracy` 会把参数准确性与调用序列对齐相乘。
51
+
52
+ 适合落地:优先实现半确定性版本:schema 校验、必填参数、枚举值、JSON 解析、未知字段用代码判;语义参数正确性用 LLM judge 判。
53
+
54
+ ### 4. 工具结果处理正确性
55
+
56
+ 逻辑:给定用户问题、工具调用、工具返回和后续 agent 输出,判断 agent 是否准确使用工具结果。重点识别:编造工具结果中不存在的信息、误读/反转结果、数字/日期转换错误、忽略工具结果、泄露工具返回中的敏感信息、错误后无合理重试。
57
+
58
+ 适合落地:这是 Agent 产品很关键但常被漏掉的指标。它能补上“工具调用都对,但最终答错”的空洞。建议作为独立 P0 预置项,尤其适合 Agent Insight 已有完整 tool output 的 trace。
59
+
60
+ ### 5. 步骤效率 / 路径收敛
61
+
62
+ 逻辑:检查完成任务所需步骤是否过多,是否存在重复搜索、重复读取、无意义重试、绕路、先做无关任务等。DeepEval 将其定义为 Task 与 Execution Steps 的 alignment,并惩罚非必要动作;Phoenix Path Convergence 用同类任务中最短路径长度与当前路径长度的比值平均;Agent GPA 也有 Execution Efficiency。
63
+
64
+ 适合落地:先做两个层次:
65
+
66
+ - 确定性派生指标:工具调用次数、重复调用率、失败重试次数、空输出工具比例、总 token/耗时。
67
+ - LLM judge:判断这些步骤是否“为完成任务严格必要”。
68
+
69
+ ### 6. 计划质量
70
+
71
+ 逻辑:从 trace 中抽取 plan,判断它是否能完成任务、是否只使用可用工具、工具是否充分、是否短且高效。DeepEval `PlanQualityMetric` 是 Task 与 Plan 的 alignment;Phoenix `Agent Planning` 用 `ideal / valid / invalid` 判定计划是否有效、充分、高效;Agent GPA 单列 Plan Quality。
72
+
73
+ 适合落地:如果 trace 没有显式 plan,不建议默认给满分;应输出 `N/A: no explicit plan`,否则会误导用户。对 Codex/Claude/opencode 这类不稳定暴露 reasoning 的框架,计划可来自可见的 TODO、步骤说明、子任务分解,而不是隐藏推理。
74
+
75
+ ### 7. 计划遵循
76
+
77
+ 逻辑:从 trace 中抽取 task、plan、execution steps,判断实际步骤是否按计划执行。DeepEval 明确区分 Plan Quality 与 Plan Adherence:好计划没执行、坏计划被执行,分别是不同问题。
78
+
79
+ 适合落地:与“计划质量”成对出现。输出要能区分:`no_plan`、`followed_good_plan`、`deviated_but_recovered`、`deviated_and_failed`、`followed_bad_plan`。
80
+
81
+ ### 8. 指令/策略/安全合规
82
+
83
+ 逻辑:对照系统约束、业务规则、用户明确要求、安全策略,判断执行过程和最终输出是否违规。OpenAI agent trace grading 把“是否违反 instruction 或 safety policy”作为核心问题;LangSmith 把 safety checks、PII、content policy、format validation 归为 reference-free evaluators;Ragas `TopicAdherence` 用 precision/recall/F1 衡量对允许主题的遵守。
84
+
85
+ 适合落地:对 Agent Skill 平台很重要,因为很多 skill 的价值来自“什么时候该做/不该做”。建议支持两类配置:固定平台规则(敏感信息、危险命令、越权文件访问)和数据集 case 级 rubric。
86
+
87
+ ### 9. 检索/上下文相关性
88
+
89
+ 逻辑:评估 retriever 或搜索步骤找到的上下文是否与任务相关。Ragas 有 Context Precision、Context Recall、Context Entities Recall;Phoenix 有 Document Relevance;LangSmith 建议对 RAG 系统分别定义 good retrieval 与 good answer。
90
+
91
+ 适合落地:如果 Agent Insight 能抽取 `web_search`、`read_file`、`grep`、知识库检索等结果,可把检索质量作为过程指标。输出建议按 source/span 归因:哪个检索动作无关、哪个关键证据缺失。
92
+
93
+ ### 10. 证据忠实度 / groundedness
94
+
95
+ 逻辑:把最终回答拆成原子 claims,然后验证每个 claim 是否被工具/检索上下文支持、矛盾或无法判断。Ragas `Faithfulness`、Phoenix `Faithfulness` 都是经典 RAG 指标;TRACE 进一步强调用 evidence bank 累积前序步骤证据来评估复杂轨迹。
96
+
97
+ 适合落地:平台已有 result faithfulness,可把它产品化为 agent 预置评估器之一,并增加“工具证据范围”选项:只用最终交付可见工具结果,或用全 trace evidence bank。
98
+
99
+ ### 11. 多轮上下文/主题保持
100
+
101
+ 逻辑:对多轮会话,判断 agent 是否保持在允许主题、是否正确吸收用户后续澄清、是否没有遗忘之前约束。Ragas `TopicAdherence` 支持 precision/recall/F1;LangSmith 支持 thread-level evaluation 来评估整段会话的连贯性、主题维护和用户满意度。
102
+
103
+ 适合落地:在 Agent Insight 中可先服务于多轮 skill 优化与 agent datasets。输入为 thread/trace,而非单条 execution。
104
+
105
+ ### 12. 稳定性 / 可重复性
106
+
107
+ 逻辑:同一 case 多次运行,统计成功率与一致性。tau-bench 提出 `pass^k`:多次试验都成功才算稳定,能暴露“单次成功率尚可但行为不可靠”的问题。CLEAR 框架也把 Reliability 作为企业 agent 的核心维度。
108
+
109
+ 适合落地:这是评估中心/A-B 灰度能力的自然延伸。建议提供 `success_rate@N`、`pass^k`、分数方差、失败类型分布。
110
+
111
+ ### 13. 错误恢复 / 自适应
112
+
113
+ 逻辑:检查 agent 在工具报错、无结果、参数错误、用户澄清、冲突信息时是否能调整策略,而不是机械重复。Phoenix `Tool Response Handling` 覆盖错误重试和参数修正;Phoenix `Agent Reflection` 用反思模板判断解法是否解决问题并生成错误关键词/未来修正指令;TRACE 明确把 adaptivity 纳入轨迹评价。
114
+
115
+ 适合落地:从确定性事件开始:工具 error 后是否有修正参数、是否重复相同失败调用、是否在信息不足时询问用户。再用 LLM judge 判断“恢复动作是否合理”。
116
+
117
+ ### 14. 多 Agent 交接 / 路由正确性
118
+
119
+ 逻辑:在多 agent 或 handoff 系统中,判断是否在正确时机交给正确子 agent,交接信息是否完整,是否发生无谓交接或漏交。OpenAI agent trace grading 明确把 handoff 是否发生作为 trace grader 可回答的问题;LangSmith run trace 包含 intermediate child runs;AgentEval 用 DAG 依赖关系建模步骤与失败传播。
120
+
121
+ 适合落地:Agent Insight 已有 root/sub-agent execution 和 skill 归属模型,适合做差异化预置项。可检查:子 agent 类型是否匹配任务、handoff prompt 是否包含必要上下文、子 agent 结果是否被父 agent 使用。
122
+
123
+ ### 15. 失败定位 / 根因归因
124
+
125
+ 逻辑:不只判断成功失败,而是把失败定位到步骤、工具、计划、参数、证据使用、策略违反等原因。AgentEval 将 agent execution 建模成 evaluation DAG,在节点上做 typed quality metrics 和 failure taxonomy,并追踪上游依赖;TRACE 用 evidence bank 支持多维度轨迹分析。
126
+
127
+ 适合落地:这和 Agent Insight 的 `SkillIssue` / 动态优化点模型非常贴合。建议作为“综合诊断型 evaluator”,而不是只给一个 numeric score。
128
+
129
+ ## 为什么这些评估器“好”:建议的证明方式
130
+
131
+ ### 1. 与人工专家标注的一致性
132
+
133
+ 为每个 evaluator 建一个小型 gold set:每类 50-100 条 trace,覆盖成功、失败、边界、混合质量样本。让 2-3 名人工标注者按同一 rubric 给标签。评估指标:
134
+
135
+ - 分类型 evaluator:precision、recall、F1、Cohen's kappa / Krippendorff alpha。
136
+ - 连续分 evaluator:Spearman / Pearson correlation、MAE、bucket accuracy。
137
+ - 解释质量:人工判断 reason 是否引用了正确证据、是否定位到真实失败步骤。
138
+
139
+ 参考:[AgentEval](https://arxiv.org/abs/2604.23581) 报告了与人类专家的 Cohen's kappa、failure detection recall、root cause accuracy;[Phoenix pre-built metrics](https://arize.com/docs/phoenix/evaluation/pre-built-metrics) 说明其预置 LLM 模板使用 golden datasets 测过并达到较高 F1。
140
+
141
+ ### 2. 对已知故障注入的敏感性
142
+
143
+ 构造可控变体,让 evaluator 必须降分:
144
+
145
+ - 工具选择:把正确工具换成相似但错误工具。
146
+ - 工具参数:改错城市、日期、文件路径、limit、filter。
147
+ - 工具结果处理:在最终回答中加入工具结果没有的事实,或反转数字/结论。
148
+ - 步骤效率:加入重复搜索、重复读文件、无效重试。
149
+ - 计划:删掉关键步骤、加入不可用工具、改变执行顺序。
150
+ - 安全/策略:加入越权读取、泄露 token、违反业务规则。
151
+
152
+ 好的 evaluator 应在这些 perturbation 上稳定降分,并能指出被注入的问题。
153
+
154
+ 参考:[TRACE](https://arxiv.org/abs/2510.02837) 通过构造多类 flawed trajectories 做元评估;[TRAJECT-Bench](https://arxiv.org/abs/2510.04550) 明确覆盖工具选择、参数正确性、依赖/顺序满足等 trajectory-level diagnostics。
155
+
156
+ ### 3. 能预测端到端成功率或用户偏好
157
+
158
+ 把 evaluator 分数与真实任务成功率、人工总体评分、用户满意度、线上负反馈做相关性分析。一个好评估器不一定单独等于最终成功,但应能显著解释失败来源。
159
+
160
+ 建议做:
161
+
162
+ - 单指标与人工总分的相关性。
163
+ - 多指标回归/树模型预测人工 pass/fail。
164
+ - A/B 改动前后,指标改善是否对应人工验收改善。
165
+
166
+ 参考:[CLEAR 论文](https://arxiv.org/abs/2511.14136) 强调 accuracy-only 不足,提出 cost、latency、efficacy、assurance、reliability 多维指标,并用专家评价验证其更能预测 production success。
167
+
168
+ ### 4. 回归检测能力
169
+
170
+ 拿历史版本 skill / agent,在同一数据集上重跑。好的 evaluator 应能:
171
+
172
+ - 检出已知坏版本。
173
+ - 不误伤已知好版本。
174
+ - 对 prompt/tool/schema 小改动有稳定趋势。
175
+ - 在 CI 或灰度中能提前发现线上问题。
176
+
177
+ [AgentEval](https://arxiv.org/abs/2604.23581) 的价值证明方式之一就是 CI/CD 集成后发现 pre-release regressions,并缩短根因定位时间。Agent Insight 可以用同样思路:把预置评估器接到现有灰度任务和 batch eval。
178
+
179
+ ### 5. 跨任务泛化与可解释性
180
+
181
+ 不要只在一个样例集上调 prompt。每个 evaluator 至少跨三类 agent 任务验证:
182
+
183
+ - 信息检索/文档分析类。
184
+ - 工具调用/业务流程类。
185
+ - 编码/文件操作/多 agent 协作类。
186
+
187
+ 同时要求 evaluator 输出 evidence:引用具体 tool call、span、message、文件路径、工具结果片段。没有 evidence 的分数不适合进入 Agent Insight 的优化闭环。
188
+
189
+ 参考:[AgentBench](https://arxiv.org/abs/2308.03688) 用多环境评估 agent reasoning / decision-making;[tau-bench](https://arxiv.org/abs/2406.12045) 用真实业务域的 tool-agent-user interaction 检验工具、用户交互和规则遵循;[AgentEval](https://arxiv.org/abs/2604.23581) 在生产 workflow 与 tau-bench / SWE-bench traces 上验证跨系统迁移。
190
+
191
+ ### 6. 成本、延迟、确定性可接受
192
+
193
+ 评估器本身也需要被评估:
194
+
195
+ - 代码可判的尽量代码判,例如 schema、exact match、F1、重复调用率。
196
+ - LLM judge 只处理语义判断,并使用结构化输出。
197
+ - 对长 trace 先 summarize / slice / top-k evidence,避免整段塞入。
198
+ - 缓存相同 interactionsHash + evaluatorVersion 的结果。
199
+
200
+ 这和 [LangSmith evaluation concepts](https://docs.langchain.com/langsmith/evaluation-concepts)、[Phoenix pre-built metrics](https://arize.com/docs/phoenix/evaluation/pre-built-metrics)、[OpenAI agent evals](https://developers.openai.com/api/docs/guides/agent-evals) 的实践一致:trace 先用于调试,成熟后进入 dataset/eval runs;code evaluator 与 LLM-as-judge 各取所长。
201
+
202
+ ## 推荐落地路线
203
+
204
+ ### P0:最该先做
205
+
206
+ 1. 工具选择正确性。
207
+ 2. 工具参数/调用正确性。
208
+ 3. 工具结果处理正确性。
209
+ 4. 步骤效率 / 重复调用检测。
210
+ 5. 策略/安全/指令合规。
211
+
212
+ 理由:这些指标最贴近 agent trace,能和 Agent Insight 的观测能力形成差异化,也能补足当前“任务完成度 + 轨迹质量”过于综合的问题。
213
+
214
+ ### P1:增强诊断与优化闭环
215
+
216
+ 1. 计划质量。
217
+ 2. 计划遵循。
218
+ 3. 检索/上下文相关性。
219
+ 4. 证据忠实度增强版。
220
+ 5. 错误恢复/自适应。
221
+
222
+ 理由:这些指标对优化 skill 很有帮助,但依赖更好的 trace summarization 和 evidence extraction。
223
+
224
+ ### P2:面向规模化评测和团队协作
225
+
226
+ 1. 稳定性 / `pass^k`。
227
+ 2. 多 Agent 交接 / 路由正确性。
228
+ 3. 多轮上下文/主题保持。
229
+ 4. 失败定位 / 根因归因。
230
+ 5. 成本/延迟预算效率。
231
+
232
+ 理由:这些更适合接入 batch eval、灰度评测、质量监控和多 agent 运行树,产品价值高,但实现面更宽。
233
+
234
+ ## 来源索引
235
+
236
+ - DeepEval Agentic metrics introduction: https://deepeval.com/docs/metrics-introduction
237
+ - DeepEval Task Completion: https://deepeval.com/docs/metrics-task-completion
238
+ - DeepEval Tool Correctness: https://deepeval.com/docs/metrics-tool-correctness
239
+ - DeepEval Argument Correctness: https://deepeval.com/docs/metrics-argument-correctness
240
+ - DeepEval Step Efficiency: https://deepeval.com/docs/metrics-step-efficiency
241
+ - DeepEval Plan Quality: https://deepeval.com/docs/metrics-plan-quality
242
+ - DeepEval Plan Adherence: https://deepeval.com/docs/metrics-plan-adherence
243
+ - Ragas agent/tool metrics: https://docs.ragas.io/en/stable/concepts/metrics/available_metrics/agents/
244
+ - Phoenix SDK eval metrics overview: https://arize.com/docs/phoenix/evaluation/pre-built-metrics
245
+ - Phoenix Tool Selection: https://arize.com/docs/phoenix/evaluation/pre-built-metrics/tool-selection
246
+ - Phoenix Tool Invocation: https://arize.com/docs/phoenix/evaluation/pre-built-metrics/tool-invocation
247
+ - Phoenix Tool Response Handling: https://arize.com/docs/phoenix/evaluation/pre-built-metrics/tool-response-handling
248
+ - Phoenix Agent Path Convergence: https://arize.com/docs/phoenix/evaluation/legacy/archived-evals/agent-path-convergence
249
+ - Phoenix Agent Planning: https://arize.com/docs/phoenix/evaluation/legacy/archived-evals/agent-planning
250
+ - Phoenix Agent Reflection: https://arize.com/docs/phoenix/evaluation/legacy/archived-evals/agent-reflection
251
+ - LangSmith evaluation concepts: https://docs.langchain.com/langsmith/evaluation-concepts
252
+ - OpenAI Evaluate agent workflows: https://developers.openai.com/api/docs/guides/agent-evals
253
+ - OpenAI Graders: https://developers.openai.com/api/docs/guides/graders
254
+ - tau-bench paper: https://arxiv.org/abs/2406.12045
255
+ - AgentBench paper: https://arxiv.org/abs/2308.03688
256
+ - TRACE paper: https://arxiv.org/abs/2510.02837
257
+ - TRAJECT-Bench paper: https://arxiv.org/abs/2510.04550
258
+ - Agent GPA paper: https://arxiv.org/abs/2510.08847
259
+ - AgentEval paper: https://arxiv.org/abs/2604.23581
260
+ - CLEAR enterprise agent evaluation paper: https://arxiv.org/abs/2511.14136