{"asOf":"2026-10-03","doesNotChangeDepotPicks":true,"doesNotChangePriceSort":true,"doesNotRescore":true,"caps":{"needs":6,"freePerNeed":3,"caseStudies":3},"class":{"id":"rag","name":"RAG agent","definition":"Answers from a retrieved corpus and says when the corpus does not support the claim.","needs":{"jtbdIds":["rag-enterprise","rag-memory","hybrid-search-rag","rag-rerank","prototype-rag","knowledge-graph-rag","late-interaction-retrieval","embeddings","managed-vector","rag-evals"],"freeKinds":["free_embedding","free_vector","free_rerank","free_data"],"capabilityTags":["rag","vector"],"plain":["Passage ids on every factual sentence"]},"failureModeIds":["stale-retrieval","lost-in-the-middle","silent-truncation","eval-contamination","ungrounded-answer","context-overflow","policy-conflict"],"exampleTasks":["Answer only from retrieved passages","Say the corpus has no support instead of filling the gap"]},"needsConsidered":["rag-enterprise","rag-memory","hybrid-search-rag","rag-rerank","prototype-rag","knowledge-graph-rag"],"needsOmitted":["late-interaction-retrieval","embeddings","managed-vector","rag-evals"],"jobs":[{"jtbdId":"rag-enterprise","decide":{"available":true,"unavailableReason":null,"providerId":"cohere","scoreAsOf":"2026-10-19","scoreAgeDays":8,"scoreStale":false,"runnerUpId":"pinecone","cite":"Depot Pick for rag-enterprise: cohere (asOf 2026-10-19). See GET /api/jtbds/rag-enterprise + GET /api/methodology.","citePath":"/api/jtbds/rag-enterprise"},"quote":{"available":true,"unavailableReason":null,"cheapest":{"providerId":"amazon-bedrock","slug":"amazon-bedrock","name":"Amazon Bedrock","skuId":"amazon-bedrock-gemma-3-4b-in","sku":"Gemma 3 4B","item":"Gemma 3 4B","plan":"Gemma 3 4B — Standard on-demand","isFloorPrice":true,"floorWarning":"Provider-wide floor SKU; may not be the flagship model scored for this JTBD.","skuKind":"chat_completion_input","unit":"usd_per_million_input_tokens","amountUsd":0.04,"comparison":"min sourced input SKU among candidates; not quality-adjusted","usdPerMillionInputTokens":0.04,"sourceUrl":"https://aws.amazon.com/bedrock/pricing/","asOf":"2026-10-03"},"recommendedWorkloadQuote":{"providerId":"cohere","providerName":"Cohere","skuId":"cohere-command-light-legacy-input","item":"Command-light (legacy)","plan":"Command-light (legacy) — legacy","unit":"usd_per_million_input_tokens","amountUsd":0.3,"outputSkuId":"cohere-command-light-legacy-output","outputItem":"Command-light (legacy)","outputAmountUsd":0.6,"outputUnit":"usd_per_million_output_tokens","sourceUrl":"https://cohere.com/pricing","asOf":"2026-10-03","pricingLastVerifiedAt":"2026-10-03","isFlagshipForJob":false,"differsFromFloorCheapest":false,"representativeQuote":{"skuId":"cohere-command-light-legacy-input","item":"Command-light (legacy)","plan":"Command-light (legacy) — legacy","amountUsd":0.3,"inputOrUnitUsd":0.3,"unit":"usd_per_million_input_tokens","outputUsd":0.6,"outputUnit":"usd_per_million_output_tokens","sourceUrl":"https://cohere.com/pricing","asOf":"2026-10-03"},"estimatedTaskCost":{"tasks":1000,"retryAndToolOverheadMultiplier":1.15,"retryToolOverheadMultiplier":1.15,"inputTokensPerTask":4000,"outputTokensPerTask":1000,"baseCostPer1kTasksUsd":1.8,"totalUsd":2.07,"estimatedTotalUsd":2.07,"perTaskUsd":0.00207,"estimatedCostPerTaskUsd":0.00207,"formula":"((4,000 in * $0.3/1M + 1,000 out * $0.6/1M) * 1,000 tasks) * 1.15 overhead","assumptions":"1,000 agent tasks @ 4k input + 1k output tokens/task with 1.15x retry/tool-call overhead."}},"representativeQuote":{"skuId":"cohere-command-light-legacy-input","item":"Command-light (legacy)","plan":"Command-light (legacy) — legacy","amountUsd":0.3,"inputOrUnitUsd":0.3,"unit":"usd_per_million_input_tokens","outputUsd":0.6,"outputUnit":"usd_per_million_output_tokens","sourceUrl":"https://cohere.com/pricing","asOf":"2026-10-03"},"estimatedTaskCost":{"tasks":1000,"retryAndToolOverheadMultiplier":1.15,"retryToolOverheadMultiplier":1.15,"inputTokensPerTask":4000,"outputTokensPerTask":1000,"baseCostPer1kTasksUsd":1.8,"totalUsd":2.07,"estimatedTotalUsd":2.07,"perTaskUsd":0.00207,"estimatedCostPerTaskUsd":0.00207,"formula":"((4,000 in * $0.3/1M + 1,000 out * $0.6/1M) * 1,000 tasks) * 1.15 overhead","assumptions":"1,000 agent tasks @ 4k input + 1k output tokens/task with 1.15x retry/tool-call overhead."},"reason":null,"priceWinnerNote":"Only 1 candidate has a sourced input $/1M; nothing was compared, so pickIsPriceWinner is null."},"pickIsNotPriceWinner":false,"freeResources":[],"freeMatch":"none"},{"jtbdId":"rag-memory","decide":{"available":true,"unavailableReason":null,"providerId":"supabase-pgvector","scoreAsOf":"2026-09-14","scoreAgeDays":43,"scoreStale":true,"runnerUpId":"qdrant","cite":"Depot Pick for rag-memory: supabase-pgvector (asOf 2026-09-14). See GET /api/jtbds/rag-memory + GET /api/methodology.","citePath":"/api/jtbds/rag-memory"},"quote":{"available":true,"unavailableReason":null,"cheapest":null,"recommendedWorkloadQuote":null,"representativeQuote":null,"estimatedTaskCost":null,"reason":"Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null.","priceWinnerNote":"Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null."},"pickIsNotPriceWinner":false,"freeResources":[],"freeMatch":"none"},{"jtbdId":"hybrid-search-rag","decide":{"available":true,"unavailableReason":null,"providerId":"weaviate","scoreAsOf":"2026-09-14","scoreAgeDays":43,"scoreStale":true,"runnerUpId":"qdrant","cite":"Depot Pick for hybrid-search-rag: weaviate (asOf 2026-09-14). See GET /api/jtbds/hybrid-search-rag + GET /api/methodology.","citePath":"/api/jtbds/hybrid-search-rag"},"quote":{"available":true,"unavailableReason":null,"cheapest":null,"recommendedWorkloadQuote":null,"representativeQuote":null,"estimatedTaskCost":null,"reason":"Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null.","priceWinnerNote":"Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null."},"pickIsNotPriceWinner":false,"freeResources":[{"id":"qdrant-oss","name":"Qdrant","kind":"dev_tool","cost":"oss","substitutable":true,"sourceUrl":"https://github.com/qdrant/qdrant/blob/master/LICENSE"}],"freeMatch":"jtbd"},{"jtbdId":"rag-rerank","decide":{"available":true,"unavailableReason":null,"providerId":"voyage","scoreAsOf":"2026-09-14","scoreAgeDays":43,"scoreStale":true,"runnerUpId":"cohere","cite":"Depot Pick for rag-rerank: voyage (asOf 2026-09-14). See GET /api/jtbds/rag-rerank + GET /api/methodology.","citePath":"/api/jtbds/rag-rerank"},"quote":{"available":true,"unavailableReason":null,"cheapest":{"providerId":"voyage","slug":"voyage","name":"Voyage AI","skuId":"voyage-rerank-3-lite","sku":"rerank-3-lite","item":"rerank-3-lite","plan":"rerank-3-lite — Price per million tokens column","isFloorPrice":true,"floorWarning":"Provider-wide floor SKU; may not be the flagship model scored for this JTBD.","skuKind":"rerank","unit":"usd_per_million_tokens","amountUsd":0.02,"comparison":"min sourced rerank SKU among candidates; per million tokens; not a chat model; not quality-adjusted","usdPerMillionInputTokens":0.02,"sourceUrl":"https://docs.voyageai.com/docs/pricing","asOf":"2026-10-03"},"recommendedWorkloadQuote":{"providerId":"voyage","providerName":"Voyage AI","skuId":"voyage-voyage-4-lite","item":"voyage-4-lite","plan":"voyage-4-lite — Price per million tokens column","unit":"usd_per_million_tokens","amountUsd":0.02,"outputSkuId":null,"outputItem":null,"outputAmountUsd":null,"outputUnit":null,"sourceUrl":"https://docs.voyageai.com/docs/pricing","asOf":"2026-10-03","pricingLastVerifiedAt":"2026-10-27","isFlagshipForJob":false,"differsFromFloorCheapest":false,"representativeQuote":{"skuId":"voyage-voyage-4-lite","item":"voyage-4-lite","plan":"voyage-4-lite — Price per million tokens column","amountUsd":0.02,"inputOrUnitUsd":0.02,"unit":"usd_per_million_tokens","outputUsd":null,"outputUnit":null,"sourceUrl":"https://docs.voyageai.com/docs/pricing","asOf":"2026-10-03"},"estimatedTaskCost":{"tasks":1000,"retryAndToolOverheadMultiplier":1.15,"retryToolOverheadMultiplier":1.15,"inputTokensPerTask":4000,"outputTokensPerTask":0,"baseCostPer1kTasksUsd":0.08,"totalUsd":0.092,"estimatedTotalUsd":0.092,"perTaskUsd":0.000092,"estimatedCostPerTaskUsd":0.000092,"formula":"((4,000 tokens * $0.02/1M) * 1,000 tasks) * 1.15 overhead","assumptions":"1,000 agent tasks @ 4k input + 1k output tokens/task with 1.15x retry/tool-call overhead."}},"representativeQuote":{"skuId":"voyage-voyage-4-lite","item":"voyage-4-lite","plan":"voyage-4-lite — Price per million tokens column","amountUsd":0.02,"inputOrUnitUsd":0.02,"unit":"usd_per_million_tokens","outputUsd":null,"outputUnit":null,"sourceUrl":"https://docs.voyageai.com/docs/pricing","asOf":"2026-10-03"},"estimatedTaskCost":{"tasks":1000,"retryAndToolOverheadMultiplier":1.15,"retryToolOverheadMultiplier":1.15,"inputTokensPerTask":4000,"outputTokensPerTask":0,"baseCostPer1kTasksUsd":0.08,"totalUsd":0.092,"estimatedTotalUsd":0.092,"perTaskUsd":0.000092,"estimatedCostPerTaskUsd":0.000092,"formula":"((4,000 tokens * $0.02/1M) * 1,000 tasks) * 1.15 overhead","assumptions":"1,000 agent tasks @ 4k input + 1k output tokens/task with 1.15x retry/tool-call overhead."},"reason":null,"priceWinnerNote":"Only 1 candidate has a matching Rerank $/1M; nothing was compared, so pickIsPriceWinner is null."},"pickIsNotPriceWinner":false,"freeResources":[{"id":"bge-reranker-v2-m3","name":"BGE-reranker-v2-m3","kind":"open_weights","cost":"oss","substitutable":true,"sourceUrl":"https://huggingface.co/BAAI/bge-reranker-v2-m3/raw/main/README.md"},{"id":"cloudflare-workers-ai-rerank","name":"Cloudflare Workers AI bge-reranker-base","kind":"free_rerank","cost":"free","substitutable":true,"sourceUrl":"https://developers.cloudflare.com/workers-ai/platform/pricing/"},{"id":"cohere-trial-rerank","name":"Cohere trial key, rerank","kind":"free_rerank","cost":"free","substitutable":true,"sourceUrl":"https://docs.cohere.com/docs/rate-limits"}],"freeMatch":"jtbd"},{"jtbdId":"prototype-rag","decide":{"available":true,"unavailableReason":null,"providerId":"chroma","scoreAsOf":"2026-09-14","scoreAgeDays":43,"scoreStale":true,"runnerUpId":"supabase-pgvector","cite":"Depot Pick for prototype-rag: chroma (asOf 2026-09-14). See GET /api/jtbds/prototype-rag + GET /api/methodology.","citePath":"/api/jtbds/prototype-rag"},"quote":{"available":true,"unavailableReason":null,"cheapest":null,"recommendedWorkloadQuote":null,"representativeQuote":null,"estimatedTaskCost":null,"reason":"Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null.","priceWinnerNote":"Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null."},"pickIsNotPriceWinner":false,"freeResources":[{"id":"chroma","name":"Chroma","kind":"dev_tool","cost":"oss","substitutable":true,"sourceUrl":"https://github.com/chroma-core/chroma/blob/main/LICENSE"}],"freeMatch":"jtbd"},{"jtbdId":"knowledge-graph-rag","decide":{"available":true,"unavailableReason":null,"providerId":"cognee","scoreAsOf":"2026-09-14","scoreAgeDays":43,"scoreStale":true,"runnerUpId":"weaviate","cite":"Depot Pick for knowledge-graph-rag: cognee (asOf 2026-09-14). See GET /api/jtbds/knowledge-graph-rag + GET /api/methodology.","citePath":"/api/jtbds/knowledge-graph-rag"},"quote":{"available":true,"unavailableReason":null,"cheapest":null,"recommendedWorkloadQuote":null,"representativeQuote":null,"estimatedTaskCost":null,"reason":"Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null.","priceWinnerNote":"Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null."},"pickIsNotPriceWinner":false,"freeResources":[],"freeMatch":"none"}],"failures":[{"id":"stale-retrieval","name":"Stale retrieval","detection":"Store the source URL and the time it was fetched. If a newer canonical page exists, or two stored sources disagree, do not answer from the older one."},{"id":"lost-in-the-middle","name":"Lost in the middle","detection":"Ask the agent to name the passage it used. Spot-check questions whose only support sits in the middle of the context, not only at the edges."},{"id":"silent-truncation","name":"Silent truncation","detection":"Tools must return whether the payload was truncated and how long the original was. Fail the task if the answer depends on the missing span."},{"id":"eval-contamination","name":"Eval contamination","detection":"Keep gold labels out of the agent prompt. Store the harness version beside the score. Do not compare a number across a benchmark revision without saying the revision changed."},{"id":"ungrounded-answer","name":"Ungrounded answer","detection":"Require a source URL or passage id on factual sentences. Drop or mark any sentence whose source does not contain the claim."},{"id":"context-overflow","name":"Context overflow","detection":"If the input exceeds the window, say so and retrieve a narrower slice. Do not answer from a truncated head as if it were the whole source."},{"id":"policy-conflict","name":"Policy conflict","detection":"If cited sources contradict each other, return the conflict and the URLs. Do not pick a winner silently."}],"failuresOmittedBecauseMissing":[],"caseStudies":[{"id":"lost-in-the-middle-2023","title":"Lost in the Middle: How Language Models Use Long Contexts","sourceUrl":"https://arxiv.org/abs/2307.03172","year":2023,"studyKind":"mechanism_study"},{"id":"memgpt-2023","title":"MemGPT: Towards LLMs as Operating Systems","sourceUrl":"https://arxiv.org/abs/2310.08560","year":2023,"studyKind":"mechanism_study"},{"id":"langchain-chat-rebuild-2025","title":"Why we rebuilt LangChain's chatbot","sourceUrl":"https://www.langchain.com/blog/rebuilding-chat-langchain","year":2025,"studyKind":"vendor_writeup"}],"caseStudiesRelated":3,"caseStudiesOmitted":0,"caseStudiesReason":null,"links":{"kit":"/api/kit?class=rag","page":"/agents/kit/rag","agentClass":"/api/agent-classes/rag","failures":"/api/failures","caseStudies":"/api/case-studies?class=rag"},"recommendation":{"mode":"default"},"stackContext":{"host":null,"framework":null,"repo":null,"lang":null,"existing":[],"volume":null,"sender":null,"detectedFromTask":[]},"contextAdvice":[],"firstActions":["https://getagentdepot.com/api/hub","https://getagentdepot.com/api/decide?jtbd=rag-enterprise","https://getagentdepot.com/api/quote?jtbd=rag-enterprise","https://getagentdepot.com/api/kit?class=rag","https://getagentdepot.com/api/failures"],"honesty":["Picks are the current Depot Pick from GET /api/decide. This kit does not rescore.","Cheapest SKU is copied from GET /api/quote for that job. Input and output are not blended. A chat SKU is not borrowed for a non-chat job. If quote.cheapest is null, there is no matching sourced price.","pickIsNotPriceWinner is true only when that job's Depot Pick and cheapest matching SKU both exist and the quote says the pick is not the price winner. If either is missing, the field is false.","freeResources are existing /api/free items whose jtbdIds include that job, up to 3, sorted by id. If none list the job, freeResources is [] and freeMatch is none. Kind, provider, and docs are not fallbacks. Free does not change the pick.","firstActions are endpoint URLs for this class: hub, decide for the first listed need, quote for that need, this kit, and /api/failures. No other step is added.","Failures are the modes already listed on the class. Case studies are the first 3 related studies in catalog order, with the source URL already stored. Omitted studies stay on GET /api/case-studies?class=."]}