AgentInspect డెవలపర్లు ఒక AI ఏజెంట్ యొక్క దశలవారీ చర్యలను JSONL లాగ్లుగా క్యాప్చర్ చేయడానికి అనుమతిస్తుంది, దీనివల్ల అవసరమైన టూల్స్ రన్ అయ్యాయో లేదో వెరిఫై చేయడం సాధ్యమవుతుంది – ఇదంతా OpenTelemetryని స్టాక్లోకి కనెక్ట్ చేయాల్సిన అవసరం లేకుండానే జరుగుతుంది.
Vercel AI SDK పై నిర్మించిన వెదర్-చెకింగ్ (weather-checking) ఉదాహరణతో చేసిన ఒక త్వరిత పరీక్షలో, AgentInspect ఒక “సైలెంట్ ఫెయిల్యూర్” (silent failure) ను గుర్తించింది: చివరి సమాధానం సరిగ్గా ఉంది, కానీ వెదర్-టూల్ కాల్ (weather-tool call) అసలు జరగలేదు. సాధారణ అవుట్పుట్ టెస్ట్ గుర్తించలేని సమస్యను ఈ లైబ్రరీ యొక్క ప్రాసెస్-లెవల్ చెక్ పట్టుకుంది.
ఎగ్జిక్యూషన్ పాత్ (execution path) ఎందుకు ముఖ్యం
ఒక AI ఏజెంట్ యొక్క ప్రతిస్పందన అనేది అనేక మోడల్ ఇన్వోకేషన్లు (model invocations) మరియు ఎక్స్టర్నల్ టూల్ కాల్స్ (external tool calls) కలిగిన ఒక గొలుసు యొక్క తుది ఉత్పత్తి. ఒక ప్రాంప్ట్ లైవ్ డేటాను పొందాల్సి ఉంటే, టెక్స్ట్ సరిగ్గా ఉన్నప్పటికీ, ఆ డేటా ఫెచ్ (fetch) జరగకపోతే రిస్క్ ప్రొఫైల్ మారుతుంది. ఆన్సర్-లెవల్ టెస్ట్ల వల్ల ఒక ముఖ్యమైన దశను స్కిప్ చేసే బగ్, ఎవరికీ తెలియకుండానే ప్రొడక్షన్లోకి వెళ్ళిపోయే అవకాశం ఉంది.
AgentInspect ఏం చేస్తుంది
- లైట్వెయిట్ రికార్డింగ్ (Lightweight recording) – ఒక TypeScript అడాప్టర్ ఏజెంట్ కోడ్కు కనెక్ట్ అయ్యి, ప్రతి మోడల్ కాల్, టూల్ ఇన్వోకేషన్ మరియు వాటి క్రమాన్ని ఒక లైన్-డెలిమిటెడ్ JSON (JSONL) ఫైల్లోకి రాస్తుంది.
- రూల్ ఇంజిన్ (Rule engine) – డెవలపర్లు “వెదర్ టూల్ తప్పనిసరిగా కాల్ చేయాలి” లేదా “ఫైనాన్స్ APIని ఉపయోగించకూడదు” వంటి సరళమైన ప్రిడికేట్లను (predicates) డిక్లేర్ చేయవచ్చు. లైబ్రరీ ప్రతి రన్ తర్వాత ఈ రూల్స్ను ఎవాల్యుయేట్ చేస్తుంది.
- CLI ఇన్స్పెక్షన్ (CLI inspection) – ఫెయిల్ అయిన రన్లు ఫైల్లుగా సేవ్ చేయబడతాయి, వీటిని బిల్ట్-ఇన్ కమాండ్-లైన్ టూల్ ద్వారా ఎగ్జిక్యూషన్ ట్రేస్ను (execution trace) మనుషులు చదవగలిగే రీతిలో రీప్లే చేయడానికి ఓపెన్ చేయవచ్చు.
లాగ్లు లోకల్ ఫైల్లు కాబట్టి, ట్రేసింగ్ బ్యాకెండ్, నెట్వర్క్ కాన్ఫిగరేషన్ లేదా విడిగా ఏదైనా అబ్జర్వబిలిటీ సర్వీస్ అవసరం లేదు.
టెస్ట్ ఎలా సెటప్ చేయబడింది
- ప్రాసెస్ చెక్స్ (Process checks) – వెదర్-టూల్ ఎండ్పాయింట్ ఇన్వోక్ చేయబడిందో లేదో ఒక రూల్ ద్వారా వెరిఫై చేయబడింది.
- ఆన్సర్ చెక్స్ (Answer checks) – ఒక ప్రత్యేకమైన అసర్షన్ (assertion), జనరేట్ చేయబడిన టెక్స్ట్ను ఆశించిన ఇండోర్-సైట్సీయింగ్ రికమెండేషన్తో పోల్చింది.
రెండు సినారియోలు రన్ చేయబడ్డాయి:
| సినారియో (Scenario) | ఆన్సర్ చెక్ (Answer check) | ప్రాసెస్ చెక్ (Process check) |
|---|---|---|
| హ్యాపీ పాత్ (వెదర్ ఫెచ్ చేయబడింది) | Pass | Pass |
| స్కిప్డ్ వెదర్ (టూల్ కాల్ చేయబడలేదు) | Pass | Fail |
రెండవ రన్ ప్రాసెస్ చెక్స్ యొక్క విలువను నిరూపిస్తుంది: సమాధానం బాగున్నప్పటికీ, టూల్ కాల్ జరగకపోవడం అనేది ఒక దాగి ఉన్న లోపాన్ని (hidden defect) సూచించింది.
AgentInspect vs. Promptfoo
Promptfoo అనేది మరింత స్థాపించబడిన (established) టెస్టింగ్ ఫ్రేమ్వర్క్, ఇది OpenTelemetry ద్వారా ట్రేస్లను క్యాప్చర్ చేస్తుంది. ఇప్పటికే టెలిమెట్రీ డేటాను కలెక్టర్కు పంపే టీమ్స్కు ఆ విధానం బాగా పనిచేస్తుంది, కానీ ఇది కాన్ఫిగరేషన్ ఓవర్హెడ్ మరియు ట్రేసింగ్ ఇన్ఫ్రాస్ట్రక్చర్పై ఆధారపడటాన్ని పెంచుతుంది.
AgentInspect డెవలప్మెంట్ ప్రారంభ దశలో ఉన్నట్లు అనిపించినప్పటికీ, దీనిని సెటప్ చేయడం చాలా సులభం.
ఎవరికి ఇది ఉపయోగపడుతుంది
- CI పైప్లైన్లు (CI pipelines) – AgentInspectని రన్ చేసే మరియు రూల్ ఉల్లంఘనల (rule violations) సమయంలో బిల్డ్ను ఫెయిల్ చేసే ఒకే ఒక్క స్టెప్ను జోడించడం ద్వారా, సైలెంట్ బగ్లను నివారించవచ్చు.
- డీబగ్గింగ్ (Debugging) – కాల్స్ యొక్క ఖచ్చితమైన క్రమాన్ని రీప్లే చేయడానికి JSONL లాగ్లను లోకల్గా ఓపెన్ చేయవచ్చు, దీనివల్ల రిమోట్ ట్రేస్ డ్యాష్బోర్డ్లలో వెతకడం కంటే సమయం ఆదా అవుతుంది.
- ప్రొడక్ట్ టీమ్లు (Product teams) – ఒక ఫీచర్ను విడుదల చేసే ముందు కీలకమైన డేటా ఫెచ్ నిజంగా జరిగిందని తెలుసుకోవడం వల్ల, తదుపరి వినియోగదారుల ఫిర్యాదుల రిస్క్ను తగ్గిస్తుంది.
ముగింపు: ఒక AI ఏజెంట్ యొక్క ఖచ్చితత్వం కేవలం చివరి టెక్స్ట్ మీద మాత్రమే కాకుండా, అది తీసుకునే చర్యల మీద ఆధారపడి ఉన్నప్పుడు, AgentInspect వంటి లైట్వెయిట్ రికార్డర్ పూర్తి ట్రేసింగ్ స్టాక్ యొక్క ఓవర్హెడ్ లేకుండానే, దాగి ఉన్న ప్రాసెస్ బగ్లను స్పష్టంగా కనిపించే, టెస్ట్ చేయగల వైఫల్యాలుగా మార్చగలదు.
