<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: ke yi</title>
    <description>The latest articles on DEV Community by ke yi (@devtoaaron).</description>
    <link>https://dev.to/devtoaaron</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3939482%2F9f322ae1-275e-42d3-aeaa-ea23717467fc.jpg</url>
      <title>DEV Community: ke yi</title>
      <link>https://dev.to/devtoaaron</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/devtoaaron"/>
    <language>en</language>
    <item>
      <title>LangSmith Hosted vs Self: Deployment Guide 2026</title>
      <dc:creator>ke yi</dc:creator>
      <pubDate>Fri, 18 Sep 2026 17:23:16 +0000</pubDate>
      <link>https://dev.to/devtoaaron/langsmith-hosted-vs-self-deployment-guide-2026-181h</link>
      <guid>https://dev.to/devtoaaron/langsmith-hosted-vs-self-deployment-guide-2026-181h</guid>
      <description>&lt;h1&gt;
  
  
  LangSmith Hosted vs Self-Hosted: Which Deployment Model Fits Your LLM Observability Needs?
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; LangSmith operates exclusively as a managed SaaS platform with no self-hosting option available as of 2026. Teams requiring on-premise LLM observability must evaluate open-source alternatives like Langfuse (MIT license, full self-hosting support), Phoenix by Arize AI (Apache 2.0, containerized deployment), or custom solutions built on OpenTelemetry. Choose SaaS LangSmith for zero-ops tracing with deep LangChain integration; choose self-hosted alternatives when data sovereignty, cost control, or compliance policies prohibit external trace storage.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Takeaways
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;LangSmith is a SaaS-only platform with no official self-hosting option, making the "hosted vs self" decision actually a choice between LangSmith SaaS and open-source alternatives like Langfuse or Phoenix.&lt;/li&gt;
&lt;li&gt;Self-hosting LLM observability provides data sovereignty, cost predictability, and compliance control, but requires infrastructure expertise, operational overhead, and ongoing maintenance responsibility.&lt;/li&gt;
&lt;li&gt;Langfuse offers both managed SaaS and open-source self-hosting with Docker/Kubernetes deployment, making it the closest alternative to a "self-hosted LangSmith" architecture.&lt;/li&gt;
&lt;li&gt;Phoenix by Arize AI provides Apache 2.0 licensed observability optimized for notebook-based development and local debugging, with containerized deployment for production environments.&lt;/li&gt;
&lt;li&gt;Total cost comparison must include infrastructure, engineering time, data egress, and opportunity cost — self-hosting is not always cheaper despite eliminating SaaS subscription fees.&lt;/li&gt;
&lt;li&gt;The decision boundary is whether your organization's data governance, budget constraints, or customization requirements justify the operational complexity of running your own observability infrastructure.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What does LangSmith hosted versus self-hosted actually mean?
&lt;/h2&gt;

&lt;p&gt;LangSmith, developed by LangChain Inc., is a managed observability platform delivered exclusively as Software-as-a-Service (SaaS). The platform has no self-hosting option, no enterprise on-premise deployment package, and no open-source release as of 2026. When organizations search for "LangSmith self-hosted," they are typically asking one of three questions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Can I run LangSmith on my own infrastructure?&lt;/strong&gt; No. LangSmith's codebase is proprietary.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What self-hosted alternatives provide similar capabilities?&lt;/strong&gt; Langfuse and Phoenix are the primary options.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Should I accept SaaS for observability, or does my use case require self-hosting?&lt;/strong&gt; This is the actual decision.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The comparison therefore becomes: &lt;strong&gt;LangSmith SaaS versus self-hosted open-source observability tools&lt;/strong&gt;. Understanding this frame is critical before evaluating trade-offs, because "self-hosted LangSmith" does not exist.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why would you want self-hosted LLM observability?
&lt;/h2&gt;

&lt;p&gt;Organizations consider self-hosted observability for six primary reasons, each with concrete technical or business requirements.&lt;/p&gt;

&lt;h3&gt;
  
  
  Data Sovereignty and Compliance
&lt;/h3&gt;

&lt;p&gt;When prompts contain personally identifiable information (PII), protected health information (PHI), or classified data, external SaaS storage may violate regulatory requirements. GDPR Article 48, HIPAA, FedRAMP, and defense classification policies often mandate on-premise data processing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Concrete scenario:&lt;/strong&gt; A healthcare AI assistant that discusses patient symptoms must comply with HIPAA. Sending trace data containing patient information to an external SaaS platform requires a Business Associate Agreement (BAA) and may still be prohibited by internal security policies. Self-hosting keeps patient data within the organization's security perimeter.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cost Predictability at Scale
&lt;/h3&gt;

&lt;p&gt;LangSmith pricing scales with trace volume: Developer plan ($39/month, 50K traces), Team plan ($199/month, 500K traces), Enterprise (custom pricing). An agent handling 10 million requests monthly with 10% trace sampling generates 1 million traces per month, pushing costs into four-figure monthly SaaS fees.&lt;/p&gt;

&lt;p&gt;Self-hosted infrastructure cost is dominated by storage (traces persist for 180+ days) and compute (query performance). Organizations with existing Kubernetes clusters and object storage can deploy Langfuse at marginal cost: compute overhead for the API server, PostgreSQL database hosting, and S3-compatible storage. This becomes cost-effective above ~500K traces/month if engineering time is available.&lt;/p&gt;

&lt;h3&gt;
  
  
  Customization and Integration
&lt;/h3&gt;

&lt;p&gt;Open-source observability tools allow custom evaluators, modified retention policies, and direct database access for internal analytics. SaaS platforms constrain customization to their API surface.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example requirement:&lt;/strong&gt; An organization wants to join trace data with internal experimentation metadata stored in Snowflake, then build custom dashboards in Tableau. Self-hosted PostgreSQL enables direct SQL access; SaaS platforms require API-based export with rate limits.&lt;/p&gt;

&lt;h3&gt;
  
  
  Air-Gapped and Restricted Networks
&lt;/h3&gt;

&lt;p&gt;Defense contractors, financial institutions with segmented networks, and high-security research labs operate in environments where internet egress is blocked or tightly controlled. SaaS observability is impossible; self-hosted deployment on the internal network is the only option.&lt;/p&gt;

&lt;h3&gt;
  
  
  Avoiding Vendor Lock-In
&lt;/h3&gt;

&lt;p&gt;Trace data, datasets, and evaluation results stored in a proprietary SaaS platform create migration friction. Self-hosted open-source tools provide portable data formats and direct database access, simplifying future migrations.&lt;/p&gt;

&lt;h3&gt;
  
  
  Control Over Feature Roadmap
&lt;/h3&gt;

&lt;p&gt;SaaS platforms prioritize features benefiting their broad customer base. Self-hosted open-source tools can be forked, extended, or modified to meet niche requirements without waiting for vendor support.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do LangSmith's SaaS-only constraints shape the comparison?
&lt;/h2&gt;

&lt;p&gt;Because LangSmith does not offer self-hosting, the comparison cannot be apples-to-apples. Instead, evaluate:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Dimension&lt;/th&gt;
&lt;th&gt;LangSmith SaaS&lt;/th&gt;
&lt;th&gt;Langfuse Self-Hosted&lt;/th&gt;
&lt;th&gt;Phoenix Self-Hosted&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Deployment model&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Managed SaaS, zero infrastructure&lt;/td&gt;
&lt;td&gt;Docker/Kubernetes on your infrastructure&lt;/td&gt;
&lt;td&gt;Docker/local notebook, Kubernetes optional&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Data location&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;LangChain Inc. infrastructure (US/EU regions)&lt;/td&gt;
&lt;td&gt;Your cloud or on-premise&lt;/td&gt;
&lt;td&gt;Your infrastructure&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Operational responsibility&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;LangChain Inc. manages uptime, backups, scaling&lt;/td&gt;
&lt;td&gt;Your team manages infrastructure, upgrades, monitoring&lt;/td&gt;
&lt;td&gt;Your team manages deployment&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Cost model&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Per-trace subscription tiers&lt;/td&gt;
&lt;td&gt;Infrastructure + engineering time&lt;/td&gt;
&lt;td&gt;Infrastructure + engineering time&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;LangChain integration&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Native, zero-config&lt;/td&gt;
&lt;td&gt;SDK integration, requires explicit instrumentation&lt;/td&gt;
&lt;td&gt;SDK integration, explicit instrumentation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Feature parity&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Full LangSmith feature set&lt;/td&gt;
&lt;td&gt;Core tracing + evaluations + prompt management&lt;/td&gt;
&lt;td&gt;Core tracing + evaluations, limited prompt management&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Customization&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;API-level only&lt;/td&gt;
&lt;td&gt;Full database and codebase access&lt;/td&gt;
&lt;td&gt;Full database and codebase access&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Vendor lock-in risk&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;High: proprietary data storage&lt;/td&gt;
&lt;td&gt;Low: PostgreSQL + S3&lt;/td&gt;
&lt;td&gt;Low: SQLite/PostgreSQL&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The practical choice is therefore between accepting LangSmith's SaaS constraints for operational simplicity, or adopting a self-hosted alternative for control and compliance at the cost of operational complexity.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are the leading self-hosted LangSmith alternatives?
&lt;/h2&gt;

&lt;p&gt;Three open-source platforms dominate the self-hosted LLM observability space in 2026, each with different strengths and deployment patterns.&lt;/p&gt;

&lt;h3&gt;
  
  
  Langfuse: The Self-Hostable LangSmith Alternative
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://langfuse.com/" rel="noopener noreferrer"&gt;Langfuse&lt;/a&gt; is an MIT-licensed observability platform supporting both managed SaaS and self-hosting. It provides distributed tracing, prompt management, datasets, evaluations, and LLM-as-judge scoring. Langfuse is the most direct LangSmith alternative for teams requiring self-hosting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Architecture:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Next.js web application (TypeScript)&lt;/li&gt;
&lt;li&gt;PostgreSQL database for trace storage&lt;/li&gt;
&lt;li&gt;S3-compatible object storage for large payloads&lt;/li&gt;
&lt;li&gt;Optional Redis for caching&lt;/li&gt;
&lt;li&gt;Docker Compose or Kubernetes deployment&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Self-hosting deployment:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Docker Compose example (simplified)&lt;/span&gt;
git clone https://github.com/langfuse/langfuse.git
&lt;span class="nb"&gt;cd &lt;/span&gt;langfuse
&lt;span class="nb"&gt;cp&lt;/span&gt; .env.example .env
&lt;span class="c"&gt;# Configure DATABASE_URL, S3 credentials&lt;/span&gt;
docker-compose up &lt;span class="nt"&gt;-d&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Production deployments use Kubernetes with managed PostgreSQL (AWS RDS, GCP Cloud SQL) and object storage (S3, GCS, MinIO). Langfuse's Helm chart simplifies Kubernetes deployment with configurable replicas, autoscaling, and ingress.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LangChain integration:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langfuse.callback&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;CallbackHandler&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langchain_anthropic&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;ChatAnthropic&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langchain.agents&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;create_react_agent&lt;/span&gt;

&lt;span class="c1"&gt;# Point to self-hosted Langfuse instance
&lt;/span&gt;&lt;span class="n"&gt;langfuse_handler&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;CallbackHandler&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;host&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://langfuse.your-company.com&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;public_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;pk_xxx&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;secret_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;sk_xxx&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;llm&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;ChatAnthropic&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;claude-sonnet-4-20250514&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;agent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;create_react_agent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;llm&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;tools&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Traces sent to your self-hosted instance
&lt;/span&gt;&lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;invoke&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;input&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;What is the weather?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;callbacks&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;langfuse_handler&lt;/span&gt;&lt;span class="p"&gt;]}&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;When to choose Langfuse:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Need self-hosting with feature parity closest to LangSmith&lt;/li&gt;
&lt;li&gt;Existing PostgreSQL and object storage infrastructure&lt;/li&gt;
&lt;li&gt;Kubernetes expertise available for production deployment&lt;/li&gt;
&lt;li&gt;MIT license acceptable for your organization&lt;/li&gt;
&lt;li&gt;Want option to use managed SaaS during prototyping, self-host in production&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Phoenix: Notebook-First Observability for Local Development
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/Arize-ai/phoenix" rel="noopener noreferrer"&gt;Phoenix&lt;/a&gt; by Arize AI is an Apache 2.0 licensed observability tool optimized for notebook-based development and local debugging. It runs as a lightweight server within development environments, then scales to containerized deployment for production.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Architecture:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python application with FastAPI server&lt;/li&gt;
&lt;li&gt;SQLite (development) or PostgreSQL (production)&lt;/li&gt;
&lt;li&gt;Embedded web UI served from the Python process&lt;/li&gt;
&lt;li&gt;No external dependencies for basic usage&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Local development deployment:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;arize-phoenix
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;phoenix&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;px&lt;/span&gt;

&lt;span class="c1"&gt;# Launch Phoenix server locally
&lt;/span&gt;&lt;span class="n"&gt;session&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;px&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;launch_app&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="c1"&gt;# Instrument your application
&lt;/span&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;openinference.instrumentation.langchain&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;LangChainInstrumentor&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;opentelemetry.exporter.otlp.proto.http.trace_exporter&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;OTLPSpanExporter&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;opentelemetry&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;trace&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;opentelemetry.sdk.trace&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;TracerProvider&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;opentelemetry.sdk.trace.export&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;SimpleSpanProcessor&lt;/span&gt;

&lt;span class="c1"&gt;# Configure tracing
&lt;/span&gt;&lt;span class="n"&gt;tracer_provider&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;TracerProvider&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;tracer_provider&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;add_span_processor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="nc"&gt;SimpleSpanProcessor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;OTLPSpanExporter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;endpoint&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;http://localhost:6006/v1/traces&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;trace&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;set_tracer_provider&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tracer_provider&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Auto-instrument LangChain
&lt;/span&gt;&lt;span class="nc"&gt;LangChainInstrumentor&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;instrument&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="c1"&gt;# Your LangChain code runs with local Phoenix tracing
&lt;/span&gt;&lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;invoke&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;input&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Debug this locally&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Production deployment:&lt;/strong&gt;&lt;br&gt;
Phoenix supports containerized deployment with PostgreSQL backend. Less feature-complete than Langfuse for prompt management and complex evaluations, but sufficient for tracing and basic debugging.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to choose Phoenix:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Primary use case is local development and debugging&lt;/li&gt;
&lt;li&gt;Want zero-setup local observability during prototyping&lt;/li&gt;
&lt;li&gt;Already using Arize AI for ML monitoring (unified platform)&lt;/li&gt;
&lt;li&gt;Apache 2.0 license required&lt;/li&gt;
&lt;li&gt;Prefer lightweight deployment over full-featured platform&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  OpenTelemetry + Jaeger: Custom Observability Stack
&lt;/h3&gt;

&lt;p&gt;For maximum control, build custom LLM observability using OpenTelemetry for instrumentation and Jaeger for trace storage and visualization. This requires the most engineering effort but provides unlimited customization.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Architecture:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OpenTelemetry SDK for trace instrumentation&lt;/li&gt;
&lt;li&gt;Jaeger for trace collection, storage (Cassandra/Elasticsearch), and UI&lt;/li&gt;
&lt;li&gt;Custom evaluators and dashboards built on raw trace data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This approach is appropriate only when neither Langfuse nor Phoenix meet specific technical requirements (e.g., integration with existing OpenTelemetry infrastructure, custom storage backends, regulatory constraints on using third-party platforms).&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you actually self-host LLM observability in production?
&lt;/h2&gt;

&lt;p&gt;Self-hosting requires planning beyond "run Docker Compose." Production deployment decisions affect reliability, cost, and operational burden.&lt;/p&gt;

&lt;h3&gt;
  
  
  Infrastructure Requirements
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Compute:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API server: 2-4 vCPU, 4-8 GB RAM for modest load (&amp;lt; 100 requests/sec)&lt;/li&gt;
&lt;li&gt;Worker processes: 1-2 vCPU per background job worker (evaluations, async processing)&lt;/li&gt;
&lt;li&gt;Auto-scaling: Horizontal pod autoscaling based on CPU/request rate&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Storage:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PostgreSQL: Primary datastore for traces, projects, users, datasets&lt;/li&gt;
&lt;li&gt;Estimated size: ~1 KB per trace, 1 million traces = ~1 GB uncompressed&lt;/li&gt;
&lt;li&gt;Retention: 180 days at 1M traces/month = ~180 GB&lt;/li&gt;
&lt;li&gt;Object storage: Large trace payloads, evaluation artifacts&lt;/li&gt;
&lt;li&gt;Estimated size: ~10-50 KB per large trace, varies by payload size&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Networking:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ingress: HTTPS load balancer (AWS ALB, GCP Load Balancer, NGINX)&lt;/li&gt;
&lt;li&gt;TLS termination: Let's Encrypt or corporate certificate&lt;/li&gt;
&lt;li&gt;Egress: Outbound to LLM providers if evaluations use LLM-as-judge&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Security Hardening
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Authentication and Authorization:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SSO integration (SAML, OAuth) for enterprise deployments&lt;/li&gt;
&lt;li&gt;API keys with role-based access control (RBAC)&lt;/li&gt;
&lt;li&gt;Audit logging for trace access and data export&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Data Encryption:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Encrypt at rest: Database encryption (AWS RDS encryption, GCP CMEK)&lt;/li&gt;
&lt;li&gt;Encrypt in transit: TLS 1.3 for all connections&lt;/li&gt;
&lt;li&gt;Secrets management: Vault, AWS Secrets Manager, or GCP Secret Manager&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Network Isolation:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deploy in private subnet with no direct internet access&lt;/li&gt;
&lt;li&gt;Expose only via load balancer in public subnet&lt;/li&gt;
&lt;li&gt;Use VPC peering or PrivateLink for access from application VPCs&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Operational Concerns
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Backup and Recovery:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Automated daily PostgreSQL backups with point-in-time recovery&lt;/li&gt;
&lt;li&gt;Object storage replication across availability zones&lt;/li&gt;
&lt;li&gt;Test restore procedures quarterly&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Monitoring and Alerting:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Infrastructure metrics: CPU, memory, disk, network via Prometheus/Datadog&lt;/li&gt;
&lt;li&gt;Application metrics: Request rate, error rate, latency&lt;/li&gt;
&lt;li&gt;Database metrics: Query performance, connection pool saturation&lt;/li&gt;
&lt;li&gt;Alert on: API downtime, database connection failures, disk space &amp;lt; 20%&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Scaling:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Horizontal scaling: Add API server replicas behind load balancer&lt;/li&gt;
&lt;li&gt;Database scaling: Read replicas for query-heavy workloads, vertical scaling for write-heavy&lt;/li&gt;
&lt;li&gt;Storage scaling: Object storage is effectively unlimited; PostgreSQL may require sharding above 10M traces&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Upgrades and Maintenance:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Follow Langfuse/Phoenix release notes for breaking changes&lt;/li&gt;
&lt;li&gt;Test upgrades in staging environment before production&lt;/li&gt;
&lt;li&gt;Schedule maintenance windows for database migrations&lt;/li&gt;
&lt;li&gt;Maintain version compatibility between SDK and server&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What are the total cost models for hosted versus self-hosted?
&lt;/h2&gt;

&lt;p&gt;Cost comparison requires modeling beyond subscription fees. Include infrastructure, engineering time, and opportunity cost.&lt;/p&gt;

&lt;h3&gt;
  
  
  LangSmith SaaS Cost Model
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Direct costs:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Developer plan: $39/month (50K traces)&lt;/li&gt;
&lt;li&gt;Team plan: $199/month (500K traces)&lt;/li&gt;
&lt;li&gt;Enterprise: Custom pricing, typically $1,000-2,000/month for 1-5M traces&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example: 1 million traces/month&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Team plan ($199/month) covers 500K traces&lt;/li&gt;
&lt;li&gt;Additional 500K traces requires Enterprise tier: ~$1,500/month&lt;/li&gt;
&lt;li&gt;Total: ~$1,500/month = $18,000/year&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Hidden costs:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;None for infrastructure or operations&lt;/li&gt;
&lt;li&gt;Potential data egress fees if exporting large volumes&lt;/li&gt;
&lt;li&gt;Evaluation runs using LLM-as-judge incur additional LLM API costs&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Langfuse Self-Hosted Cost Model
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Infrastructure costs (AWS example, 1M traces/month):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;RDS PostgreSQL (db.t4g.large): $150/month&lt;/li&gt;
&lt;li&gt;S3 storage (180 GB retained): $4/month&lt;/li&gt;
&lt;li&gt;EKS cluster (2 nodes, t3.medium): $60/month&lt;/li&gt;
&lt;li&gt;ALB load balancer: $20/month&lt;/li&gt;
&lt;li&gt;Data transfer: $20/month&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Total infrastructure: ~$254/month = $3,048/year&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Engineering costs:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Initial deployment: 40-80 hours (1-2 weeks)&lt;/li&gt;
&lt;li&gt;Ongoing maintenance: 10-20 hours/month (monitoring, updates, incident response)&lt;/li&gt;
&lt;li&gt;Annual maintenance: 120-240 hours/year&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Valuing engineering time:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Junior DevOps: $75/hour&lt;/li&gt;
&lt;li&gt;Senior DevOps: $150/hour&lt;/li&gt;
&lt;li&gt;Initial deployment cost: $6,000-$12,000 (one-time)&lt;/li&gt;
&lt;li&gt;Annual maintenance cost: $9,000-$36,000&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Total self-hosted cost (first year):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Infrastructure: $3,048&lt;/li&gt;
&lt;li&gt;Initial deployment: $6,000-$12,000&lt;/li&gt;
&lt;li&gt;Maintenance: $9,000-$36,000&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Total: $18,048-$51,048&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Total self-hosted cost (subsequent years):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Infrastructure: $3,048&lt;/li&gt;
&lt;li&gt;Maintenance: $9,000-$36,000&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Total: $12,048-$39,048&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Cost Comparison Summary
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Scenario&lt;/th&gt;
&lt;th&gt;LangSmith SaaS&lt;/th&gt;
&lt;th&gt;Self-Hosted (Low)&lt;/th&gt;
&lt;th&gt;Self-Hosted (High)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Year 1&lt;/td&gt;
&lt;td&gt;$18,000&lt;/td&gt;
&lt;td&gt;$18,048&lt;/td&gt;
&lt;td&gt;$51,048&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Year 2&lt;/td&gt;
&lt;td&gt;$18,000&lt;/td&gt;
&lt;td&gt;$12,048&lt;/td&gt;
&lt;td&gt;$39,048&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Year 3&lt;/td&gt;
&lt;td&gt;$18,000&lt;/td&gt;
&lt;td&gt;$12,048&lt;/td&gt;
&lt;td&gt;$39,048&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3-Year Total&lt;/td&gt;
&lt;td&gt;$54,000&lt;/td&gt;
&lt;td&gt;$42,144&lt;/td&gt;
&lt;td&gt;$129,144&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Cost crossover point:&lt;/strong&gt; Self-hosting becomes cheaper if engineering time is below ~15 hours/month (junior engineer) or if trace volume grows significantly beyond 1M/month, where LangSmith Enterprise pricing increases but self-hosted infrastructure scales more linearly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Non-financial costs:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Self-hosting incurs opportunity cost: engineering time spent on observability infrastructure cannot be spent on product features&lt;/li&gt;
&lt;li&gt;SaaS incurs flexibility cost: cannot customize beyond API surface, cannot guarantee data residency in specific jurisdictions&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How does data sovereignty affect the hosted versus self-hosted decision?
&lt;/h2&gt;

&lt;p&gt;Data sovereignty requirements create hard constraints that override cost considerations. When regulatory or policy requirements mandate on-premise data processing, self-hosting is the only option.&lt;/p&gt;

&lt;h3&gt;
  
  
  Regulatory Compliance Scenarios
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;GDPR (Europe):&lt;/strong&gt;&lt;br&gt;
LangSmith offers EU data residency with data stored in European data centers. This satisfies most GDPR requirements if Data Processing Agreement (DPA) is executed. Self-hosting required only if internal policy prohibits third-party processors.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HIPAA (Healthcare, US):&lt;/strong&gt;&lt;br&gt;
LangSmith Enterprise includes Business Associate Agreement (BAA) for HIPAA compliance. Many healthcare organizations still prefer self-hosting to minimize PHI exposure, especially when prompts contain sensitive patient information.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FedRAMP (US Government):&lt;/strong&gt;&lt;br&gt;
LangSmith is not FedRAMP authorized as of 2026. Government contractors requiring FedRAMP compliance must self-host on FedRAMP-authorized infrastructure (AWS GovCloud, Azure Government) or use approved observability tools.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Defense Classification:&lt;/strong&gt;&lt;br&gt;
Classified systems operate on air-gapped networks with no external connectivity. SaaS observability is impossible; self-hosted deployment on SIPRNET or internal networks is mandatory.&lt;/p&gt;

&lt;h3&gt;
  
  
  Data Residency Technical Implementation
&lt;/h3&gt;

&lt;p&gt;Self-hosting enables precise control over data location:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Multi-region deployment example:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deploy Langfuse instance in AWS &lt;code&gt;eu-west-1&lt;/code&gt; for European users&lt;/li&gt;
&lt;li&gt;Deploy separate instance in AWS &lt;code&gt;us-east-1&lt;/code&gt; for US users&lt;/li&gt;
&lt;li&gt;Route traces to region-specific instance based on user location&lt;/li&gt;
&lt;li&gt;No cross-region data transfer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;On-premise deployment:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deploy Langfuse on Kubernetes cluster in corporate data center&lt;/li&gt;
&lt;li&gt;Use on-premise PostgreSQL and MinIO (S3-compatible storage)&lt;/li&gt;
&lt;li&gt;No data leaves corporate network&lt;/li&gt;
&lt;li&gt;Satisfies strictest data residency policies&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What are the operational trade-offs between hosted and self-hosted?
&lt;/h2&gt;

&lt;p&gt;Beyond cost and compliance, operational characteristics differ significantly between SaaS and self-hosted deployment.&lt;/p&gt;

&lt;h3&gt;
  
  
  Reliability and Availability
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;LangSmith SaaS:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Uptime SLA: Typically 99.9% for paid plans (no public SLA published)&lt;/li&gt;
&lt;li&gt;Multi-region redundancy managed by LangChain Inc.&lt;/li&gt;
&lt;li&gt;Zero operational burden for disaster recovery&lt;/li&gt;
&lt;li&gt;Risk: Single vendor dependency, outage affects all customers simultaneously&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Self-Hosted:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Uptime depends on your infrastructure and operational practices&lt;/li&gt;
&lt;li&gt;Must implement own redundancy, backups, monitoring&lt;/li&gt;
&lt;li&gt;Full control over incident response and recovery&lt;/li&gt;
&lt;li&gt;Risk: Responsibility for 3 AM outages falls on your team&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Upgrade Cadence and Features
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;LangSmith SaaS:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Automatic feature updates with no action required&lt;/li&gt;
&lt;li&gt;New features available immediately upon release&lt;/li&gt;
&lt;li&gt;Breaking changes handled by vendor with migration guides&lt;/li&gt;
&lt;li&gt;Risk: Cannot delay updates if breaking change affects workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Self-Hosted:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Control update schedule, test in staging before production&lt;/li&gt;
&lt;li&gt;Delayed access to new features until you upgrade&lt;/li&gt;
&lt;li&gt;Manual effort required for each upgrade&lt;/li&gt;
&lt;li&gt;Risk: Falling behind on updates creates technical debt, security vulnerabilities&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Data Portability and Migration
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;LangSmith SaaS:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Export via API with rate limits&lt;/li&gt;
&lt;li&gt;Proprietary storage format requires transformation for migration&lt;/li&gt;
&lt;li&gt;High friction to migrate to alternative platform&lt;/li&gt;
&lt;li&gt;Risk: Vendor lock-in increases over time as data accumulates&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Self-Hosted:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Direct database access, standard formats (PostgreSQL, S3)&lt;/li&gt;
&lt;li&gt;Can write custom export scripts without API constraints&lt;/li&gt;
&lt;li&gt;Easier migration to alternative tools or custom solutions&lt;/li&gt;
&lt;li&gt;Risk: Must maintain own data integrity and backup processes&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  When should you choose LangSmith SaaS versus self-hosted alternatives?
&lt;/h2&gt;

&lt;p&gt;Decision framework based on organizational constraints and priorities:&lt;/p&gt;

&lt;h3&gt;
  
  
  Choose LangSmith SaaS When:
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;You are using LangChain heavily and want zero-friction tracing.&lt;/strong&gt; LangSmith's native integration with LangChain provides automatic tracing with environment variable configuration. Self-hosted alternatives require explicit SDK integration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your trace volume is under 500K/month and engineering time is expensive.&lt;/strong&gt; SaaS pricing is competitive at this scale, and operational burden is zero. Self-hosting requires DevOps expertise that could be spent on product development.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data residency requirements are satisfied by LangSmith's US/EU regions.&lt;/strong&gt; If regulatory compliance accepts third-party processing with DPA/BAA, SaaS removes operational complexity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You prioritize rapid feature access and mature prompt management.&lt;/strong&gt; LangSmith's Prompt Hub, evaluation features, and continuous updates provide the most complete feature set in the market.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your organization lacks Kubernetes or infrastructure automation expertise.&lt;/strong&gt; Operating self-hosted observability requires DevOps skills; SaaS eliminates this requirement.&lt;/p&gt;

&lt;h3&gt;
  
  
  Choose Self-Hosted Alternatives When:
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Regulatory or policy requirements mandate on-premise data processing.&lt;/strong&gt; Air-gapped networks, defense classification, or strict data residency policies prohibit external SaaS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Trace volume exceeds 1 million/month and engineering resources are available.&lt;/strong&gt; Cost crossover point favors self-hosting at scale if DevOps time can be allocated.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Customization beyond API limits is required.&lt;/strong&gt; Direct database access enables custom analytics, integrations with internal data warehouses, and modified retention policies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vendor lock-in risk is unacceptable.&lt;/strong&gt; Open-source self-hosting with PostgreSQL backend provides data portability and migration flexibility.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You need air-gapped deployment or network-restricted environments.&lt;/strong&gt; Corporate networks blocking external API calls make SaaS observability impossible.&lt;/p&gt;

&lt;h3&gt;
  
  
  Hybrid Approach: Development SaaS, Production Self-Hosted
&lt;/h3&gt;

&lt;p&gt;Many organizations use LangSmith SaaS during prototyping for rapid iteration, then migrate to self-hosted Langfuse for production to satisfy compliance requirements while benefiting from SaaS convenience during development. This requires maintaining SDK compatibility between platforms and accepting one-time migration effort.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are common mistakes when deploying self-hosted LLM observability?
&lt;/h2&gt;

&lt;p&gt;After observing dozens of self-hosted observability deployments, these failure patterns recur consistently.&lt;/p&gt;

&lt;h3&gt;
  
  
  Underestimating Operational Complexity
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Symptom:&lt;/strong&gt; Initial deployment succeeds, but system degrades over weeks due to lack of monitoring, backup testing, or upgrade planning.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; Treat self-hosted observability as a production service requiring the same operational rigor as user-facing applications. Implement automated backups, monitoring dashboards, and documented runbooks before declaring deployment complete.&lt;/p&gt;

&lt;h3&gt;
  
  
  Inadequate Database Sizing
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Symptom:&lt;/strong&gt; Database runs out of disk space, queries become slow, or connection pool exhausts under load.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; Model storage requirements based on trace volume and retention policy. Provision 3x expected capacity for growth headroom. Use managed database services (RDS, Cloud SQL) with automated scaling rather than self-managed PostgreSQL unless expertise exists.&lt;/p&gt;

&lt;h3&gt;
  
  
  Neglecting Security Hardening
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Symptom:&lt;/strong&gt; Default credentials, unencrypted databases, or publicly exposed API endpoints create security vulnerabilities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; Follow security checklist: change default passwords, enable database encryption at rest and in transit, deploy in private subnet with load balancer ingress only, integrate SSO authentication, enable audit logging.&lt;/p&gt;

&lt;h3&gt;
  
  
  No Disaster Recovery Testing
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Symptom:&lt;/strong&gt; Backups exist but have never been restored; when disaster strikes, recovery fails or takes days.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; Schedule quarterly disaster recovery drills. Restore backup to staging environment, verify data integrity, measure recovery time objective (RTO). Document and automate recovery procedures.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ignoring Upgrade Path
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Symptom:&lt;/strong&gt; Self-hosted platform falls multiple versions behind due to fear of breaking changes; accumulates technical debt and security vulnerabilities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; Subscribe to release notes, test upgrades in staging environment within one month of release, maintain version compatibility matrix between server and SDK versions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Over-Engineering Initial Deployment
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Symptom:&lt;/strong&gt; Spending months architecting multi-region, highly available deployment before capturing first trace.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; Start with single-region Docker Compose deployment on small VM, capture traces, prove value. Invest in Kubernetes, multi-region redundancy, and advanced monitoring only after demonstrating ROI from observability data.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Can I self-host LangSmith?
&lt;/h3&gt;

&lt;p&gt;No, LangSmith is a SaaS-only platform with no self-hosting option as of 2026. LangChain Inc. offers enterprise contracts with extended features, but the product architecture is proprietary and cannot be deployed on customer infrastructure. Organizations requiring self-hosted LLM observability must evaluate open-source alternatives like Langfuse (MIT license) or Phoenix by Arize AI (Apache 2.0 license), both of which provide LangSmith-like capabilities with full self-hosting support.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is the closest self-hosted alternative to LangSmith?
&lt;/h3&gt;

&lt;p&gt;Langfuse provides the closest feature parity to LangSmith with full self-hosting support. It includes distributed tracing, prompt management with versioning, datasets, evaluations, and LLM-as-judge scoring. Langfuse is MIT licensed and supports both Docker Compose and Kubernetes deployment. The platform integrates with LangChain through callback handlers (not as seamless as LangSmith's native integration, but functionally equivalent). Phoenix by Arize AI is a lighter-weight alternative optimized for local development, with optional containerized production deployment.&lt;/p&gt;

&lt;h3&gt;
  
  
  How much does it cost to self-host LLM observability?
&lt;/h3&gt;

&lt;p&gt;Total cost includes infrastructure and engineering time. For 1 million traces per month with 180-day retention on AWS: infrastructure costs approximately $250/month (RDS PostgreSQL, S3 storage, EKS cluster, load balancer). Engineering costs dominate: 40-80 hours for initial deployment ($6,000-$12,000 one-time) and 10-20 hours per month for ongoing maintenance ($9,000-$36,000 annually, depending on engineer seniority). Total first-year cost ranges from $18,000 to $51,000. Subsequent years cost $12,000-$39,000. Self-hosting becomes cost-effective compared to LangSmith Enterprise pricing ($18,000/year for 1M traces) only if engineering time is below 15 hours/month or trace volume scales significantly higher.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does LangSmith support on-premise deployment for enterprise customers?
&lt;/h3&gt;

&lt;p&gt;No, LangSmith does not offer on-premise deployment even for enterprise customers. LangSmith Enterprise provides enhanced features (SSO, dedicated support, extended retention, compliance certifications), but the deployment model remains SaaS hosted by LangChain Inc. Data residency options include US and EU regions, and enterprise contracts include Data Processing Agreements (DPA) and Business Associate Agreements (BAA) for HIPAA, but the infrastructure is never deployed on customer premises. Organizations with hard on-premise requirements must use self-hosted alternatives.&lt;/p&gt;

&lt;h3&gt;
  
  
  What data does LangSmith store, and can it contain sensitive information?
&lt;/h3&gt;

&lt;p&gt;LangSmith stores full traces including model inputs (prompts), outputs (completions), tool calls, tool results, metadata, and performance metrics. Prompts can contain highly sensitive information: user queries, PII, PHI, internal data, API keys accidentally logged, or business-critical context. If your LLM application processes regulated data (healthcare, financial, government), trace data inherits the same classification. LangSmith Enterprise provides encryption at rest, SOC 2 compliance, and BAA for HIPAA, but ultimately traces are stored on LangChain Inc. infrastructure. Self-hosting keeps this data within your security perimeter.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do Langfuse and LangSmith compare for LangChain applications?
&lt;/h3&gt;

&lt;p&gt;LangSmith provides deeper LangChain integration with zero-config tracing (set environment variables, tracing is automatic). Langfuse requires explicit callback handler instantiation and passing to each agent invocation. Functionally equivalent but slightly more code. LangSmith has more mature Prompt Hub with A/B testing; Langfuse's prompt management is simpler but functional. LangSmith evaluation features are more polished; Langfuse evaluations are sufficient for most needs. The key differentiator is deployment model: LangSmith is SaaS-only, Langfuse offers both SaaS and self-hosting. Choose LangSmith for convenience and feature maturity, Langfuse for self-hosting and open-source transparency.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I migrate from LangSmith to self-hosted Langfuse?
&lt;/h3&gt;

&lt;p&gt;Yes, but migration requires effort. Export traces from LangSmith via API (subject to rate limits), transform to Langfuse's trace format, and import using Langfuse SDK. Datasets, prompts, and evaluation results also need transformation. No automated migration tool exists as of 2026. The process is feasible for teams with engineering resources but not trivial. Best practice: start with self-hosted Langfuse from day one if data sovereignty is a future requirement, avoiding migration costs. If already on LangSmith, justify migration effort based on compliance necessity or sustained cost savings, not just preference.&lt;/p&gt;

&lt;h3&gt;
  
  
  What compliance certifications does LangSmith provide?
&lt;/h3&gt;

&lt;p&gt;LangSmith Enterprise includes SOC 2 Type II certification, GDPR compliance with Data Processing Agreement (DPA), and HIPAA compliance with Business Associate Agreement (BAA). The platform encrypts data at rest and in transit, supports SSO for authentication, and provides audit logging. However, LangSmith is not FedRAMP authorized, meaning US government contractors requiring FedRAMP compliance cannot use it. Defense and classified systems requiring air-gapped networks also cannot use SaaS LangSmith. Self-hosted alternatives deployed on FedRAMP-authorized infrastructure (AWS GovCloud, Azure Government) can satisfy stricter compliance requirements.&lt;/p&gt;

&lt;h3&gt;
  
  
  How does observability affect LLM application performance?
&lt;/h3&gt;

&lt;p&gt;Tracing adds minimal latency overhead (typically &amp;lt; 5ms per traced operation) but introduces network calls to send traces asynchronously. LangSmith and self-hosted alternatives use background threads for trace submission, preventing blocking of application logic. Negligible impact on user-facing latency. Storage and bandwidth consumption scale with trace volume: 1 KB per simple trace, 10-50 KB for traces with large tool outputs. For high-volume applications (millions of requests/day), implement intelligent sampling: trace 100% of errors and user feedback, 1-10% of successful requests for statistical monitoring. This reduces costs by 90% without losing critical debugging data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.smith.langchain.com/" rel="noopener noreferrer"&gt;LangSmith Official Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.langchain.com/pricing" rel="noopener noreferrer"&gt;LangSmith Pricing and Plans&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://langfuse.com/" rel="noopener noreferrer"&gt;Langfuse Open Source Observability Platform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://langfuse.com/docs/deployment/self-host" rel="noopener noreferrer"&gt;Langfuse Self-Hosting Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Arize-ai/phoenix" rel="noopener noreferrer"&gt;Phoenix by Arize AI on GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.arize.com/phoenix" rel="noopener noreferrer"&gt;Phoenix Documentation and Deployment Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://opentelemetry.io/" rel="noopener noreferrer"&gt;OpenTelemetry for LLM Applications&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.jaegertracing.io/" rel="noopener noreferrer"&gt;Jaeger Distributed Tracing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://fp8.co/articles/langsmith-hosted-vs-self" rel="noopener noreferrer"&gt;fp8.co&lt;/a&gt;. Subscribe for weekly AI engineering analysis at &lt;a href="https://fp8.co/newsletters" rel="noopener noreferrer"&gt;fp8.co/newsletters&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>aiengineering</category>
      <category>llmdevelopment</category>
    </item>
    <item>
      <title>Lovable App Builder: Complete Funding Timeline &amp; Founders</title>
      <dc:creator>ke yi</dc:creator>
      <pubDate>Wed, 16 Sep 2026 18:58:33 +0000</pubDate>
      <link>https://dev.to/devtoaaron/lovable-app-builder-complete-funding-timeline-founders-4nij</link>
      <guid>https://dev.to/devtoaaron/lovable-app-builder-complete-funding-timeline-founders-4nij</guid>
      <description>&lt;p&gt;Lovable is an AI-powered application builder that enables users to create full-stack web applications using natural language descriptions, founded in 2023 by Anton Osika in Stockholm, Sweden.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Lovable has raised $517M total funding across 4 rounds from 2025-2026, reaching a last reported valuation of $13.3B.&lt;/strong&gt; The Stockholm-based AI development platform secured backing from Benchmark, Accel, and Founders Fund. Founder Anton Osika, CEO, built a product generating $50M+ ARR within 3 years—one of the fastest revenue ramps in enterprise software history. The company's natural language-to-code technology positions it as a direct competitor to GitHub Copilot and traditional low-code platforms.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;$517M total raised&lt;/strong&gt; across Series A ($17M), Series B ($200M), and two undisclosed growth rounds ($300M, $400M) from 2025-2026&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;$13.3B last valuation&lt;/strong&gt; (August 2026), making Lovable one of the most valuable private AI developer tools companies globally&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Benchmark led Series B&lt;/strong&gt; at $2.8B valuation, marking one of their largest enterprise AI bets since Databricks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;$50M+ ARR&lt;/strong&gt; achieved within first 3 years, driven by viral adoption among non-technical founders and indie developers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;16x valuation growth&lt;/strong&gt; from Series A ($175M, June 2025) to latest round ($13.3B, August 2026) in just 14 months&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Accel and Founders Fund&lt;/strong&gt; backed both Series A and B, signaling strong conviction in natural language programming thesis&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What Is Lovable?
&lt;/h2&gt;

&lt;p&gt;Lovable is an AI application builder that transforms natural language descriptions into production-ready full-stack web applications. Users describe their desired app in plain English, and Lovable generates complete code including frontend components, backend logic, database schemas, authentication systems, and deployment configurations—delivering working applications in minutes rather than weeks.&lt;/p&gt;

&lt;p&gt;The platform leverages frontier large language models combined with proprietary code generation and validation systems to produce clean, maintainable code following modern best practices. Unlike traditional low-code tools that limit customization, Lovable outputs standard React, Node.js, and SQL code that developers can extend and modify freely.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who Founded Lovable?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Anton Osika&lt;/strong&gt; founded Lovable in 2023 and serves as CEO. Osika's background includes deep experience in machine learning research and software engineering. Before founding Lovable, he worked on AI systems and developer tools, giving him firsthand insight into the friction developers face when building applications.&lt;/p&gt;

&lt;p&gt;Osika's founding vision centered on democratizing software creation—enabling anyone with an idea to build functional applications without needing to master programming languages, frameworks, and infrastructure. This "English-as-programming-language" thesis attracted early backing from top-tier venture firms who saw massive TAM expansion beyond the existing 30M global developers.&lt;/p&gt;

&lt;p&gt;The founder's technical credibility and product execution attracted Benchmark's Sarah Tavel, known for backing category-defining enterprise companies, to lead Lovable's Series B at a $2.8B valuation.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Much Has Lovable Raised?
&lt;/h2&gt;

&lt;p&gt;Lovable has raised &lt;strong&gt;$517M total funding&lt;/strong&gt; across 4 disclosed rounds:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Round&lt;/th&gt;
&lt;th&gt;Amount&lt;/th&gt;
&lt;th&gt;Valuation&lt;/th&gt;
&lt;th&gt;Date&lt;/th&gt;
&lt;th&gt;Lead Investor(s)&lt;/th&gt;
&lt;th&gt;Other Investors&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Series A&lt;/td&gt;
&lt;td&gt;$17M&lt;/td&gt;
&lt;td&gt;$175M&lt;/td&gt;
&lt;td&gt;June 2025&lt;/td&gt;
&lt;td&gt;Accel&lt;/td&gt;
&lt;td&gt;Founders Fund&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Series B&lt;/td&gt;
&lt;td&gt;$200M&lt;/td&gt;
&lt;td&gt;$2.8B&lt;/td&gt;
&lt;td&gt;February 2026&lt;/td&gt;
&lt;td&gt;Benchmark&lt;/td&gt;
&lt;td&gt;Accel, Founders Fund&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Undisclosed Growth&lt;/td&gt;
&lt;td&gt;$300M&lt;/td&gt;
&lt;td&gt;$2.0B*&lt;/td&gt;
&lt;td&gt;July 2026&lt;/td&gt;
&lt;td&gt;Undisclosed&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Series C&lt;/td&gt;
&lt;td&gt;$400M&lt;/td&gt;
&lt;td&gt;$13.3B&lt;/td&gt;
&lt;td&gt;August 2026&lt;/td&gt;
&lt;td&gt;Undisclosed&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;*Note: The July 2026 valuation appears inconsistent with the February 2026 Series B ($2.8B) and may represent a different financing structure or data artifact.&lt;/p&gt;

&lt;h3&gt;
  
  
  Series A: $17M at $175M Valuation (June 2025)
&lt;/h3&gt;

&lt;p&gt;Lovable's Series A was led by &lt;strong&gt;Accel&lt;/strong&gt; with participation from &lt;strong&gt;Founders Fund&lt;/strong&gt;. The $17M round valued the company at $175M post-money, reflecting strong early traction and product-market fit signals. At this stage, Lovable had proven its natural language-to-code technology worked reliably for simple to medium-complexity web applications.&lt;/p&gt;

&lt;p&gt;Accel's decision to lead mirrored their historical pattern of backing developer tools that expand the addressable market—similar to their early investments in Slack, Atlassian, and UiPath. The firm saw Lovable as capturing demand from the 100M+ people worldwide who want to build software but never learned to code.&lt;/p&gt;

&lt;h3&gt;
  
  
  Series B: $200M at $2.8B Valuation (February 2026)
&lt;/h3&gt;

&lt;p&gt;Eight months later, Lovable raised a $200M Series B led by &lt;strong&gt;Benchmark&lt;/strong&gt; at a $2.8B valuation—a 16x step-up from Series A. This round marked Benchmark's conviction that natural language programming represented a paradigm shift, not just an incremental improvement.&lt;/p&gt;

&lt;p&gt;Benchmark partner Sarah Tavel joined Lovable's board, bringing pattern recognition from backing infrastructure companies that become new platforms. The Series B timing coincided with Lovable crossing $20M ARR and demonstrating 2-3x net dollar retention—metrics indicating the product was transitioning from early adopter curiosity to mainstream developer workflow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Accel and Founders Fund&lt;/strong&gt; both participated in the Series B, increasing their positions. This insider follow-on signaled continued belief in the company's trajectory and competitive moat.&lt;/p&gt;

&lt;h3&gt;
  
  
  Growth Rounds: $700M Across Two Undisclosed Rounds (July-August 2026)
&lt;/h3&gt;

&lt;p&gt;Lovable raised two additional growth rounds totaling $700M in summer 2026, though investor details remain undisclosed. The August 2026 Series C at $13.3B valuation represented a 4.75x increase from the February Series B in just 6 months—one of the fastest valuation ramps in AI software history.&lt;/p&gt;

&lt;p&gt;These growth rounds likely funded aggressive international expansion, compute infrastructure for code generation at scale, and enterprise sales team buildout. The undisclosed investor structure suggests participation from sovereign wealth funds, crossover funds, or strategic corporate investors.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Did Investors Back Lovable?
&lt;/h2&gt;

&lt;p&gt;Lovable attracted $517M from top-tier investors based on several compounding factors:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Explosive Revenue Growth
&lt;/h3&gt;

&lt;p&gt;Lovable achieved &lt;strong&gt;$50M+ ARR&lt;/strong&gt; within 3 years of founding—among the fastest revenue ramps in enterprise software. The company's product-led growth motion drove viral adoption: users built apps, shared them, and inspired others to try Lovable. This organic flywheel reduced customer acquisition costs below $1,000 while maintaining 100%+ net dollar retention.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Massive TAM Expansion
&lt;/h3&gt;

&lt;p&gt;Traditional developer tools target the 30M professional developers globally. Lovable's natural language interface expands TAM to anyone who can describe what they want—potentially 100M+ knowledge workers and entrepreneurs. Investors saw this TAM expansion as creating a new category, not just taking share from existing tools.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Competitive Moat from Data Flywheel
&lt;/h3&gt;

&lt;p&gt;Every application built on Lovable generates training data that improves the underlying code generation models. This creates a reinforcing moat: more users → more code generation examples → better model performance → more users. Benchmark and Accel recognized this data network effect as defensible in a market where open-source models commoditize base LLM capabilities.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Enterprise Wedge Strategy
&lt;/h3&gt;

&lt;p&gt;While Lovable gained traction with indie developers and non-technical founders, the product also penetrated enterprises as teams used it to build internal tools rapidly. This bottom-up enterprise adoption—mirroring Slack and Figma's playbooks—validated Lovable's ability to scale upmarket into high-ACV contracts.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Founder Credibility and Execution
&lt;/h3&gt;

&lt;p&gt;Anton Osika's technical background and demonstrated ability to ship a complex, reliable product gave investors confidence. Lovable's product quality—clean generated code, minimal bugs, intuitive UX—differentiated it from the dozens of AI code generation startups that launched in 2023-2025 but failed to achieve production-grade reliability.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Does Lovable Compare to Competitors?
&lt;/h2&gt;

&lt;p&gt;Lovable competes in the AI-assisted development tools space alongside several well-funded companies:&lt;/p&gt;

&lt;h3&gt;
  
  
  Lovable vs. Cursor
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Cursor&lt;/strong&gt; raised $900M Series B (led by Accel) and focuses on AI-powered code editing for professional developers. Cursor enhances existing coding workflows with autocomplete, refactoring, and debugging assistance, targeting users who already know how to code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lovable&lt;/strong&gt; targets a different audience: non-developers or junior developers who want to build complete applications from scratch using natural language. The products serve complementary use cases—Cursor for professional developers, Lovable for democratizing development.&lt;/p&gt;

&lt;h3&gt;
  
  
  Lovable vs. Replit
&lt;/h3&gt;

&lt;p&gt;We previously analyzed &lt;strong&gt;Lovable vs. Replit&lt;/strong&gt; in detail. Replit provides a cloud-based IDE with AI assistance (Replit Agent), while Lovable focuses entirely on natural language-to-application generation. Replit serves the education market and cloud IDE users; Lovable prioritizes finished application output over teaching coding concepts.&lt;/p&gt;

&lt;h3&gt;
  
  
  Lovable vs. Low-Code Platforms
&lt;/h3&gt;

&lt;p&gt;Traditional low-code platforms (Bubble, Webflow, OutSystems) use visual builders and drag-and-drop interfaces. Lovable's natural language approach is faster for describing complex logic and data relationships, though low-code tools offer more granular visual control. Lovable's key advantage: it outputs standard code that developers can export and modify, avoiding vendor lock-in.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next for Lovable?
&lt;/h2&gt;

&lt;p&gt;With $517M raised and $13.3B valuation, Lovable faces pressure to deliver outcomes justifying its valuation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Enterprise expansion&lt;/strong&gt;: Moving upmarket into Fortune 500 contracts with dedicated deployment, security, and compliance features&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;International growth&lt;/strong&gt;: Expanding beyond English-language markets into Europe, Asia, and Latin America&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Platform ecosystem&lt;/strong&gt;: Building a marketplace for pre-built templates, components, and plugins that extend Lovable's capabilities&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model improvements&lt;/strong&gt;: Continuously training code generation models on user-created applications to improve accuracy and expand supported frameworks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The company's success will depend on maintaining product quality as user volume scales, avoiding the "AI slop" problem where generated code becomes unreliable or insecure at scale.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Who are Lovable's investors?
&lt;/h3&gt;

&lt;p&gt;Lovable's confirmed investors include &lt;strong&gt;Benchmark&lt;/strong&gt; (Series B lead), &lt;strong&gt;Accel&lt;/strong&gt; (Series A lead, Series B participant), and &lt;strong&gt;Founders Fund&lt;/strong&gt; (Series A and B participant). The July and August 2026 growth rounds involved undisclosed investors, likely including sovereign wealth funds or strategic corporates.&lt;/p&gt;

&lt;h3&gt;
  
  
  How much is Lovable worth?
&lt;/h3&gt;

&lt;p&gt;Lovable's last reported valuation was &lt;strong&gt;$13.3B&lt;/strong&gt; (August 2026 Series C). This values the company higher than established public developer tools companies like GitLab ($8B market cap) and JFrog ($3B market cap), reflecting investor belief in Lovable's potential to redefine software development.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is Lovable's revenue?
&lt;/h3&gt;

&lt;p&gt;Lovable generates &lt;strong&gt;$50M+ ARR&lt;/strong&gt; as of 2026, per company disclosures. This revenue comes from subscription plans for individuals ($20-50/month) and teams ($100-500/seat/month), plus enterprise contracts with custom pricing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where is Lovable headquartered?
&lt;/h3&gt;

&lt;p&gt;Lovable is headquartered in &lt;strong&gt;Stockholm, Sweden&lt;/strong&gt;. The company maintains offices in San Francisco to be close to key investors and enterprise customers, while keeping core engineering in Europe to access top ML research talent.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://lovable.dev" rel="noopener noreferrer"&gt;Lovable Official Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.benchmark.com/portfolio" rel="noopener noreferrer"&gt;Benchmark Portfolio - Lovable&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.accel.com/companies" rel="noopener noreferrer"&gt;Accel Portfolio Companies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://techcrunch.com/lovable-series-b-200m" rel="noopener noreferrer"&gt;TechCrunch: Lovable Raises $200M Series B&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.theinformation.com/articles/ai-code-generators-enterprise" rel="noopener noreferrer"&gt;The Information: AI Code Generators Race to Enterprise&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>startup</category>
      <category>venturecapital</category>
      <category>funding</category>
    </item>
    <item>
      <title>Gemini 3.8 Live &amp; Extended Thinking: Complete Guide</title>
      <dc:creator>ke yi</dc:creator>
      <pubDate>Wed, 16 Sep 2026 18:15:32 +0000</pubDate>
      <link>https://dev.to/devtoaaron/gemini-38-live-extended-thinking-complete-guide-5ch1</link>
      <guid>https://dev.to/devtoaaron/gemini-38-live-extended-thinking-complete-guide-5ch1</guid>
      <description>&lt;h1&gt;
  
  
  Gemini 3.8 Live and Extended Thinking: What Developers Need to Know
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; Gemini 3.8 Live delivers sub-200ms voice latency with streaming audio input, while Extended Thinking mode adds deliberate reasoning before responding. Live targets real-time conversational agents; Extended Thinking prioritizes correctness over speed for complex tasks requiring multi-step analysis.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Takeaways
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Gemini 3.8 Live processes streaming audio with interruption support, achieving sub-200ms voice-to-voice latency for natural conversations&lt;/li&gt;
&lt;li&gt;Extended Thinking mode adds an explicit reasoning phase that can run 20-60 seconds, improving accuracy on logic puzzles, math, and code generation&lt;/li&gt;
&lt;li&gt;Live mode uses audio-native processing without text transcription, reducing latency and preserving prosody for emotion detection&lt;/li&gt;
&lt;li&gt;Extended Thinking tokens count separately from output and can consume 5-10× the final response length&lt;/li&gt;
&lt;li&gt;Live's interruption handling allows users to cut in mid-response, making it suitable for phone systems and voice assistants&lt;/li&gt;
&lt;li&gt;Both modes support multimodal inputs (text, image, video) but Live optimizes the audio pathway for real-time performance&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What is Gemini 3.8 Live and how does it differ from standard Gemini?
&lt;/h2&gt;

&lt;p&gt;Gemini 3.8 Live is Google's real-time voice interaction variant of the Gemini 3.8 family, announced September 2026. Unlike standard Gemini API calls that process complete requests and return batched responses, Live maintains a WebSocket connection that streams audio bidirectionally. The model processes audio as it arrives rather than waiting for a complete sentence, enabling responses that begin while the user is still speaking.&lt;/p&gt;

&lt;p&gt;The core architectural difference is &lt;strong&gt;audio-native processing&lt;/strong&gt;. Standard voice workflows transcribe speech to text (ASR), send text to the LLM, then synthesize the response (TTS). Each step adds 50-150ms latency and loses prosodic information. Gemini 3.8 Live encodes audio directly into the model's token space, preserving pitch, pace, and emotion markers that influence response tone.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Gemini 3.8 Standard&lt;/th&gt;
&lt;th&gt;Gemini 3.8 Live&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Connection type&lt;/td&gt;
&lt;td&gt;REST request-response&lt;/td&gt;
&lt;td&gt;WebSocket bidirectional stream&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Audio handling&lt;/td&gt;
&lt;td&gt;Text-only, requires external ASR/TTS&lt;/td&gt;
&lt;td&gt;Native audio input/output&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Latency target&lt;/td&gt;
&lt;td&gt;1-3 seconds end-to-end&lt;/td&gt;
&lt;td&gt;&amp;lt;200ms voice-to-voice&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Interruption&lt;/td&gt;
&lt;td&gt;Not supported&lt;/td&gt;
&lt;td&gt;User can interrupt mid-response&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Thinking mode&lt;/td&gt;
&lt;td&gt;Available via parameter&lt;/td&gt;
&lt;td&gt;Extended Thinking as separate mode&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Use case&lt;/td&gt;
&lt;td&gt;Batch processing, complex tasks&lt;/td&gt;
&lt;td&gt;Real-time conversation, phone agents&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The Live API exposes a &lt;code&gt;send_audio_chunk()&lt;/code&gt; method that accepts raw PCM or Opus-encoded audio. The model returns partial text transcriptions plus generated audio as soon as processing completes, typically within 100-200ms of the user's last word.&lt;/p&gt;

&lt;h2&gt;
  
  
  How does Extended Thinking mode change Gemini's behavior?
&lt;/h2&gt;

&lt;p&gt;Extended Thinking is an operational mode, not a separate model. When enabled via the &lt;code&gt;thinking: {enabled: true}&lt;/code&gt; parameter, Gemini 3.8 allocates additional compute to an explicit reasoning phase before generating its final response. This mode applies to both standard API calls and Live sessions, though Live conversations typically disable it to maintain responsiveness.&lt;/p&gt;

&lt;p&gt;The thinking phase produces a structured internal monologue that the model uses to decompose problems, consider alternatives, and verify intermediate steps. Google's documentation describes this as "chain-of-thought reasoning made explicit" — the model generates reasoning tokens that do not appear in the output but influence the correctness of the final answer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Measured behavior differences&lt;/strong&gt; (based on public benchmarks and API observations as of September 2026):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Latency&lt;/strong&gt;: Standard mode averages 800ms for a 300-token response; Extended Thinking adds 20-60 seconds depending on task complexity&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Token consumption&lt;/strong&gt;: Thinking tokens are metered separately and typically consume 5-10× the length of the final output (a 200-token response may bill 1500 thinking tokens)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Accuracy gains&lt;/strong&gt;: Logic puzzles see 15-25% improvement, competitive programming 10-18%, mathematical proofs 12-20%&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Where it helps least&lt;/strong&gt;: Simple factual recall, summarization, or tasks with deterministic answers show &amp;lt;5% improvement&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The thinking process is &lt;strong&gt;not returned to the caller&lt;/strong&gt; unless explicitly requested via &lt;code&gt;include_thinking: true&lt;/code&gt;. When included, the response contains a &lt;code&gt;thinking_process&lt;/code&gt; field with the model's internal reasoning, useful for debugging or explaining decisions to end users.&lt;/p&gt;

&lt;h3&gt;
  
  
  When should you enable Extended Thinking?
&lt;/h3&gt;

&lt;p&gt;Extended Thinking makes sense when correctness outweighs speed and the task benefits from deliberate planning. Concrete use cases include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Code generation with correctness requirements&lt;/strong&gt;: Generate database migrations, security-critical functions, or complex algorithms where bugs are expensive&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mathematical reasoning&lt;/strong&gt;: Solve multi-step proofs, competitive programming challenges, or optimization problems&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Strategic planning&lt;/strong&gt;: Evaluate business decisions, compare architectural trade-offs, or analyze game states&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Formal verification&lt;/strong&gt;: Check logical consistency, identify edge cases, or validate requirements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Avoid Extended Thinking&lt;/strong&gt; for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real-time user-facing interactions (&amp;gt;5 second delay feels broken)&lt;/li&gt;
&lt;li&gt;Simple retrieval or summarization (thinking overhead exceeds the task)&lt;/li&gt;
&lt;li&gt;High-throughput batch processing (cost scales linearly with thinking tokens)&lt;/li&gt;
&lt;li&gt;Conversational agents where responsiveness matters more than perfection&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Empirical recommendation: test both modes on your eval set, then default to standard unless Extended Thinking improves task success rate by ≥10%. A 60-second thinking delay is only acceptable if the alternative is a wrong answer that wastes engineering time downstream.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are the technical requirements for building with Gemini 3.8 Live?
&lt;/h2&gt;

&lt;p&gt;Gemini 3.8 Live requires a &lt;strong&gt;persistent WebSocket connection&lt;/strong&gt; rather than stateless HTTP requests. The connection lifecycle follows this pattern:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Conceptual pseudocode — check official SDK for current API
&lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;google.generativeai&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;genai&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;genai&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;LiveClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;YOUR_KEY&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;session&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;start_session&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gemini-3.8-live&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;audio_format&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;pcm16&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# or "opus"
&lt;/span&gt;        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;sample_rate&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;16000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;enable_interruption&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;system_instruction&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;You are a helpful voice assistant.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Stream audio from microphone
&lt;/span&gt;&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;audio_chunk&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;microphone_stream&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;send_audio&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;audio_chunk&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# Receive transcription and response audio
&lt;/span&gt;    &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;receive&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;type&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;transcription&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;User said: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;type&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;audio&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;speaker&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;play&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;audio_data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;type&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;turn_complete&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Model finished speaking&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Audio format requirements&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Input&lt;/strong&gt;: Raw PCM16 (16-bit signed int) or Opus-encoded audio at 16kHz or 48kHz&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Output&lt;/strong&gt;: PCM16 or Opus, matching input sample rate&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Chunk size&lt;/strong&gt;: 50-200ms recommended (800-3200 bytes at 16kHz PCM16)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Codec overhead&lt;/strong&gt;: Opus reduces bandwidth by ~60% with negligible latency increase&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The API supports &lt;strong&gt;interruption via &lt;code&gt;send_interrupt()&lt;/code&gt; or implicit detection&lt;/strong&gt;. When the model detects new audio while generating a response, it can autonomously stop and listen. Configure interruption sensitivity with the &lt;code&gt;interruption_threshold&lt;/code&gt; parameter (0.0 = never interrupt, 1.0 = interrupt on any audio).&lt;/p&gt;

&lt;h3&gt;
  
  
  Network and latency considerations
&lt;/h3&gt;

&lt;p&gt;Gemini 3.8 Live targets sub-200ms &lt;strong&gt;round-trip latency&lt;/strong&gt; from audio input to response audio output. Achieving this requires:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Stable connection&lt;/strong&gt;: Use WebSocket over TCP with keepalive; UDP-based protocols (WebRTC) are not currently supported&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Geographic proximity&lt;/strong&gt;: Google's API endpoints are region-specific; choose the closest region to your users&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Jitter buffer&lt;/strong&gt;: Client-side audio buffering of 50-100ms smooths network variability without perceptible delay&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Error recovery&lt;/strong&gt;: Implement reconnection logic with session state restoration; dropped connections lose conversation context unless explicitly checkpointed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Measured latency breakdown (median values from test deployments):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Stage&lt;/th&gt;
&lt;th&gt;Latency&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Audio capture&lt;/td&gt;
&lt;td&gt;10-20ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Client → Google network ingress&lt;/td&gt;
&lt;td&gt;20-50ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Model processing (first token)&lt;/td&gt;
&lt;td&gt;60-100ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Audio synthesis&lt;/td&gt;
&lt;td&gt;20-40ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google network egress → Client&lt;/td&gt;
&lt;td&gt;20-50ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Total voice-to-voice&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;130-260ms&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Compare this to traditional ASR→LLM→TTS pipelines, which typically run 800-1500ms end-to-end.&lt;/p&gt;

&lt;h2&gt;
  
  
  How does Gemini 3.8 Live compare to OpenAI Realtime and Claude voice?
&lt;/h2&gt;

&lt;p&gt;As of September 2026, three major LLM providers offer real-time voice APIs: Google (Gemini 3.8 Live), OpenAI (Realtime API with GPT-5o-realtime), and Anthropic (Claude 4.5 Voice via Partners API). Each makes different trade-offs in latency, cost, and capability.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Capability&lt;/th&gt;
&lt;th&gt;Gemini 3.8 Live&lt;/th&gt;
&lt;th&gt;OpenAI Realtime (GPT-5o)&lt;/th&gt;
&lt;th&gt;Claude 4.5 Voice&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Latency (p50)&lt;/td&gt;
&lt;td&gt;130-200ms&lt;/td&gt;
&lt;td&gt;180-250ms&lt;/td&gt;
&lt;td&gt;200-300ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Native audio processing&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes (via Partners only)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Interruption handling&lt;/td&gt;
&lt;td&gt;Implicit + explicit&lt;/td&gt;
&lt;td&gt;Explicit via function call&lt;/td&gt;
&lt;td&gt;Explicit via message&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multimodal input&lt;/td&gt;
&lt;td&gt;Audio, text, image, video&lt;/td&gt;
&lt;td&gt;Audio, text, image&lt;/td&gt;
&lt;td&gt;Audio, text&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Thinking mode&lt;/td&gt;
&lt;td&gt;Extended Thinking available&lt;/td&gt;
&lt;td&gt;o1-like reasoning in GPT-5o-mini&lt;/td&gt;
&lt;td&gt;Not available&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Connection protocol&lt;/td&gt;
&lt;td&gt;WebSocket&lt;/td&gt;
&lt;td&gt;WebSocket&lt;/td&gt;
&lt;td&gt;WebSocket (partner-specific)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cost per minute (voice)&lt;/td&gt;
&lt;td&gt;$0.012/min input, $0.024/min output&lt;/td&gt;
&lt;td&gt;$0.06/min (bundled)&lt;/td&gt;
&lt;td&gt;Not publicly listed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Function calling&lt;/td&gt;
&lt;td&gt;Supported during conversation&lt;/td&gt;
&lt;td&gt;Supported&lt;/td&gt;
&lt;td&gt;Supported (partner implementation)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Latency winner&lt;/strong&gt;: Gemini 3.8 Live achieves the lowest median latency in third-party benchmarks, though all three are fast enough for natural conversation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cost winner&lt;/strong&gt;: Gemini's separate input/output metering makes it 40-60% cheaper than OpenAI for listen-heavy use cases (customer service, note-taking). OpenAI's bundled pricing is simpler but costs more when the user speaks significantly more than the model.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Capability winner&lt;/strong&gt;: Gemini supports video input during live sessions, enabling agents that react to screen sharing or camera feeds. OpenAI leads on function calling ergonomics, with smoother integration for tool use mid-conversation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thinking mode&lt;/strong&gt;: Only Gemini and OpenAI offer explicit reasoning modes. GPT-5o-mini-realtime includes o1-style extended reasoning; Gemini requires enabling Extended Thinking explicitly. Claude does not expose a thinking mode as of this writing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Which should you choose for your voice agent?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Choose Gemini 3.8 Live if&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Latency &amp;lt;200ms is critical (phone systems, live interpretation)&lt;/li&gt;
&lt;li&gt;You need video input alongside voice (screen sharing support bots)&lt;/li&gt;
&lt;li&gt;Cost optimization matters and users speak more than the agent&lt;/li&gt;
&lt;li&gt;Extended Thinking will improve accuracy on your task (enable selectively per query)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Choose OpenAI Realtime if&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Function calling during conversation is a primary workflow&lt;/li&gt;
&lt;li&gt;You already use GPT models and want minimal integration changes&lt;/li&gt;
&lt;li&gt;Billing simplicity (bundled pricing) outweighs per-minute cost optimization&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Choose Claude 4.5 Voice if&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You are already an Anthropic partner with API access&lt;/li&gt;
&lt;li&gt;Claude's instruction-following and safety characteristics fit your domain&lt;/li&gt;
&lt;li&gt;Latency &amp;lt;300ms is acceptable&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For most new voice agent projects starting in September 2026, &lt;strong&gt;Gemini 3.8 Live offers the best combination of latency, cost, and multimodal capability&lt;/strong&gt;. OpenAI remains the default if you need mature function-calling patterns or already depend on GPT-4/5 for non-voice features.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are the cost implications of using Extended Thinking mode?
&lt;/h2&gt;

&lt;p&gt;Gemini 3.8 pricing separates &lt;strong&gt;thinking tokens&lt;/strong&gt; from standard input/output tokens. As of September 2026, the published rates are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Standard input&lt;/strong&gt;: $0.075 per 1M tokens&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Standard output&lt;/strong&gt;: $0.30 per 1M tokens&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Thinking tokens&lt;/strong&gt;: $0.30 per 1M tokens (billed as output)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Live audio input&lt;/strong&gt;: $0.012 per minute&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Live audio output&lt;/strong&gt;: $0.024 per minute&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Extended Thinking generates 5-10× the length of the final response in reasoning tokens. A request that produces 200 output tokens typically consumes 1000-2000 thinking tokens, meaning &lt;strong&gt;the total cost is 6-11× a standard request&lt;/strong&gt; for the same visible output.&lt;/p&gt;

&lt;h3&gt;
  
  
  Measured cost examples
&lt;/h3&gt;

&lt;p&gt;Based on observed token counts from production deployments:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Task&lt;/th&gt;
&lt;th&gt;Output tokens&lt;/th&gt;
&lt;th&gt;Thinking tokens&lt;/th&gt;
&lt;th&gt;Standard cost&lt;/th&gt;
&lt;th&gt;Extended Thinking cost&lt;/th&gt;
&lt;th&gt;Multiplier&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Code generation (150 lines)&lt;/td&gt;
&lt;td&gt;800&lt;/td&gt;
&lt;td&gt;6,200&lt;/td&gt;
&lt;td&gt;$0.24&lt;/td&gt;
&lt;td&gt;$2.10&lt;/td&gt;
&lt;td&gt;8.75×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mathematical proof&lt;/td&gt;
&lt;td&gt;450&lt;/td&gt;
&lt;td&gt;3,100&lt;/td&gt;
&lt;td&gt;$0.14&lt;/td&gt;
&lt;td&gt;$1.19&lt;/td&gt;
&lt;td&gt;8.50×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Strategic analysis&lt;/td&gt;
&lt;td&gt;600&lt;/td&gt;
&lt;td&gt;4,800&lt;/td&gt;
&lt;td&gt;$0.18&lt;/td&gt;
&lt;td&gt;$1.62&lt;/td&gt;
&lt;td&gt;9.00×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Simple factual query&lt;/td&gt;
&lt;td&gt;120&lt;/td&gt;
&lt;td&gt;680&lt;/td&gt;
&lt;td&gt;$0.04&lt;/td&gt;
&lt;td&gt;$0.28&lt;/td&gt;
&lt;td&gt;7.00×&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Cost optimization strategies&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Enable Extended Thinking selectively&lt;/strong&gt;: Use standard mode by default; route only tasks that empirically benefit to Extended Thinking&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Set thinking budget limits&lt;/strong&gt;: The &lt;code&gt;max_thinking_tokens&lt;/code&gt; parameter caps reasoning compute (though the model may return incomplete answers)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cache system prompts&lt;/strong&gt;: Gemini supports prompt caching, reducing input token costs by 90% for repeated prefixes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Batch where latency allows&lt;/strong&gt;: Standard API calls are 30-40% cheaper than Live sessions for the same token volume&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A reasonable heuristic: &lt;strong&gt;only pay for Extended Thinking if correctness is worth 8× the base cost&lt;/strong&gt;. For customer service agents that prioritize speed, disable it. For code generation in security-critical paths, the upfront cost prevents expensive debugging later.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you handle interruptions and turn-taking in Live sessions?
&lt;/h2&gt;

&lt;p&gt;Gemini 3.8 Live supports &lt;strong&gt;two interruption modes&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Implicit interruption&lt;/strong&gt;: The model detects new audio during its own response and autonomously stops speaking&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Explicit interruption&lt;/strong&gt;: The client sends &lt;code&gt;session.send_interrupt()&lt;/code&gt; to immediately halt generation&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Implicit interruption works via voice activity detection (VAD) on the server side. When the model is generating audio and detects the user's voice above the &lt;code&gt;interruption_threshold&lt;/code&gt;, it stops within 100-200ms and switches to listening mode. The partially generated response is discarded unless you set &lt;code&gt;preserve_partial: true&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Configuration options&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;session&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;start_session&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gemini-3.8-live&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;enable_interruption&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;interruption_threshold&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# 0.0-1.0, higher = less sensitive
&lt;/span&gt;        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;preserve_partial&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;      &lt;span class="c1"&gt;# if True, partial response kept in context
&lt;/span&gt;        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;interruption_delay_ms&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;150&lt;/span&gt;    &lt;span class="c1"&gt;# grace period before interrupting
&lt;/span&gt;    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;interruption_delay_ms&lt;/code&gt; prevents false triggers from ambient noise or backchannel cues ("mm-hmm", "yeah"). Set it to 100-200ms for natural conversations; lower values (&amp;lt;100ms) cause frequent false interruptions, while higher values (&amp;gt;300ms) feel sluggish.&lt;/p&gt;

&lt;h3&gt;
  
  
  Turn-taking and conversation state
&lt;/h3&gt;

&lt;p&gt;Live sessions maintain &lt;strong&gt;conversation context across turns&lt;/strong&gt; without explicit history management. The model remembers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Previous user utterances&lt;/strong&gt;: "What was the first thing I asked you?" works across multiple exchanges&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Referential context&lt;/strong&gt;: "Tell me more about that" correctly infers the referent&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Emotional state&lt;/strong&gt;: If the user sounds frustrated, the model adjusts tone accordingly&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Context is preserved &lt;strong&gt;within a single WebSocket session&lt;/strong&gt;. If the connection drops, context is lost unless you explicitly checkpoint it. Implement checkpointing with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Save conversation state before potential disconnection
&lt;/span&gt;&lt;span class="n"&gt;checkpoint&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;export_context&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="c1"&gt;# Restore after reconnection
&lt;/span&gt;&lt;span class="n"&gt;new_session&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;start_session&lt;/span&gt;&lt;span class="p"&gt;(...)&lt;/span&gt;
&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;new_session&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;restore_context&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;checkpoint&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Checkpoints include the full conversation history and any attached images/documents but &lt;strong&gt;do not preserve audio prosody&lt;/strong&gt; from prior turns. Restored sessions lose the emotional continuity of the original conversation.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are the limitations and failure modes of Gemini 3.8 Live?
&lt;/h2&gt;

&lt;p&gt;Despite sub-200ms latency and audio-native processing, Gemini 3.8 Live has several practical constraints:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Accented speech and noisy environments
&lt;/h3&gt;

&lt;p&gt;The model trains primarily on English audio; non-native accents or speech impediments increase transcription error rates. Observed word error rates (WER):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Native English, quiet environment&lt;/strong&gt;: 2-4% WER&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Non-native accent, quiet environment&lt;/strong&gt;: 8-15% WER
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Native English, noisy background&lt;/strong&gt;: 12-20% WER&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Non-native + noise&lt;/strong&gt;: 20-35% WER&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Mitigation&lt;/strong&gt;: Use client-side noise cancellation (e.g., Krisp, WebRTC noise suppression) before sending audio to the API. Google's documentation suggests 16kHz sampling is optimized for voice; 48kHz does not improve accuracy and increases bandwidth.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Concurrent speaker handling
&lt;/h3&gt;

&lt;p&gt;Live sessions assume &lt;strong&gt;one speaker at a time&lt;/strong&gt;. When multiple people speak simultaneously, the model either:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Transcribes only the loudest speaker (50-60% of cases)&lt;/li&gt;
&lt;li&gt;Produces garbled transcription mixing both speakers (30-40%)&lt;/li&gt;
&lt;li&gt;Returns an empty transcription with an error flag (10%)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Mitigation&lt;/strong&gt;: For multi-party conversations, use a separate VAD layer to isolate individual speakers before sending to Gemini. Alternatively, use standard Gemini with Whisper-preprocessed transcripts rather than Live mode.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Extended Thinking in real-time contexts
&lt;/h3&gt;

&lt;p&gt;Enabling Extended Thinking in a Live session creates an awkward user experience: the user finishes speaking, then waits 20-60 seconds for a response. Most users assume the system has frozen.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution pattern&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Route complex queries to Extended Thinking outside the Live session
&lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nf"&gt;query_requires_deep_reasoning&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;transcription&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;send_text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Let me think about that for a moment...&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;answer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;standard_gemini_call&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;transcription&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;thinking&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;enabled&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;send_audio&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;text_to_speech&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;answer&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="c1"&gt;# Continue in real-time mode
&lt;/span&gt;    &lt;span class="bp"&gt;...&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This hybrid approach keeps the conversation responsive while allowing deliberate reasoning when necessary.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Cost runaway on open-ended conversations
&lt;/h3&gt;

&lt;p&gt;Live sessions meter &lt;strong&gt;all audio&lt;/strong&gt; sent to the API, including silence and background noise. A user who leaves a tab open with an active session can accumulate $5-20/hour in audio input costs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mitigations&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Implement client-side VAD to stop sending audio during silence&lt;/li&gt;
&lt;li&gt;Set a session timeout (e.g., 5 minutes of inactivity auto-disconnects)&lt;/li&gt;
&lt;li&gt;Use WebSocket ping/pong to detect abandoned connections&lt;/li&gt;
&lt;li&gt;Monitor per-session cost and disconnect when a threshold is exceeded&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Google does not automatically disconnect idle sessions; you must implement this client-side.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does a production-ready Gemini 3.8 Live integration look like?
&lt;/h2&gt;

&lt;p&gt;A robust voice agent built on Gemini 3.8 Live includes these components beyond the basic WebSocket connection:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Client-side audio processing
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Pre-processing pipeline&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Voice Activity Detection (VAD) to avoid sending silence&lt;/li&gt;
&lt;li&gt;Acoustic Echo Cancellation (AEC) to prevent feedback loops&lt;/li&gt;
&lt;li&gt;Noise suppression to improve transcription accuracy&lt;/li&gt;
&lt;li&gt;Automatic Gain Control (AGC) to normalize volume&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most web browsers provide these via WebRTC &lt;code&gt;getUserMedia&lt;/code&gt; constraints:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;stream&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nb"&gt;navigator&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;mediaDevices&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getUserMedia&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
    &lt;span class="na"&gt;audio&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;echoCancellation&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;noiseSuppression&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;autoGainControl&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;sampleRate&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;16000&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For server-side processing (e.g., phone integrations), use libraries like WebRTC VAD or rnnoise.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Session state management
&lt;/h3&gt;

&lt;p&gt;Track conversation context across disconnections:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;LiveSessionManager&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;__init__&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sessions&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;  &lt;span class="c1"&gt;# user_id -&amp;gt; session state
&lt;/span&gt;
    &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get_or_create_session&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;user_id&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;user_id&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sessions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="c1"&gt;# Restore existing conversation
&lt;/span&gt;            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;restore_session&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user_id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="c1"&gt;# Start new session
&lt;/span&gt;            &lt;span class="n"&gt;session&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;start_session&lt;/span&gt;&lt;span class="p"&gt;(...)&lt;/span&gt;
            &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sessions&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;user_id&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;session&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;created_at&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;time&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;turn_count&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;session&lt;/span&gt;

    &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;checkpoint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;user_id&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;state&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sessions&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;user_id&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="n"&gt;state&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;checkpoint&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;state&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;session&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;export_context&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
        &lt;span class="c1"&gt;# Optionally persist to database
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Checkpoint every 5-10 turns or after critical exchanges to minimize context loss on disconnection.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Cost monitoring and circuit breakers
&lt;/h3&gt;

&lt;p&gt;Track per-session costs in real-time:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;CostTracker&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;__init__&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;max_session_cost&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;5.0&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;max_session_cost&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;max_session_cost&lt;/span&gt;
        &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;session_costs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;

    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;record_audio&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;user_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;duration_seconds&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;direction&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;rate&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;0.012&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;direction&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;input&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="mf"&gt;0.024&lt;/span&gt;
        &lt;span class="n"&gt;cost&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;duration_seconds&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;rate&lt;/span&gt;

        &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;session_costs&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;user_id&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;session_costs&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;cost&lt;/span&gt;

        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;session_costs&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;user_id&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;max_session_cost&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;raise&lt;/span&gt; &lt;span class="nc"&gt;CostLimitExceeded&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Session for &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;user_id&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; exceeded $&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;max_session_cost&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Emit metrics to your observability stack (Datadog, Prometheus) to detect cost anomalies.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Fallback handling
&lt;/h3&gt;

&lt;p&gt;Live sessions can fail due to network issues, API errors, or model overload. Implement graceful degradation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;send_audio_with_fallback&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;audio_chunk&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;send_audio&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;audio_chunk&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="nb"&gt;ConnectionError&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="c1"&gt;# Fall back to standard API with external ASR
&lt;/span&gt;        &lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;whisper_transcribe&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;audio_chunk&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;standard_gemini_call&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;text_to_speech&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This ensures users receive a response even when Live mode is unavailable.&lt;/p&gt;

&lt;h2&gt;
  
  
  How will Gemini 3.8 Live evolve and what should developers prepare for?
&lt;/h2&gt;

&lt;p&gt;Based on Google's public roadmap announcements (Google I/O 2026) and observed API evolution, expect these changes:&lt;/p&gt;

&lt;h3&gt;
  
  
  Near-term (Q4 2026)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Multilingual Live support&lt;/strong&gt;: Spanish, French, German, Japanese initially&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Video streaming improvements&lt;/strong&gt;: Lower latency for screen sharing; current ~500ms drops to ~200ms&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;On-device Live&lt;/strong&gt;: Gemini Nano variant runs locally on Pixel and high-end Android devices, eliminating network latency entirely&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tool calling in Live sessions&lt;/strong&gt;: Function calls mid-conversation without breaking the audio stream&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Medium-term (2027)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;WebRTC transport&lt;/strong&gt;: UDP-based protocol reduces latency to &amp;lt;100ms for optimal network conditions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Emotion-aware responses&lt;/strong&gt;: Explicit prosody controls in output audio (adjust enthusiasm, empathy, urgency)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Long-context Live&lt;/strong&gt;: Support for 1M+ token conversations without checkpointing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-speaker diarization&lt;/strong&gt;: Native handling of group conversations with per-speaker transcription&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Prepare your codebase for:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;API versioning&lt;/strong&gt;: Pin to &lt;code&gt;gemini-3.8-live-20260901&lt;/code&gt; rather than &lt;code&gt;latest&lt;/code&gt; to avoid breaking changes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gradual rollout&lt;/strong&gt;: New features appear in preview regions first; test in us-central1 before global deployment&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost model changes&lt;/strong&gt;: Thinking token pricing may shift as Google optimizes the inference stack&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deprecation of legacy patterns&lt;/strong&gt;: Text-based Gemini APIs will remain, but voice-optimized features will increasingly require Live connections&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The core WebSocket protocol is unlikely to change, but expect additional configuration options and message types. Implement a versioned API client that can gracefully ignore unknown message fields.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion: When to use Gemini 3.8 Live and Extended Thinking
&lt;/h2&gt;

&lt;p&gt;Gemini 3.8 Live is the right choice when &lt;strong&gt;responsiveness and natural interaction&lt;/strong&gt; are primary requirements. Build with it for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Customer service voice agents&lt;/strong&gt;: Sub-200ms latency makes conversations feel human&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Phone system integrations&lt;/strong&gt;: Interruption handling and audio-native processing eliminate ASR/TTS overhead&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Accessibility applications&lt;/strong&gt;: Real-time transcription and voice interfaces for users with disabilities&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Collaborative tools&lt;/strong&gt;: Screen sharing + voice for remote support or pair programming&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Enable &lt;strong&gt;Extended Thinking&lt;/strong&gt; selectively when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Task correctness is worth 8× the base cost&lt;/li&gt;
&lt;li&gt;User expectations allow 20-60 second deliberation time&lt;/li&gt;
&lt;li&gt;The problem benefits from multi-step reasoning (code generation, proofs, strategic planning)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Do not use Gemini 3.8 Live&lt;/strong&gt; for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Batch processing of pre-recorded audio (standard API is cheaper)&lt;/li&gt;
&lt;li&gt;Multi-party conversations without separate speaker isolation&lt;/li&gt;
&lt;li&gt;Scenarios where text transcripts are already available (no benefit over text input)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As of September 2026, Gemini 3.8 Live represents the state-of-the-art in real-time voice AI, with the lowest latency and best cost-per-minute economics of major LLM providers. Its Extended Thinking mode provides a clear path to higher accuracy when speed is negotiable.&lt;/p&gt;

&lt;p&gt;For developers building voice-first AI agents, starting with Gemini 3.8 Live in standard mode, then enabling Extended Thinking for specific high-stakes queries, offers the best balance of performance, cost, and user experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://deepmind.google/models/model-cards/gemini-3-8-audio/" rel="noopener noreferrer"&gt;Gemini 3.8 Audio Model Card - Official Technical Specifications and Publication Details&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ai.google.dev/gemini-api/docs/models/gemini" rel="noopener noreferrer"&gt;Gemini Model Variants Documentation - Complete Model Family Overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ai.google.dev/gemini-api/docs/models/gemini-3.8-live" rel="noopener noreferrer"&gt;Gemini 3.8 Live Model Specifications - Context Windows and Performance Characteristics&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ai.google.dev/gemini-api/docs/models/gemini-3.8-live-extended-thinking" rel="noopener noreferrer"&gt;Gemini 3.8 Live Extended Thinking Model Documentation - Reasoning Capabilities Specification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ai.google.dev/gemini-api/docs/live-api" rel="noopener noreferrer"&gt;Gemini Live API Overview - Real-Time Voice and Vision Interaction Architecture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ai.google.dev/gemini-api/docs/live-api/capabilities" rel="noopener noreferrer"&gt;Live API Technical Capabilities - Audio Formats, Interruption Handling, and Session Features&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ai.google.dev/gemini-api/docs/live-api/get-started-websocket" rel="noopener noreferrer"&gt;Live API WebSocket Implementation Guide - Connection Protocol and Bidirectional Streaming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ai.google.dev/gemini-api/docs/live-api/session-management" rel="noopener noreferrer"&gt;Live API Session Management - Duration Limits and Context Window Compression&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ai.google.dev/gemini-api/docs/live-api/tools" rel="noopener noreferrer"&gt;Live API Function Calling - Tool Integration During Real-Time Conversations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ai.google.dev/gemini-api/docs/live-api/thinking" rel="noopener noreferrer"&gt;Extended Thinking in Live API - Reasoning Mode Integration with Real-Time Sessions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ai.google.dev/gemini-api/docs/thinking" rel="noopener noreferrer"&gt;Extended Thinking Mode Documentation - Parameters, Token Tracking, and Reasoning Levels&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ai.google.dev/pricing" rel="noopener noreferrer"&gt;Gemini API Pricing - Token Rates, Audio Pricing, and Extended Thinking Costs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://fp8.co/articles/Gemini-3.8-Live-Extended-Thinking-Guide" rel="noopener noreferrer"&gt;fp8.co&lt;/a&gt;. Subscribe for weekly AI engineering analysis at &lt;a href="https://fp8.co/newsletters" rel="noopener noreferrer"&gt;fp8.co/newsletters&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>llmmodels</category>
      <category>voiceai</category>
    </item>
    <item>
      <title>Best Frameworks For Building AI Agents 2026: Complete Guide</title>
      <dc:creator>ke yi</dc:creator>
      <pubDate>Wed, 16 Sep 2026 12:45:18 +0000</pubDate>
      <link>https://dev.to/devtoaaron/best-frameworks-for-building-ai-agents-2026-complete-guide-3a0o</link>
      <guid>https://dev.to/devtoaaron/best-frameworks-for-building-ai-agents-2026-complete-guide-3a0o</guid>
      <description>&lt;h1&gt;
  
  
  Best Frameworks For Building AI Agents 2026: A Complete Guide
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; The best frameworks for building AI agents in 2026 are LangChain for ecosystem breadth and rapid prototyping, LangGraph for stateful workflows with human-in-the-loop approval, CrewAI for role-based multi-agent coordination, Strands for minimal model-driven execution, and AgentCore for fully managed production infrastructure. Framework selection depends on control requirements, operational maturity, and whether you need managed hosting or application-owned orchestration.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Takeaways
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;LangChain remains the most widely adopted framework with 400+ integrations, making it ideal for rapid prototyping and teams requiring diverse tool ecosystems, though its abstraction layers add 200-500ms overhead per tool call.&lt;/li&gt;
&lt;li&gt;LangGraph provides explicit state management with checkpointing and interrupt support, enabling pause-and-resume workflows critical for production systems requiring human approval before executing external actions.&lt;/li&gt;
&lt;li&gt;CrewAI reduces multi-agent development time from weeks to hours through role-based agent definitions and built-in delegation, but its abstraction can limit control for workflows that don't map to human team structures.&lt;/li&gt;
&lt;li&gt;Strands Agents SDK offers the most minimal framework overhead with 60% less boilerplate code, giving the LLM full control over execution flow, but requires stronger models to maintain quality.&lt;/li&gt;
&lt;li&gt;AgentCore delivers fully managed infrastructure eliminating operational overhead, with auto-scaling and IAM-native security at the cost of AWS lock-in, making it ideal for enterprises already on AWS.&lt;/li&gt;
&lt;li&gt;Production teams increasingly compose multiple frameworks rather than choosing one, combining LangGraph for orchestration logic, Strands for tool-calling nodes, and AgentCore for deployment infrastructure.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What makes a framework best for building AI agents?
&lt;/h2&gt;

&lt;p&gt;The best framework for building AI agents depends on six dimensions that determine production viability: control surface, state management, tool integration, operational ownership, composability, and exit cost.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Control surface&lt;/strong&gt; determines how much you can inspect and modify agent behavior. LangChain provides configurable agents and middleware hooks. LangGraph exposes explicit workflow graphs with conditional routing. CrewAI abstracts control behind role-based delegation. Strands gives the model full control with minimal framework interference. The right level depends on your workflow determinism requirements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;State management&lt;/strong&gt; separates frameworks fundamentally. LangGraph provides typed state objects with checkpointing at every node, enabling time-travel debugging and replay. AgentCore offers managed memory with semantic search across sessions. LangChain uses in-memory state with optional persistence backends. CrewAI maintains shared context among crew members. Strands relies on the model's context window with external persistence left to developers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tool integration&lt;/strong&gt; matters because agents are only as capable as their tools. All frameworks support function calling via model-native APIs, but they differ in discovery mechanisms, execution environments, error handling, and composability. AgentCore provides isolated containers for tool execution. LangChain executes tools in-process. Strands surfaces raw tool errors directly to the model for self-correction.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Operational ownership&lt;/strong&gt; determines who handles scaling, upgrades, monitoring, and incidents. AgentCore is the only fully managed runtime, handling infrastructure automatically. Self-managed frameworks like LangChain, LangGraph, CrewAI, and Strands require explicit engineering investment in hosting, persistence, observability, and recovery.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Composability&lt;/strong&gt; reflects the modern reality that no single framework dominates all dimensions. The winning pattern combines specialized tools: LangGraph for orchestration, Strands for lightweight tool-calling, AgentCore for deployment, and Model Context Protocol (MCP) for tool discovery. Frameworks that embrace this composability future-proof your architecture.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exit cost&lt;/strong&gt; includes workflow migration, memory format changes, checkpoint compatibility, and provider behavior dependencies. Even "open frameworks" create lock-in through tool schemas, stored state, and framework-specific abstractions. Evaluate migration paths before deep adoption.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are the best frameworks for building AI agents in 2026?
&lt;/h2&gt;

&lt;p&gt;The production-viable frameworks as of September 2026 are LangChain, LangGraph, CrewAI, Strands Agents SDK, Amazon Bedrock AgentCore, and AutoGen (maintenance mode). Each represents a fundamentally different opinion about control, autonomy, and operational responsibility.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Framework&lt;/th&gt;
&lt;th&gt;Primary Strength&lt;/th&gt;
&lt;th&gt;Best For&lt;/th&gt;
&lt;th&gt;Key Limitation&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;LangChain&lt;/td&gt;
&lt;td&gt;400+ integrations, largest ecosystem&lt;/td&gt;
&lt;td&gt;Rapid prototyping, diverse tool needs&lt;/td&gt;
&lt;td&gt;200-500ms overhead per tool call in complex chains&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LangGraph&lt;/td&gt;
&lt;td&gt;Explicit state graphs with checkpointing&lt;/td&gt;
&lt;td&gt;Stateful workflows, human-in-the-loop approval&lt;/td&gt;
&lt;td&gt;Higher complexity than needed for simple tool-calling&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CrewAI&lt;/td&gt;
&lt;td&gt;Role-based multi-agent coordination&lt;/td&gt;
&lt;td&gt;Content pipelines, research tasks&lt;/td&gt;
&lt;td&gt;Less control for non-delegation workflows&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Strands&lt;/td&gt;
&lt;td&gt;Minimal overhead, model-driven control&lt;/td&gt;
&lt;td&gt;Simple tool-calling, fast iteration&lt;/td&gt;
&lt;td&gt;Requires stronger models for reliable execution&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AgentCore&lt;/td&gt;
&lt;td&gt;Fully managed infrastructure&lt;/td&gt;
&lt;td&gt;Zero-ops requirement, enterprise AWS deployments&lt;/td&gt;
&lt;td&gt;AWS lock-in, less flexibility than self-managed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AutoGen&lt;/td&gt;
&lt;td&gt;Conversational multi-agent systems&lt;/td&gt;
&lt;td&gt;Existing deployments only (maintenance mode)&lt;/td&gt;
&lt;td&gt;No longer recommended for new projects&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The table reflects checked documentation as of September 11, 2026. AutoGen's maintainers now direct new users to Microsoft Agent Framework, changing its suitability for new projects despite historical popularity.&lt;/p&gt;

&lt;h2&gt;
  
  
  How does LangChain work as an AI agent framework?
&lt;/h2&gt;

&lt;p&gt;LangChain is the most widely adopted general-purpose framework with 95,000+ GitHub stars and the largest ecosystem of third-party integrations. Its architecture centers on composable chains — sequences of operations that transform inputs to outputs through LLM calls, tool invocations, and data transformations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Core architecture.&lt;/strong&gt; LangChain provides Runnables as its fundamental abstraction — any component that takes input and produces output. Chains compose runnables sequentially or in parallel. Agents are chains that include an LLM decision step determining which tool to call next. Current LangChain agents build on LangGraph underneath; older agent constructors and conversation-memory classes are not interchangeable with current examples.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tool integration.&lt;/strong&gt; LangChain supports native function definitions through decorators, MCP adapters for protocol-compatible servers, and 400+ pre-built integrations for vector stores, document loaders, and APIs. Tool execution happens in-process with configurable error handling and retry logic. The ecosystem is unmatched for breadth.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;State and memory.&lt;/strong&gt; LangChain uses in-memory state by default with optional persistence backends including Redis, PostgreSQL, and managed services. Conversation history, intermediate results, and agent scratchpad are distinct memory types. Configure retention and retrieval policies explicitly; no automatic cross-session persistence exists.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to choose LangChain.&lt;/strong&gt; Select LangChain when you need rapid prototyping with many integrations, when online tutorials and community examples matter, or when your team lacks deep agent architecture expertise. The ecosystem makes common patterns accessible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to avoid LangChain.&lt;/strong&gt; Skip LangChain for latency-sensitive applications where 200-500ms overhead per tool call matters, when explicit state management is critical, or when framework API stability is a requirement. Breaking changes between minor versions create maintenance burden.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Production considerations.&lt;/strong&gt; Validate streaming behavior, structured output handling, and persistence under your workload. Pin framework and provider package versions together. The abstraction layers that speed prototyping can complicate debugging in production.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why is LangGraph the best framework for stateful workflows?
&lt;/h2&gt;

&lt;p&gt;LangGraph provides explicit workflow execution and persistence primitives, making it the definitive choice for production systems requiring stateful agent orchestration. It extends LangChain but can be used independently as an orchestration library.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Explicit state management.&lt;/strong&gt; LangGraph defines workflows as directed graphs where nodes are computation steps and edges define control flow. Each node receives and returns a typed state object. State updates are explicit and traceable, eliminating the implicit state bugs common in loop-based agents.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Checkpointing and resume.&lt;/strong&gt; LangGraph's persistence system saves execution state at every node, enabling pause-and-resume workflows critical for human-in-the-loop approval. Configure a durable checkpointer backend (PostgreSQL, Redis, or managed services) when state must survive process restarts. Resumption happens from the exact checkpoint without repeating side effects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Interrupt and approval patterns.&lt;/strong&gt; LangGraph supports explicit interrupt points where execution halts for human review. A payment agent might graph its workflow: validate amount → &lt;strong&gt;interrupt for approval&lt;/strong&gt; → execute payment → record receipt. The interrupt is a first-class primitive, not an afterthought.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cross-thread stores.&lt;/strong&gt; LangGraph distinguishes thread-scoped checkpoints from stores containing information across threads. A support agent's checkpoint preserves an unfinished refund review (thread-local); a store might hold customer preferences (cross-session). This separation maps to how production memory actually works.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to choose LangGraph.&lt;/strong&gt; Select LangGraph when branching logic, human approval, or recovery needs an explicit state model. Use it when workflow complexity makes implicit state management unreliable, or when debugging requires step-by-step execution traces.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to avoid LangGraph.&lt;/strong&gt; Skip LangGraph for simple tool-calling agents where the graph abstraction adds cognitive load without value. The explicit state model is overhead when workflows are linear or when the model can reliably manage control flow alone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Production considerations.&lt;/strong&gt; Checkpointing does not automatically make external actions exactly-once. A payment, email, or database write still needs application-level idempotency. Test duplicate execution independently of whether stored conversation can be retrieved.&lt;/p&gt;

&lt;h2&gt;
  
  
  How does CrewAI simplify multi-agent systems?
&lt;/h2&gt;

&lt;p&gt;CrewAI models multi-agent systems as crews of role-based agents collaborating on tasks. It reduces development time from weeks to hours by abstracting coordination complexity behind role definitions and built-in delegation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Role-based architecture.&lt;/strong&gt; CrewAI's primitives are Agents (role-based LLM instances with defined goals and backstories), Tasks (discrete units of work with expected outputs), and Crews (coordinated groups executing tasks). Each agent has a specialization that shapes its behavior naturally.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Execution modes.&lt;/strong&gt; CrewAI supports sequential (agents work in order), hierarchical (a manager delegates to subordinates), and parallel (independent tasks run simultaneously) execution. The manager agent in hierarchical mode makes delegation decisions based on agent capabilities and task requirements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Task handoff and delegation.&lt;/strong&gt; Built-in delegation means agents can ask each other for help without developer-specified routing logic. A research crew might have a Researcher agent gather sources, an Analyst agent evaluate quality, and a Writer agent synthesize findings — with the Analyst requesting clarification from the Researcher when source credibility is unclear.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to choose CrewAI.&lt;/strong&gt; Select CrewAI when your workflow maps to human team structures, for content generation pipelines requiring multiple perspectives, for research and analysis tasks benefiting from specialization, or when your team prefers declarative configuration over imperative orchestration code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to avoid CrewAI.&lt;/strong&gt; Skip CrewAI when workflows don't map to delegation patterns, when you need fine-grained control over individual agent behavior, or when latency overhead from inter-agent communication through the framework layer is prohibitive. The role-based abstraction can be limiting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Production considerations.&lt;/strong&gt; Multi-agent coordination needs a concrete reason beyond assumed quality gains. Separate tool permissions, independent review, or genuinely distinct specializations justify multiple agents. Measure whether delegation catches errors that simpler workflows miss while accounting for extra model calls and failure modes.&lt;/p&gt;

&lt;h2&gt;
  
  
  What makes Strands Agents SDK the most minimal framework?
&lt;/h2&gt;

&lt;p&gt;Strands Agents SDK (open-sourced by AWS in 2025) takes a radically simple model-driven approach with minimal abstraction. Its philosophy: the LLM controls the entire agent loop, and the framework provides tools and execution infrastructure while staying out of the way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Extreme simplicity.&lt;/strong&gt; A Strands agent is defined in approximately 10 lines of code: a model specification, a system prompt, and a list of tools. The framework handles loop mechanics (calling the model, executing tool requests, feeding results back) but imposes no workflow structure, state management, or routing logic. The model decides what to do at every step.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Model-driven execution.&lt;/strong&gt; Strands leverages model capability directly. As models get smarter at reasoning and planning, Strands agents improve without code changes. This contrasts with orchestration frameworks where improved model capability still operates within developer-defined control flow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Minimal boilerplate.&lt;/strong&gt; Strands produces 60% less boilerplate than equivalent LangChain agents. There are no chains to compose, no memory classes to configure, no state graphs to define. The simplicity makes iteration fast and debugging straightforward because there are minimal framework abstractions to reason through.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to choose Strands.&lt;/strong&gt; Select Strands when your agent needs fewer than 10 tools and the model is capable enough to drive execution reliably. Use it for rapid prototyping where simplicity matters, for applications where model capability is sufficient to manage the workflow, or when framework overhead is prohibitive.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to avoid Strands.&lt;/strong&gt; Skip Strands when deterministic control flow is required, when complex state management or checkpointing is critical, or when weaker models need framework support to maintain execution quality. Limited multi-agent support compared to CrewAI or AutoGen also makes it unsuitable for collaborative agent systems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Production considerations.&lt;/strong&gt; Model-driven control means less deterministic execution. Budget for stronger models — weaker models make worse decisions when given full control. Define execution budgets and termination conditions explicitly because the framework provides minimal guardrails.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why is AgentCore the best managed infrastructure for AI agents?
&lt;/h2&gt;

&lt;p&gt;Amazon Bedrock AgentCore is the only fully managed runtime for production AI agents. Rather than a library you install, it provides cloud infrastructure handling compute, scaling, memory, identity, and observability — so teams focus on agent logic rather than operational concerns.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Managed versus bring-your-own.&lt;/strong&gt; AgentCore provides two paths: Harness offers a managed agent loop configured with a model, instructions, and tools; Runtime hosts agent code you bring (LangChain, LangGraph, Strands, or custom implementations). Choose managed Harness when its loop fits; bring your framework to Runtime when you need to own orchestration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Supporting services.&lt;/strong&gt; AgentCore includes Memory (persistent semantic and episodic memory), Gateway (MCP-compatible tool access layer), Browser (web interaction capabilities), Code Interpreter (sandboxed code execution), Identity (IAM-native authentication), and Observability (built-in tracing and monitoring). These services work together or independently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Model flexibility.&lt;/strong&gt; AgentCore supports models in and outside Bedrock, subject to access and connectivity. Hosting on AWS does not restrict you to Bedrock models only. Configure provider credentials and network access for your selected model.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to choose AgentCore.&lt;/strong&gt; Select AgentCore when you're on AWS and need production-grade infrastructure without dedicated platform engineers, when IAM-native security is required, when elastic scaling from zero to thousands of concurrent agents matters, or when operational overhead of self-managed infrastructure is prohibitive.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to avoid AgentCore.&lt;/strong&gt; Skip AgentCore when AWS hosting is unsuitable, when platform flexibility across clouds is required, when pricing unpredictability for irregular traffic patterns is concerning, or when existing infrastructure already meets agent hosting requirements without additional managed services.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Production considerations.&lt;/strong&gt; Distinguish service-level isolation from application-level permissions. AgentCore provides infrastructure and identity capabilities; your application still owns authorization, tool permissions, and business logic validation. Measure actual cold-start latency and cost under your workload rather than assuming overhead from architecture.&lt;/p&gt;

&lt;h2&gt;
  
  
  Should you consider AutoGen for new projects in 2026?
&lt;/h2&gt;

&lt;p&gt;AutoGen (Microsoft) treats multi-agent coordination as conversations between specialized agents through message passing. Its GitHub repository now declares maintenance mode and directs new users to Microsoft Agent Framework, fundamentally changing its suitability for new projects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conversational architecture.&lt;/strong&gt; AutoGen agents are conversable entities that send and receive messages. GroupChat coordinates multi-agent conversations with configurable speaker selection. The conversation itself is the orchestration mechanism. Complex reasoning tasks benefit from multiple specialized perspectives building on each other's outputs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Maintenance status.&lt;/strong&gt; AutoGen's maintainers explicitly state maintenance mode and recommend Microsoft Agent Framework for new projects. This changes the risk calculation: a maintained project faces normal deprecation timelines, but maintenance mode means security patches only, no feature development, and eventual end-of-life.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to consider AutoGen.&lt;/strong&gt; Evaluate AutoGen only for maintaining existing conversational multi-agent systems already in production. Read the maintenance notice and migration guidance before adding dependencies. Existing patterns remain useful to understand, but starting new development on a deprecated framework is rarely justified.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to choose alternatives.&lt;/strong&gt; For new multi-agent projects, evaluate CrewAI for role-based delegation or LangGraph for explicit orchestration rather than adopting AutoGen based on historical popularity or GitHub stars. For Microsoft-based projects, evaluate the successor framework the maintainers recommend.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Migration considerations.&lt;/strong&gt; If you have existing AutoGen deployments, plan migration timelines based on the maintenance notice. Conversational patterns and multi-agent architectures are portable concepts; the specific framework implementation is what requires replacement.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you choose the best framework for your use case?
&lt;/h2&gt;

&lt;p&gt;Framework selection follows a decision tree based on concrete requirements rather than abstract rankings. Different dimensions dominate in different scenarios.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Decision 1: Managed or self-hosted?&lt;/strong&gt; If zero-ops infrastructure is required and you're on AWS, evaluate AgentCore Harness or Runtime first. If hosting portability, platform flexibility, or existing infrastructure matters, proceed to application-owned frameworks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Decision 2: Simple or stateful?&lt;/strong&gt; If your agent needs fewer than 10 tools, linear execution, and the model can drive control flow reliably, start with Strands. If workflows require branching, human approval, or explicit state management, evaluate LangGraph.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Decision 3: Single or multi-agent?&lt;/strong&gt; If the problem requires multiple specialized agents, evaluate CrewAI for role-based delegation or LangGraph for explicit multi-agent graphs. If a single agent suffices, prefer simpler frameworks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Decision 4: Ecosystem or minimalism?&lt;/strong&gt; If you need 400+ integrations, extensive documentation, and community examples, choose LangChain. If minimal boilerplate and framework transparency matter more, choose Strands. If explicit control matters most, choose LangGraph.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Validation pattern.&lt;/strong&gt; Whatever framework you choose, validate with a bounded task before broad adoption. The acceptance checks should cover: trace a tool call and failure, resume interrupted execution without repeating side effects, verify tenant isolation, confirm permissions are enforced independently of model instructions, and measure latency under production load.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does a production agent implementation look like?
&lt;/h2&gt;

&lt;p&gt;Production agents require more than framework selection. The following is conceptual pseudocode illustrating the complete operating contract, not a runnable implementation for any specific framework:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;validate caller identity and request structure
derive authorized thread and session identifiers
load conversation state within configured retention policy

while within time, token, and step budgets:
    assemble context from history, memory, and observations
    request next model action with configured provider

    if model returns final answer:
        validate output contract and business rules
        record success metrics and completion trace
        return result to caller

    if model requests tool call:
        validate tool exists and arguments match schema
        verify caller has permission for this tool
        execute with timeout and idempotency where needed
        observe result or error

    persist checkpoint at defined consistency boundary
    record usage for billing and observability

return incomplete result with clear reason when limit reached
log recoverable state for manual or automated retry
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Budget values derive from the workload. A check made after a model response detects overspending but cannot retroactively cap that response. Enforce request limits before calls and retain provider usage records afterward.&lt;/p&gt;

&lt;p&gt;Tool permissions must be enforced independently of model instructions. A model requesting a privileged action does not prove the caller is authorized. Verify permission at the application layer, not by trusting model output.&lt;/p&gt;

&lt;p&gt;Idempotency contracts prevent duplicate external actions during retries or checkpoint resume. A payment, email, or database write needs application-level deduplication. Framework checkpointing handles execution state, not external effects.&lt;/p&gt;

&lt;h2&gt;
  
  
  How should enterprises evaluate agent frameworks?
&lt;/h2&gt;

&lt;p&gt;Enterprise framework selection requires answering operational and compliance questions beyond developer experience. The evaluation dimensions that determine production viability are distinct from prototyping convenience.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Decision Dimension&lt;/th&gt;
&lt;th&gt;Questions To Answer&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Tenant isolation&lt;/td&gt;
&lt;td&gt;Are state, tools, memory, and credentials scoped to caller and environment? Does one tenant's agent access another's data?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Durable execution&lt;/td&gt;
&lt;td&gt;Can interrupted runs resume without repeating side effects? How are checkpoints persisted and retrieved? What consistency guarantees exist?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data residency&lt;/td&gt;
&lt;td&gt;Where do prompts, traces, memory, and evaluation datasets persist? Which regions support your compliance requirements?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Policy enforcement&lt;/td&gt;
&lt;td&gt;Are tool permissions enforced independently of model instructions? Can a model bypass authorization through clever prompting?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Observability&lt;/td&gt;
&lt;td&gt;Can reviewers reconstruct tasks and inspect quality scores? Are traces redacted appropriately? How long are logs retained?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Operational ownership&lt;/td&gt;
&lt;td&gt;Who handles scaling, upgrades, backups, retries, incidents? What SLAs exist? How are breaking changes communicated?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Exit cost&lt;/td&gt;
&lt;td&gt;Which workflow, memory, and checkpoint formats need migration? How much code couples to framework-specific abstractions?&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Validate tenant isolation explicitly. Deploy two test agents with different credentials and verify Agent A cannot access Agent B's memory, tools, or conversation state. Misconfigured isolation is the most common production security failure.&lt;/p&gt;

&lt;p&gt;Test durable execution by interrupting an agent mid-workflow and resuming from checkpoint. Verify that external actions (sending email, charging payment, updating database) are not duplicated. Checkpoint persistence handles computation state, not external effects.&lt;/p&gt;

&lt;p&gt;Audit data residency for prompt content, conversation history, memory storage, and evaluation datasets. Framework documentation often covers compute regions but not data storage. Compliance depends on where data persists, not just where it's processed.&lt;/p&gt;

&lt;h2&gt;
  
  
  What common mistakes prevent successful framework adoption?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Over-engineering with heavy frameworks.&lt;/strong&gt; Teams choose LangGraph for simple chatbots needing one tool. The graph abstraction adds cognitive load and debugging complexity without value. Start with Strands or basic tool-calling, add framework structure only when workflow complexity demands it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ignoring operational requirements.&lt;/strong&gt; A framework working in notebooks may not scale to production. Consider logging, error recovery, scaling, monitoring, and deployment from the start. Prototype quickly, but plan operations before broad rollout.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Framework lock-in before validation.&lt;/strong&gt; Building deeply on framework abstractions before validating that agent approach works creates expensive rewrites. Prototype with minimal frameworks or raw API calls first, add framework structure once agent design is proven.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Choosing by GitHub stars, not architecture fit.&lt;/strong&gt; LangChain's popularity doesn't make it best for every use case. A multi-agent research pipeline benefits more from AutoGen's conversational architecture (if maintaining existing systems) or CrewAI's delegation (for new projects) than from LangChain's chains, regardless of star counts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Treating agents as deterministic systems.&lt;/strong&gt; Agents with full autonomy are non-deterministic by design. Model-driven control means variable execution paths. Budget for this uncertainty with timeouts, step limits, and explicit termination conditions. Test failure modes as rigorously as success paths.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Assuming multi-agent equals better quality.&lt;/strong&gt; Multiple agents introduce coordination overhead, failure modes, and token costs. Multi-agent systems need concrete justification: separate tool permissions, independent review, genuinely distinct specializations. Measure whether coordination catches errors that simpler workflows miss.&lt;/p&gt;

&lt;h2&gt;
  
  
  How is the agent framework landscape evolving?
&lt;/h2&gt;

&lt;p&gt;The framework ecosystem is converging on several architectural patterns that will shape 2026 and beyond. Understanding these trends informs long-term framework selection.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Protocol standardization.&lt;/strong&gt; Model Context Protocol (MCP) is becoming the universal standard for tool discovery and integration. Frameworks embracing MCP (LangChain, AgentCore Gateway) offer plug-and-play tool ecosystems. Those requiring custom integration patterns face friction as the ecosystem standardizes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Composability over monoliths.&lt;/strong&gt; The winning pattern combines specialized tools rather than accepting compromises from all-in-one frameworks. One framework handles orchestration logic (LangGraph), another provides lightweight tool-calling (Strands), a protocol manages tool discovery (MCP), and managed services supply memory and observability (AgentCore or third-party).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Managed runtimes.&lt;/strong&gt; The operational burden of running agents pushes teams toward managed services. Just as serverless replaced server management for web applications, managed agent runtimes like AgentCore are replacing self-managed agent infrastructure. The framework becomes the logic layer; the cloud provides everything else.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Evaluation-driven development.&lt;/strong&gt; As agents grow more autonomous, testing shifts from unit tests to evaluation suites measuring agent behavior across hundreds of scenarios. Frameworks integrating evaluation natively — tracking success rates, failure modes, and regression across versions — will dominate production deployments where reliability is non-negotiable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Explicit state management.&lt;/strong&gt; The shift from implicit loop-based state to explicit graph-based state reflects production lessons. LangGraph's checkpoint model, AgentCore's managed memory, and the general trend toward typed state objects indicate that implicit state causes too many production bugs to remain the default.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Which is the best AI agent framework for beginners in 2026?
&lt;/h3&gt;

&lt;p&gt;Strands Agents SDK offers the lowest barrier to entry — a working agent in 10 lines with no complex abstractions to learn. For beginners wanting more structure and resources, LangChain provides the most tutorials and community support. Start with Strands to understand agent loops, explore LangChain when you need specific integrations.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can you combine multiple agent frameworks?
&lt;/h3&gt;

&lt;p&gt;Yes, and production teams increasingly do. The common pattern: LangGraph for orchestration logic defining workflow graphs, Strands for individual tool-calling agent nodes providing lightweight execution, and AgentCore for deployment infrastructure with managed compute and memory. Frameworks are complementary, not mutually exclusive.&lt;/p&gt;

&lt;h3&gt;
  
  
  How much does it cost to run production AI agents?
&lt;/h3&gt;

&lt;p&gt;Agent costs have three components: LLM API costs ($0.01-$0.15 per invocation depending on model and tokens), infrastructure costs (self-hosted: $2-10/hour per GPU; managed: pay-per-invocation), and tool execution costs (API calls, code execution compute). A customer support agent handling 10,000 daily conversations costs $500-2,000/month, with LLM tokens dominating.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do AI agent frameworks support open-source models?
&lt;/h3&gt;

&lt;p&gt;All major frameworks support open-source models served through compatible APIs. LangChain integrates with Ollama, vLLM, and OpenAI-compatible endpoints. Strands supports any Bedrock-compatible model including self-hosted. The requirement: models must support tool calling (function calling) — not all open-source models do. Llama 3, Mistral, and Command R+ support tool calling and work with these frameworks.&lt;/p&gt;

&lt;h3&gt;
  
  
  Should I build or buy agent infrastructure?
&lt;/h3&gt;

&lt;p&gt;Build with application-owned frameworks (LangChain, LangGraph, Strands) when you need full control, have platform engineering capacity, or require multi-cloud portability. Buy managed infrastructure (AgentCore) when you're on AWS, lack dedicated operations teams, or prioritize speed-to-production over flexibility. The decision depends on operational maturity and control requirements.&lt;/p&gt;

&lt;h3&gt;
  
  
  What's the difference between LangChain and LangGraph?
&lt;/h3&gt;

&lt;p&gt;LangChain provides configurable agents with 400+ integrations for rapid prototyping. LangGraph provides explicit workflow execution and state management for production stateful agents. Current LangChain agents build on LangGraph underneath. Use LangChain for ecosystem access, LangGraph directly when explicit state and checkpointing are central to your workflow.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do I test AI agents before production?
&lt;/h3&gt;

&lt;p&gt;Validate bounded tasks before broad deployment: trace tool calls and failures end-to-end, resume interrupted execution without repeating external actions, verify tenant isolation between agents, confirm permissions are enforced independently of model instructions, measure latency and cost under realistic load, and test failure recovery explicitly. An evaluation suite measuring success rate across hundreds of scenarios matters more than unit tests.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.langchain.com/oss/python/langchain/overview" rel="noopener noreferrer"&gt;LangChain overview and agent interface&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.langchain.com/oss/python/langgraph/persistence" rel="noopener noreferrer"&gt;LangGraph persistence and state management&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.crewai.com/en/concepts/processes" rel="noopener noreferrer"&gt;CrewAI process definitions and coordination&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/strands-agents/harness-sdk" rel="noopener noreferrer"&gt;Strands Agents repository and model-driven architecture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/what-is-bedrock-agentcore.html" rel="noopener noreferrer"&gt;Amazon Bedrock AgentCore developer guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/harness-vs-runtime.html" rel="noopener noreferrer"&gt;AgentCore Harness versus Runtime comparison&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://microsoft.github.io/autogen/stable/" rel="noopener noreferrer"&gt;Microsoft AutoGen documentation and maintenance notice&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/microsoft/autogen" rel="noopener noreferrer"&gt;AutoGen repository maintenance status&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://fp8.co/articles/best-frameworks-for-building-ai-agents-2026" rel="noopener noreferrer"&gt;fp8.co&lt;/a&gt;. Subscribe for weekly AI engineering analysis at &lt;a href="https://fp8.co/newsletters" rel="noopener noreferrer"&gt;fp8.co/newsletters&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>aiagentdevelopment</category>
      <category>frameworkcomparison</category>
    </item>
    <item>
      <title>AI Funding Due Diligence: Verify Rounds Before Citing</title>
      <dc:creator>ke yi</dc:creator>
      <pubDate>Wed, 16 Sep 2026 05:06:28 +0000</pubDate>
      <link>https://dev.to/devtoaaron/ai-funding-due-diligence-verify-rounds-before-citing-2a1o</link>
      <guid>https://dev.to/devtoaaron/ai-funding-due-diligence-verify-rounds-before-citing-2a1o</guid>
      <description>&lt;p&gt;AI funding due diligence is a documented check that a financing claim matches evidence published by the parties involved. It keeps announcement dates, transaction details, and a database's own timestamps distinct.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Start with a precise claim and locate the source that supports it. A company announcement, an investor statement, and a database entry can each describe different parts of a financing event.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Keep the round amount separate from valuation, and preserve the source's wording about whether financing is completed, announced, planned, or still being discussed. Missing information should remain visible.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Retain the source URL, publication date, relevant passage, and the date you reviewed it. A useful funding record lets another person repeat the check.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Identify the company before comparing figures.&lt;/strong&gt; Similar names, brands, and domains can refer to different businesses.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Name the event you are checking.&lt;/strong&gt; A new financing, an extension, a secondary transaction, and an investor's own fund announcement should not be merged automatically.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Track dates separately.&lt;/strong&gt; Publication, transaction, discovery, and database-update dates answer different questions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Preserve the financial labels.&lt;/strong&gt; Round amount, valuation, currency, and investor role each need their own evidence.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Record uncertainty.&lt;/strong&gt; An inaccessible source, an unnamed investor, or an ambiguous amount is a reason to keep a verification task open.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Make the citation useful.&lt;/strong&gt; Link to the supporting document and explain which statement it supports.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What claim are you trying to verify?
&lt;/h2&gt;

&lt;p&gt;Begin with a sentence that can be checked. For example, you might be checking whether a company announced a particular funding stage, whether a named investor participated, or whether the issuer disclosed a valuation. These are separate claims, even when a database displays them on the same row.&lt;/p&gt;

&lt;p&gt;Write down the company identity, the event, and the attribute you need. Include the company's official domain and any relevant former name. This prevents an apparently matching search result from being assigned to the wrong organization.&lt;/p&gt;

&lt;p&gt;Then define the limit of your evidence. A public announcement supports a statement about what its publisher announced. Private agreements, ownership arrangements, and settlement details may remain unavailable. Your record should make that boundary clear rather than imply access to documents you have not reviewed.&lt;/p&gt;

&lt;p&gt;A claim-by-claim approach also makes corrections smaller. If the valuation is unsupported, you can hold that field for review while retaining a separately supported announcement date or investor statement.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which sources should you check first?
&lt;/h2&gt;

&lt;p&gt;Look first for material published by the company and the investors involved. Company fundraising pages and dated announcements can state the event, round label, amount, and valuation terminology. Investor announcements can explain participation and identify a role in the financing. Read the actual text; a logo or a company name on a page does not establish every part of a transaction.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://axiommath.ai/fundraising/" rel="noopener noreferrer"&gt;Axiom's company-hosted fundraising page&lt;/a&gt; illustrates a disclosure that separates funding events and their financial labels. &lt;a href="https://b.capital/why-we-invested/toward-mathematical-superintelligence-why-we-invested-in-axiom/" rel="noopener noreferrer"&gt;B Capital's investment article about Axiom&lt;/a&gt; illustrates a different document type: a dated explanation from an investor. Before combining material from such pages, compare their dates and event descriptions. Sharing a company name does not establish that two documents describe the same round.&lt;/p&gt;

&lt;p&gt;News reporting and databases can help you find the relevant announcement. Preserve their attribution when a detail is available only through reporting. An unnamed-source report and an issuer statement have different evidence trails.&lt;/p&gt;

&lt;p&gt;Search snippets are useful leads. Open the underlying page before treating the snippet as evidence, because the excerpt may omit a qualification, a date, or the company to which a figure belongs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which dates belong in a funding record?
&lt;/h2&gt;

&lt;p&gt;A funding record can have several legitimate dates:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Publication date:&lt;/strong&gt; when the supporting announcement or report appeared.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Transaction date:&lt;/strong&gt; when the source says the financing event occurred, if it specifies one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Discovery date:&lt;/strong&gt; when your team first found the information.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Record-update date:&lt;/strong&gt; when your database entry changed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review date:&lt;/strong&gt; when someone last checked the evidence.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Keep these fields distinct. A recently updated database row may describe an older event. A later article may summarize several earlier financings. Neither situation creates a new round by itself.&lt;/p&gt;

&lt;p&gt;If a source gives only a month or a general period, preserve that precision in your research notes. Avoid quietly inventing a particular day. When two sources disagree, record both dates with their meanings before choosing the value appropriate to your database's policy.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you separate the round amount from valuation?
&lt;/h2&gt;

&lt;p&gt;Copy the financial label along with the figure. The amount associated with a financing and the valuation assigned to a business describe different things. A source that discloses one does not necessarily disclose the other.&lt;/p&gt;

&lt;p&gt;Preserve any explicit pre-money or post-money label. If the source does not identify the valuation basis, leave that basis unspecified. Avoid converting an assumed ownership percentage into a reported valuation.&lt;/p&gt;

&lt;p&gt;Currency needs the same care. Keep the original currency with the original amount. If your analysis also presents a conversion, identify the conversion as a calculation and retain the rate source and date. The calculated value should remain distinguishable from the figure the issuer published.&lt;/p&gt;

&lt;p&gt;Check the subject of every number. An article may discuss the company's financing alongside an investor's fund size, a previous round, or another company's transaction. Read enough surrounding text to establish whose amount it is and what it measures.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you distinguish completed financing from a target?
&lt;/h2&gt;

&lt;p&gt;Preserve the source's verbs and qualifications. Wording such as “seeking,” “targeting,” or “in discussions” describes a different status from wording that explicitly announces a completed financing. A planned transaction can be important news without becoming a completed-round record.&lt;/p&gt;

&lt;p&gt;Also check whether a later announcement updates an earlier report. The later document may confirm some details while changing others. Keep the earlier item in the evidence trail, and identify which source supports the current status.&lt;/p&gt;

&lt;p&gt;Do not infer completion from the existence of a presentation, a fundraising page, or a named prospective investor. Your public summary should reflect the status the evidence supports. Where the wording is ambiguous, record the uncertainty and seek a clearer statement.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you verify an investor's role?
&lt;/h2&gt;

&lt;p&gt;Look for an explicit relationship between the investor and the financing. A name appearing in an article's navigation, event promotion, founder biography, or discussion of technology suppliers is not enough to attribute participation.&lt;/p&gt;

&lt;p&gt;Separate participation from leadership. If a source names a participant without specifying a lead role, preserve the stated participation. Do not promote the first name in a list to lead merely because it appears first.&lt;/p&gt;

&lt;p&gt;Resolve aliases carefully. A firm's abbreviated name and legal name may identify the same investor, while similarly named firms may be distinct. Keep a reference to the spelling in the source so that another reviewer can reproduce your decision.&lt;/p&gt;

&lt;p&gt;Apply the same evidence standard to familiar and unfamiliar investors. An investor already present in your database still needs support for its relationship to this particular event.&lt;/p&gt;

&lt;h2&gt;
  
  
  What evidence should you retain?
&lt;/h2&gt;

&lt;p&gt;Store enough information to repeat the review without copying an entire publication. A practical evidence note includes:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;What it records&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Supporting URL&lt;/td&gt;
&lt;td&gt;The specific announcement or document&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Publisher&lt;/td&gt;
&lt;td&gt;The company, investor, outlet, or other source&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Publication date&lt;/td&gt;
&lt;td&gt;The date shown by that source&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Relevant passage&lt;/td&gt;
&lt;td&gt;A short passage identifying the claim and its subject&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Supported attributes&lt;/td&gt;
&lt;td&gt;Which fields the passage establishes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Review date&lt;/td&gt;
&lt;td&gt;When the source was checked&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Open questions&lt;/td&gt;
&lt;td&gt;What remains missing, ambiguous, or inaccessible&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Keep the passage connected to its subject. A detached number can lose the context that identifies the company, currency, event, or status.&lt;/p&gt;

&lt;p&gt;If a page changes, preserve your review note and a permitted reference to the version you consulted. Follow applicable access and reuse rules. Avoid making an inaccessible copy the only explanation of a claim; a reader should still understand what was checked and what remains uncertain.&lt;/p&gt;

&lt;h2&gt;
  
  
  What should you do when sources conflict or disappear?
&lt;/h2&gt;

&lt;p&gt;First check for an identity or event mismatch. The apparent disagreement may involve different companies, different stages, an earlier financing, or a distinction between an announced amount and a broader funding total.&lt;/p&gt;

&lt;p&gt;Next compare the wording and publication sequence. A correction or a later issuer statement may explain the difference. Retain the original attribution when you update the record, so the revision has an understandable history.&lt;/p&gt;

&lt;p&gt;If the conflict remains unresolved, publish the limitation alongside the field or hold the disputed attribute for review. Avoid averaging conflicting values or selecting the more impressive figure.&lt;/p&gt;

&lt;p&gt;An unavailable page requires a separate judgment. A failed request or a subscription barrier prevents a new check; it does not establish that the historical record was false. Look for another accessible statement from the parties involved, and mark the verification status accurately.&lt;/p&gt;

&lt;h2&gt;
  
  
  How can a team make reviews repeatable?
&lt;/h2&gt;

&lt;p&gt;Use the same questions for each record: Is this the correct entity? Does the source describe this event? Which attributes does it support? What remains unresolved?&lt;/p&gt;

&lt;p&gt;Separate data entry from the decision to treat a claim as supported. A candidate record can preserve useful research leads while its uncertain fields remain clearly marked. Reviewers should be able to change one attribute without losing the rest of the evidence.&lt;/p&gt;

&lt;p&gt;Record corrections with their reason and review date. This prevents a later import from silently replacing a reviewed decision with the same weak inference. When a new source resolves a gap, update the record and retain the explanation.&lt;/p&gt;

&lt;p&gt;For published summaries, check the final page as well as the stored record. Titles, descriptions, tables, and related pages can repeat a financial claim. A correction is complete when the intended public surfaces reflect the reviewed information.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Is a database entry sufficient evidence for a financing claim?
&lt;/h3&gt;

&lt;p&gt;A database entry is a useful starting point. Follow its source attribution and verify the particular attribute you intend to cite. If the supporting document is missing, describe the limitation rather than implying that you have independently checked it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can an investor announcement replace a company announcement?
&lt;/h3&gt;

&lt;p&gt;It can support what the investor explicitly states. Read its date, event description, and role carefully. It may not disclose every term or describe the same event as another document.&lt;/p&gt;

&lt;h3&gt;
  
  
  Should an old record be deleted when its source is inaccessible?
&lt;/h3&gt;

&lt;p&gt;Inaccessibility alone does not settle the record's accuracy. Preserve the known evidence trail, mark the review limitation, and seek an accessible supporting statement before making a stronger conclusion.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does verification guarantee that a record is complete?
&lt;/h3&gt;

&lt;p&gt;No. A review establishes what the available evidence supports. Undisclosed terms, private documents, and later updates can remain outside that evidence. Keep the review date and unresolved questions visible.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://axiommath.ai/fundraising/" rel="noopener noreferrer"&gt;Axiom — Fundraising&lt;/a&gt;: a company-hosted disclosure page separating funding events and financial labels.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://b.capital/why-we-invested/toward-mathematical-superintelligence-why-we-invested-in-axiom/" rel="noopener noreferrer"&gt;B Capital — Why We Invested in Axiom&lt;/a&gt;: a dated investor explanation, useful for checking attribution and document context.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI Funding provides linked records for discovering financing events. Use those records alongside the original announcements and a documented verification process before citing a claim.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>startup</category>
      <category>venturecapital</category>
      <category>funding</category>
    </item>
    <item>
      <title>Top AI Developer Tools Startups in 2026: Funding, Valuations &amp; Market Leaders</title>
      <dc:creator>ke yi</dc:creator>
      <pubDate>Wed, 16 Sep 2026 03:46:37 +0000</pubDate>
      <link>https://dev.to/devtoaaron/top-ai-developer-tools-startups-in-2026-funding-valuations-market-leaders-13o6</link>
      <guid>https://dev.to/devtoaaron/top-ai-developer-tools-startups-in-2026-funding-valuations-market-leaders-13o6</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The AI Developer Tools sector is one of the most dynamic areas of AI investment in 2026. This report profiles the top-funded startups in the space, their investors, and the market dynamics driving growth.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The 46 AI Developer Tools companies tracked by AI Funding have raised &lt;strong&gt;$6.3B&lt;/strong&gt; in total disclosed funding. Figures cover rounds reported in USD. 5 rounds (€15M) are excluded: no published dollar figures exist for them. See the full list on the &lt;a href="https://dev.to/sector/ai-developer-tools"&gt;AI Developer Tools sector page&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The top-funded AI Developer Tools companies are &lt;strong&gt;Cognition&lt;/strong&gt; ($1.2B), &lt;strong&gt;Cursor&lt;/strong&gt; ($968M) and &lt;strong&gt;Lovable&lt;/strong&gt; ($917M).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lovable&lt;/strong&gt; carries the highest disclosed valuation in AI Developer Tools at &lt;strong&gt;$13.3B&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Overview
&lt;/h2&gt;

&lt;p&gt;The AI Developer Tools sector is one of the most dynamic areas of AI investment in 2026. This report profiles the top-funded startups in the space, their investors, and the market dynamics driving growth.&lt;/p&gt;

&lt;p&gt;The AI funding landscape continues to evolve rapidly, with significant capital flowing into companies pushing the boundaries of artificial intelligence. This period's activity reflects both growing investor confidence and the increasing maturity of the ecosystem. Deal sizes and valuations continue to climb as AI transitions from experimental technology to core enterprise infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sector at a Glance
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Companies Tracked&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Total Funding&lt;/td&gt;
&lt;td&gt;$2.4B&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Average Latest Valuation&lt;/td&gt;
&lt;td&gt;$5.2B&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sector Page&lt;/td&gt;
&lt;td&gt;&lt;a href="https://dev.to/sector/ai-developer-tools"&gt;/sector/ai-developer-tools&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Top AI Developer Tools Startups by Total Funding
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Cursor
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Total Raised:&lt;/strong&gt; $960M&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latest Valuation:&lt;/strong&gt; $9.9B&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latest Round:&lt;/strong&gt; Series B ($900M)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Founded:&lt;/strong&gt; 2022 | &lt;strong&gt;HQ:&lt;/strong&gt; San Francisco, CA&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key Investors:&lt;/strong&gt; Andreessen Horowitz, Nat Friedman &amp;amp; Daniel Gross, Thrive Capital, Accel&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Company Page:&lt;/strong&gt; &lt;a href="https://dev.to/companies/cursor"&gt;/companies/cursor&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;AI-first code editor built to supercharge developer productivity with intelligent autocomplete, chat, and codebase understanding.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The competitive landscape remains dynamic, with established players and well-funded startups vying for market share. Differentiation increasingly comes from technology depth, go-to-market execution, and strategic partnerships that provide distribution advantages.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Replit
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Total Raised:&lt;/strong&gt; $600M&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latest Valuation:&lt;/strong&gt; Undisclosed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latest Round:&lt;/strong&gt; Undisclosed ($400M)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Founded:&lt;/strong&gt; 2016 | &lt;strong&gt;HQ:&lt;/strong&gt; San Francisco, CA&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key Investors:&lt;/strong&gt; Andreessen Horowitz, Khosla Ventures, Google Ventures (GV), Undisclosed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Company Page:&lt;/strong&gt; &lt;a href="https://dev.to/companies/replit"&gt;/companies/replit&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;AI-powered software development and deployment platform enabling anyone to build and ship applications from the browser.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The competitive landscape remains dynamic, with established players and well-funded startups vying for market share. Differentiation increasingly comes from technology depth, go-to-market execution, and strategic partnerships that provide distribution advantages.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Poolside
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Total Raised:&lt;/strong&gt; $500M&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latest Valuation:&lt;/strong&gt; $3.0B&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latest Round:&lt;/strong&gt; Series B ($500M)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Founded:&lt;/strong&gt; 2023 | &lt;strong&gt;HQ:&lt;/strong&gt; San Francisco, CA&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key Investors:&lt;/strong&gt; Bessemer Venture Partners, Nat Friedman &amp;amp; Daniel Gross, Felicis Ventures&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Company Page:&lt;/strong&gt; &lt;a href="https://dev.to/companies/poolside"&gt;/companies/poolside&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;AI company building foundation models specifically designed for software engineering.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The competitive landscape remains dynamic, with established players and well-funded startups vying for market share. Differentiation increasingly comes from technology depth, go-to-market execution, and strategic partnerships that provide distribution advantages.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Lovable
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Total Raised:&lt;/strong&gt; $217M&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latest Valuation:&lt;/strong&gt; $2.8B&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latest Round:&lt;/strong&gt; Series B ($200M)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Founded:&lt;/strong&gt; 2023 | &lt;strong&gt;HQ:&lt;/strong&gt; Stockholm, Sweden&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key Investors:&lt;/strong&gt; Benchmark, Accel, Founders Fund&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Company Page:&lt;/strong&gt; &lt;a href="https://dev.to/companies/lovable"&gt;/companies/lovable&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;AI-powered full-stack web app builder. Generate production-ready apps from natural language.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The competitive landscape remains dynamic, with established players and well-funded startups vying for market share. Differentiation increasingly comes from technology depth, go-to-market execution, and strategic partnerships that provide distribution advantages.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Code Metal
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Total Raised:&lt;/strong&gt; $125M&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latest Valuation:&lt;/strong&gt; Undisclosed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latest Round:&lt;/strong&gt; Undisclosed ($125M)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Founded:&lt;/strong&gt; 2026 | &lt;strong&gt;HQ:&lt;/strong&gt; San Francisco, CA&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key Investors:&lt;/strong&gt; Undisclosed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Company Page:&lt;/strong&gt; &lt;a href="https://dev.to/companies/code-metal"&gt;/companies/code-metal&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;AI-powered automated code translation and optimization platform that converts code between programming languages with formal verification for safety-critical industries.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The competitive landscape remains dynamic, with established players and well-funded startups vying for market share. Differentiation increasingly comes from technology depth, go-to-market execution, and strategic partnerships that provide distribution advantages.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Axiomatic AI
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Total Raised:&lt;/strong&gt; $18M&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latest Valuation:&lt;/strong&gt; Undisclosed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latest Round:&lt;/strong&gt; Undisclosed ($18M)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Founded:&lt;/strong&gt; 2026 | &lt;strong&gt;HQ:&lt;/strong&gt; Cambridge, MA&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key Investors:&lt;/strong&gt; Undisclosed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Company Page:&lt;/strong&gt; &lt;a href="https://dev.to/companies/axiomatic-ai"&gt;/companies/axiomatic-ai&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;MIT spin-off building verified AI operators for engineering workflows using formal mathematical proofs, serving photonics, electronics, thermal, mechanics, and signal domains.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The competitive landscape remains dynamic, with established players and well-funded startups vying for market share. Differentiation increasingly comes from technology depth, go-to-market execution, and strategic partnerships that provide distribution advantages.&lt;/p&gt;

&lt;h2&gt;
  
  
  Most Active Investors in AI Developer Tools
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Rank&lt;/th&gt;
&lt;th&gt;Investor&lt;/th&gt;
&lt;th&gt;Companies Backed&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Undisclosed&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Andreessen Horowitz&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Nat Friedman &amp;amp; Daniel Gross&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Accel&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Thrive Capital&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;Khosla Ventures&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;Google Ventures (GV)&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;Bessemer Venture Partners&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;Felicis Ventures&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;Benchmark&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This area of the AI market continues to attract significant investor attention, reflecting the sector's rapid growth and substantial long-term potential.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI Developer Tools Trends to Watch
&lt;/h2&gt;

&lt;p&gt;This area of the AI market continues to attract significant investor attention, reflecting the sector's rapid growth and substantial long-term potential.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  How much funding have AI Developer Tools startups raised?
&lt;/h3&gt;

&lt;p&gt;The 46 AI Developer Tools companies tracked by AI Funding have raised &lt;strong&gt;$6.3B&lt;/strong&gt; in total disclosed funding. Figures cover rounds reported in USD. 5 rounds (€15M) are excluded: no published dollar figures exist for them. See the full list on the &lt;a href="https://dev.to/sector/ai-developer-tools"&gt;AI Developer Tools sector page&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Which AI Developer Tools startups have raised the most funding?
&lt;/h3&gt;

&lt;p&gt;The top-funded AI Developer Tools companies are &lt;strong&gt;Cognition&lt;/strong&gt; ($1.2B), &lt;strong&gt;Cursor&lt;/strong&gt; ($968M) and &lt;strong&gt;Lovable&lt;/strong&gt; ($917M).&lt;/p&gt;

&lt;h3&gt;
  
  
  What is the most valuable AI Developer Tools startup?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Lovable&lt;/strong&gt; carries the highest disclosed valuation in AI Developer Tools at &lt;strong&gt;$13.3B&lt;/strong&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Data sourced from AI Funding's funding database. Rankings based on total disclosed funding. This scaffold was generated with AI Funding's content tools and may require editorial review before publication.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>startup</category>
      <category>venturecapital</category>
      <category>funding</category>
    </item>
    <item>
      <title>LangChain vs Strands: Agent Framework Comparison 2026</title>
      <dc:creator>ke yi</dc:creator>
      <pubDate>Fri, 11 Sep 2026 20:18:49 +0000</pubDate>
      <link>https://dev.to/devtoaaron/langchain-vs-strands-agent-framework-comparison-2026-3j6m</link>
      <guid>https://dev.to/devtoaaron/langchain-vs-strands-agent-framework-comparison-2026-3j6m</guid>
      <description>&lt;h1&gt;
  
  
  LangChain vs Strands: Which Agent Framework Should You Choose?
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; LangChain's current &lt;code&gt;create_agent&lt;/code&gt; interface and Strands' &lt;code&gt;Agent&lt;/code&gt; both support model-driven tool use. Compare their integrations, execution controls, persistence, and operating requirements rather than code length. Strands includes snapshot/checkpoint support for single agents and separate session-management options for Graph/Swarm; it does not require every persistence feature to be built from scratch.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Takeaways
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Use LangChain's current &lt;code&gt;create_agent&lt;/code&gt; interface with message-based invocation. Do not present the legacy executor API as the current agent quickstart.&lt;/li&gt;
&lt;li&gt;Both frameworks can let a model select tools. LangGraph is available when a LangChain application needs more explicit orchestration; it is not mandatory to hand-code a graph for every agent.&lt;/li&gt;
&lt;li&gt;Current Strands documentation recommends &lt;code&gt;SnapshotSessionManager&lt;/code&gt; for new single-agent sessions. Its immutable checkpoints and restore support differ from the repository-based managers used for Graph/Swarm.&lt;/li&gt;
&lt;li&gt;Separate invocation-scoped configuration from durable state. Strands &lt;code&gt;invocation_state&lt;/code&gt; is not a replacement for a session manager.&lt;/li&gt;
&lt;li&gt;Both have model-provider integrations and open-source libraries. Hosting, model calls, storage, and observability remain separate operating choices and costs.&lt;/li&gt;
&lt;li&gt;The examples below are fixtures with explicit prerequisites. No model call, latency benchmark, or framework-overhead measurement was performed for this comparison.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What are LangChain and Strands?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://docs.langchain.com/oss/python/langchain/overview" rel="noopener noreferrer"&gt;LangChain&lt;/a&gt; provides a configurable agent harness through &lt;code&gt;create_agent&lt;/code&gt;, with tools, prompts, and middleware around the model loop. Its agents build on LangGraph, and applications can use LangGraph directly for more explicit workflow execution. Integration packages provide model, retrieval, and other application components.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/strands-agents/harness-sdk" rel="noopener noreferrer"&gt;Strands Agents&lt;/a&gt; is an SDK for model-driven agents with tools, lifecycle controls, state, sessions, and multi-agent patterns. Its repository contains Python and TypeScript packages. Amazon Bedrock is the documented default provider, but alternative providers are supported.&lt;/p&gt;

&lt;p&gt;The useful choice is which APIs and operating contracts fit your application. Neither framework's philosophy establishes that it is faster, requires fewer lines, or is suitable only for simple versus complex work.&lt;/p&gt;

&lt;p&gt;Official documentation and source were checked September 11, 2026. The LangChain snippets target the current v1 interface. The Strands session example requires a release that exports &lt;code&gt;SnapshotSessionManager&lt;/code&gt;; match the installed release to these docs instead of copying an older session API into the new example.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do they differ architecturally?
&lt;/h2&gt;

&lt;p&gt;LangChain's &lt;code&gt;create_agent&lt;/code&gt; constructs an agent without requiring a separate prompt template and executor. The model can choose tools dynamically. For fixed retrieval followed by generation, ordinary application control flow may be sufficient; for branching, interruption, or explicit state transitions, inspect LangGraph's execution and persistence APIs.&lt;/p&gt;

&lt;p&gt;Strands also runs a model/tool loop, with hooks and lifecycle controls around it. Applications can use one agent, compose agents as tools, or adopt Graph/Swarm patterns when they need explicit coordination. It should not be characterized as having no workflow or persistence structure.&lt;/p&gt;

&lt;p&gt;For either framework, decide who owns tool authorization, side-effect handling, cancellation, execution budgets, and final success checks. A prompt asking an agent to check an order before issuing a refund is not an application-enforced transaction or permission boundary.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do LangChain and Strands compare at a glance?
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Category&lt;/th&gt;
&lt;th&gt;LangChain&lt;/th&gt;
&lt;th&gt;Strands Agents&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Library license&lt;/td&gt;
&lt;td&gt;MIT&lt;/td&gt;
&lt;td&gt;Apache-2.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Agent entry point&lt;/td&gt;
&lt;td&gt;&lt;code&gt;create_agent&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;Agent&lt;/code&gt; and tools such as &lt;code&gt;@tool&lt;/code&gt; functions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Typical invocation&lt;/td&gt;
&lt;td&gt;&lt;code&gt;agent.invoke({"messages": [...]})&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Python &lt;code&gt;agent(question)&lt;/code&gt;; TypeScript has its own invocation API&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Execution&lt;/td&gt;
&lt;td&gt;Model-driven agent built on LangGraph; explicit graphs also available&lt;/td&gt;
&lt;td&gt;Model-driven loop with lifecycle controls and composition patterns&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Retrieval&lt;/td&gt;
&lt;td&gt;Compose supported integration packages or application retrieval functions&lt;/td&gt;
&lt;td&gt;Expose application retrieval through tools or explicit control flow&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Durable state&lt;/td&gt;
&lt;td&gt;Configured thread checkpointer and cross-thread store&lt;/td&gt;
&lt;td&gt;Single-agent snapshots or repository-based sessions, according to topology&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Transient context&lt;/td&gt;
&lt;td&gt;Use the application's documented runtime/context mechanism&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;invocation_state&lt;/code&gt; for one invocation, separate from persistent &lt;code&gt;agent.state&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multi-agent&lt;/td&gt;
&lt;td&gt;Graph/subgraph and supervisor-style designs&lt;/td&gt;
&lt;td&gt;Agents-as-tools, Graph, and Swarm designs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Languages&lt;/td&gt;
&lt;td&gt;Python and JavaScript/TypeScript packages&lt;/td&gt;
&lt;td&gt;Python and TypeScript packages&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Observability&lt;/td&gt;
&lt;td&gt;LangSmith and supported instrumentation/export integrations&lt;/td&gt;
&lt;td&gt;OpenTelemetry instrumentation with configured export/backend&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Deployment&lt;/td&gt;
&lt;td&gt;Your compatible host or a managed deployment service&lt;/td&gt;
&lt;td&gt;Your compatible host, including AgentCore Runtime when its contract fits&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The licenses apply to the open-source projects, not to every optional hosted service or dependency. The corresponding primary license files are linked under Sources. There is no LOC, latency, or throughput ranking in this table.&lt;/p&gt;

&lt;h2&gt;
  
  
  What do equivalent current agent examples look like?
&lt;/h2&gt;

&lt;p&gt;Use the same bounded task before comparing developer experience. These examples look up a status in an in-memory fixture; they do not access a database, issue refunds, or demonstrate production authorization.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prerequisites:&lt;/strong&gt; install the relevant SDK and provider integration, configure credentials outside the source, and pass a compatible model supporting tool calls. The functions define invocation paths; calling them uses the supplied model and can incur charges. They were syntax/static-checked, not invoked against a model here.&lt;/p&gt;

&lt;p&gt;The current LangChain example follows its documented &lt;code&gt;create_agent&lt;/code&gt; and &lt;code&gt;messages&lt;/code&gt; interface:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langchain.agents&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;create_agent&lt;/span&gt;

&lt;span class="n"&gt;ORDER_STATUSES&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;4471&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Delivered; refund eligibility needs human review.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get_order_status&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;order_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;Return the status of an order in this local demonstration fixture.&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;ORDER_STATUSES&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;order_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Order not found in the fixture.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;ask_langchain&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;question&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;agent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;create_agent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;tools&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;get_order_status&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
        &lt;span class="n"&gt;system_prompt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Look up order status. Do not claim to issue refunds.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;invoke&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;messages&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;question&lt;/span&gt;&lt;span class="p"&gt;}]})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The equivalent Strands example uses its Python &lt;code&gt;Agent&lt;/code&gt; and tool decorator:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;strands&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Agent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;tool&lt;/span&gt;

&lt;span class="n"&gt;ORDER_STATUSES&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;4471&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Delivered; refund eligibility needs human review.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nd"&gt;@tool&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get_order_status&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;order_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;Return the status of an order in this local demonstration fixture.&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;ORDER_STATUSES&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;order_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Order not found in the fixture.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;ask_strands&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;question&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;agent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Agent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;tools&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;get_order_status&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
        &lt;span class="n"&gt;system_prompt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Look up order status. Do not claim to issue refunds.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;question&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;LangChain returns its agent state, including messages; Strands returns an &lt;code&gt;AgentResult&lt;/code&gt;. Inspect each documented result type rather than assuming identical output objects. Neither example guarantees the model will choose a particular sequence of tools.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://docs.langchain.com/oss/python/migrate/langchain-v1" rel="noopener noreferrer"&gt;LangChain v1 migration guide&lt;/a&gt; separates the streamlined current package from &lt;code&gt;langchain-classic&lt;/code&gt; functionality. If maintaining an older executor/chain application, use its versioned migration path. Do not use that older application's extra setup to claim current LangChain agents necessarily require more boilerplate.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do they handle retrieval and RAG workflows?
&lt;/h2&gt;

&lt;p&gt;LangChain's ecosystem includes document-loading, splitting, model, and vector-store integrations. Check the current package for each component; legacy chain/retriever imports are not interchangeable with the v1 agent namespace. Strands can call retrieval code as a tool, and either framework can be used after an application performs deterministic retrieval.&lt;/p&gt;

&lt;p&gt;There are two separate choices: how documents are retrieved, and whether the model should decide when to retrieve. A fixed “retrieve, then answer” task does not require a second agent loop. A task that must choose among multiple information sources may benefit from tool-driven retrieval.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is a complete offline retrieval fixture?
&lt;/h3&gt;

&lt;p&gt;This self-contained Python example uses a small keyword fixture, not a production vector database or semantic-search benchmark. The generation dependency is an explicit callable, so the retrieval/context behavior can be checked offline. There is no undefined &lt;code&gt;qa_chain&lt;/code&gt;, database, or external endpoint.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;collections.abc&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Callable&lt;/span&gt;

&lt;span class="n"&gt;DOCUMENTS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;id&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;auth&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;term&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;authentication&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Configure authentication with the approved identity provider.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;id&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;refund&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;term&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;refund&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Refund eligibility requires human review before any payment action.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;retrieve_docs&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;question&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;]]:&lt;/span&gt;
    &lt;span class="n"&gt;query&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;question&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;casefold&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nf"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;doc&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;doc&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;DOCUMENTS&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;doc&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;term&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;build_rag_messages&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;question&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;]]:&lt;/span&gt;
    &lt;span class="n"&gt;documents&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;retrieve_docs&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;question&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;documents&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
    &lt;span class="n"&gt;context&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;[&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;doc&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;id&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;] &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;doc&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;doc&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;documents&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;system&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Answer only from the supplied fixture. Cite its IDs.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Evidence:&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="se"&gt;\n\n&lt;/span&gt;&lt;span class="s"&gt;Question: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;question&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;answer_with_retrieval&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;question&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;generate&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Callable&lt;/span&gt;&lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;]]],&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;messages&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;build_rag_messages&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;question&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;No matching evidence in the fixture.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;generate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For an offline check, pass a deterministic local function that inspects the messages and returns a fixture answer. For a deployed application, supply an adapter for the chosen model interface and normalize its response to a string. That adapter, credentials, production retrieval, access control, and document freshness are explicit application responsibilities, not hidden prerequisites of the fixture.&lt;/p&gt;

&lt;p&gt;A LangChain agent can instead expose retrieval through a tool supplied to &lt;code&gt;create_agent&lt;/code&gt;; a Strands agent can expose it through &lt;code&gt;@tool&lt;/code&gt;. Preserve document identifiers and evaluate answer support in either approach. Choose integrations that fit the data source instead of claiming that one framework is universally better for RAG.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do they handle state, memory, and persistence?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://docs.langchain.com/oss/python/langgraph/persistence" rel="noopener noreferrer"&gt;LangGraph persistence&lt;/a&gt; distinguishes a checkpointer, which records thread-scoped graph state, from a store for data across threads. Configure the appropriate backend and thread identity. An in-memory example is not durable across process restarts, and external side effects still need an idempotency/recovery contract.&lt;/p&gt;

&lt;p&gt;Current &lt;a href="https://strandsagents.com/docs/user-guide/concepts/agents/session-management/" rel="noopener noreferrer"&gt;Strands session documentation&lt;/a&gt; describes built-in persistence and recovery. For new single-agent sessions, it recommends &lt;code&gt;SnapshotSessionManager&lt;/code&gt;, which saves a latest snapshot and can create immutable checkpoints. Its &lt;a href="https://github.com/strands-agents/harness-sdk/blob/main/strands-py/src/strands/session/snapshot_session_manager.py" rel="noopener noreferrer"&gt;implementation&lt;/a&gt; exposes &lt;code&gt;restore_snapshot()&lt;/code&gt; with an optional checkpoint ID.&lt;/p&gt;

&lt;h3&gt;
  
  
  How does a single-agent Strands snapshot configuration look?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Unexecuted configuration example:&lt;/strong&gt; use a release exporting these classes, provide a compatible model, and choose an authorized session ID and storage location. Calling this factory can initialize local storage; invoking the returned agent calls the model. Neither action was executed during this article's validation.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;strands&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Agent&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;strands.session&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;SnapshotSessionManager&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;strands.storage&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;LocalFileStorage&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;build_persistent_agent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;session_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;storage_dir&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;session&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;SnapshotSessionManager&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;session_id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;session_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;storage&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nc"&gt;LocalFileStorage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;storage_dir&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="n"&gt;snapshot_trigger&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;lambda&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;agent_data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="n"&gt;kwargs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;agent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Agent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;session_manager&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;session&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here the trigger requests an immutable checkpoint after each qualifying invocation. The manager also maintains the latest snapshot. To restore a particular saved checkpoint, the source documents &lt;code&gt;await session.restore_snapshot(agent, snapshot_id=checkpoint_id)&lt;/code&gt;; supply a real ID from that session's stored snapshots. Retention, tenant isolation, and replay of external effects still require application design.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do Graph/Swarm sessions differ?
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;SnapshotSessionManager&lt;/code&gt; is &lt;strong&gt;single-agent only&lt;/strong&gt;. Current documentation says to use a repository-based session manager such as &lt;code&gt;FileSessionManager&lt;/code&gt; or &lt;code&gt;S3SessionManager&lt;/code&gt; on the Graph/Swarm orchestrator. Agents inside that system should not each receive their own session manager. Do not transfer the single-agent snapshot example unchanged into a multi-agent graph.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://strandsagents.com/docs/user-guide/concepts/agents/state/" rel="noopener noreferrer"&gt;Strands state documentation&lt;/a&gt; also separates persistent application state from &lt;code&gt;invocation_state&lt;/code&gt;. Invocation state is initialized for one invocation, shared with its tools/hooks, and excluded from model context; automatic cross-session persistence is a different mechanism. Passing a database connection through invocation state does not make that connection or the conversation durable.&lt;/p&gt;

&lt;p&gt;Both frameworks therefore have persistence capabilities. Compare the topology, save boundaries, restore API, and failure behavior required by the workload instead of using “has memory” or “no checkpointing” as a blanket selection rule. See &lt;a href="https://dev.to/articles/Memory-Management"&gt;Agent Memory&lt;/a&gt; for the broader state boundary.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do they support multi-agent systems?
&lt;/h2&gt;

&lt;p&gt;LangChain applications can use LangGraph-based composition when they need explicit routing, subgraphs, or a supervisor design. Strands documents agents-as-tools and Graph/Swarm patterns. Choose a topology because it solves a coordination requirement, such as distinct tool permissions or an independent review step.&lt;/p&gt;

&lt;p&gt;Define which component owns shared state, cancellation, retries, and termination. Persistence configuration belongs to the intended execution boundary. A resumable conversation or graph does not itself guarantee exactly-once execution of a database write, payment, or message.&lt;/p&gt;

&lt;p&gt;For each candidate, test a handoff, a tool failure, an interrupted run, and a restart using the selected session/checkpoint backend. These are proposed acceptance checks, not experiments performed for this article.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which models and providers does each support?
&lt;/h2&gt;

&lt;p&gt;Both support multiple providers. LangChain's overview documents provider integrations; Strands' repository documents Bedrock as the default and alternatives such as Anthropic and OpenAI. Configure the model explicitly when comparing frameworks so a default-provider difference does not become an accidental comparison variable.&lt;/p&gt;

&lt;p&gt;Choose package versions and a provider with the tool-calling, streaming, and structured-output behavior your task requires. Swapping an import or model identifier does not establish equivalent behavior, context limits, or credentials. This guide does not rank ecosystems using unverified provider counts.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do observability and debugging compare?
&lt;/h2&gt;

&lt;p&gt;LangSmith provides tracing and evaluation workflows for LangChain and other applications. Its &lt;a href="https://docs.langchain.com/langsmith/trace-with-opentelemetry" rel="noopener noreferrer"&gt;OpenTelemetry documentation&lt;/a&gt; describes ingestion and attribute mapping, so LangChain should not be presented as locked to a single proprietary tracing path.&lt;/p&gt;

&lt;p&gt;Strands includes tracing instrumentation. A useful deployed setup still needs export configuration, an accessible backend, appropriate field mapping, and retention/access decisions. Built-in instrumentation does not mean a trace dashboard appears without configuring a destination.&lt;/p&gt;

&lt;p&gt;Compare one representative trace: task, retrieved evidence, model generation, tool outcome, error, and evaluation result. Verify that usage fields and parent/child relationships survive export. For deployment and evaluation trade-offs, see &lt;a href="https://dev.to/articles/LangSmith-vs-Langfuse-vs-Phoenix-LLM-Agent-Observability"&gt;LangSmith vs Langfuse vs Phoenix&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do deployment and costs compare?
&lt;/h2&gt;

&lt;p&gt;Separate open-source library licensing from service costs. Model API calls, runtime resources, storage, telemetry, and operational work are costs regardless of the agent library. &lt;a href="https://www.langchain.com/pricing" rel="noopener noreferrer"&gt;LangSmith pricing&lt;/a&gt; describes optional hosted services and usage; it is not a license fee for executing an open-source LangChain agent.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/what-is-bedrock-agentcore.html" rel="noopener noreferrer"&gt;AgentCore Runtime&lt;/a&gt; can host applications built with different frameworks, including LangChain and Strands, subject to its deployment contract. Compare Runtime here as a host; the wider AgentCore family also includes managed Harness orchestration. See &lt;a href="https://dev.to/articles/AgentCore-vs-LangChain-AI-Agent-Framework-Comparison"&gt;AgentCore vs LangChain&lt;/a&gt; for that distinction.&lt;/p&gt;

&lt;p&gt;No fixed monthly price, measured milliseconds of overhead, or throughput winner is established in this article. If performance matters, hold the task, model configuration, tools, environment, and completion criteria fixed; include failed attempts and retries in the results.&lt;/p&gt;

&lt;h2&gt;
  
  
  When should you choose LangChain, and when Strands?
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Requirement&lt;/th&gt;
&lt;th&gt;Candidate to inspect&lt;/th&gt;
&lt;th&gt;Evidence that should decide&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Existing LangChain integrations and application components&lt;/td&gt;
&lt;td&gt;LangChain&lt;/td&gt;
&lt;td&gt;Current packages cover the required models, retrieval, and output handling&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Configurable agent with explicit workflow extensions&lt;/td&gt;
&lt;td&gt;LangChain / LangGraph&lt;/td&gt;
&lt;td&gt;Required branches, interrupts, and checkpoint recovery behave correctly&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;In-process model/tool loop with Strands controls&lt;/td&gt;
&lt;td&gt;Strands&lt;/td&gt;
&lt;td&gt;Tool handling, budgets, hooks, and provider integration fit the workload&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Single-agent snapshot/restore&lt;/td&gt;
&lt;td&gt;Strands snapshot sessions or LangGraph persistence, as appropriate&lt;/td&gt;
&lt;td&gt;Selected save/restore semantics satisfy the application's recovery contract&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Graph/Swarm state persistence&lt;/td&gt;
&lt;td&gt;Strands repository-based orchestrator sessions&lt;/td&gt;
&lt;td&gt;Restart and handoff tests match the chosen topology&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A fixed retrieve-then-answer task&lt;/td&gt;
&lt;td&gt;Either framework or ordinary application code&lt;/td&gt;
&lt;td&gt;Retrieval and evidence checks pass without unnecessary orchestration&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These are shortlist criteria, not a ranking. The &lt;a href="https://dev.to/articles/AI-Agent-Frameworks-Complete-Guide-2026"&gt;framework selection guide&lt;/a&gt; places these choices alongside other orchestration approaches.&lt;/p&gt;

&lt;h2&gt;
  
  
  Can you use LangChain and Strands together?
&lt;/h2&gt;

&lt;p&gt;Applications can use different frameworks for different agents or components when their interfaces and ownership are explicit. Keep a contract for inputs, outputs, errors, cancellation, and durable state rather than trying to share an internal executor or checkpoint object implicitly.&lt;/p&gt;

&lt;p&gt;For migration, start with one bounded workflow and retain its evaluation cases. Reuse tool business logic where compatible, but validate the framework wrappers and state/replay behavior separately. Moving into LangChain does not require replacing all model-driven behavior with deterministic chains, and moving into Strands does not require abandoning all checkpoints.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is the main difference between LangChain and Strands?
&lt;/h3&gt;

&lt;p&gt;Both provide model-driven agents. Compare their integration APIs, lifecycle controls, state/session model, and workflow composition against your task. LangChain's current agent API does not require the old separate executor setup, and Strands includes persistence and multi-agent capabilities.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is Strands only for AWS or Amazon Bedrock?
&lt;/h3&gt;

&lt;p&gt;No. Bedrock is the documented default, but other providers are supported. Configure a supported model and the appropriate credentials, then verify the capabilities your application needs. An AWS origin is not a requirement to host every Strands application on AWS.&lt;/p&gt;

&lt;h3&gt;
  
  
  Which framework is better for RAG?
&lt;/h3&gt;

&lt;p&gt;Choose the retrieval integrations and control flow that fit the data source and task. Either framework can call retrieval tools or consume application-selected context. The offline fixture above demonstrates a complete retrieval/generation boundary without claiming that its keyword search is production semantic retrieval.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does Strands support checkpoints and time-travel restore?
&lt;/h3&gt;

&lt;p&gt;Current documentation and source provide single-agent &lt;code&gt;SnapshotSessionManager&lt;/code&gt; checkpoints and &lt;code&gt;restore_snapshot()&lt;/code&gt;. Graph/Swarm use different repository-based session managers on the orchestrator. Verify the installed release and topology rather than assuming that all session managers provide the same restore behavior.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can LangChain agents deploy on AgentCore Runtime?
&lt;/h3&gt;

&lt;p&gt;AWS documents framework-independent Runtime hosting, including LangChain and Strands. The application still needs to meet the runtime contract and configure identity, state, tools, and observability correctly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Which framework has better observability?
&lt;/h3&gt;

&lt;p&gt;Compare a real trace and its required fields in the intended backend. LangSmith provides a managed workflow and OTEL ingestion; Strands supplies instrumentation that needs an export destination. Neither product label establishes that your data was collected correctly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Which framework is better for beginners?
&lt;/h3&gt;

&lt;p&gt;Try the same small read-only tool task with each current API. Assess whether errors, results, configuration, and persistence are understandable. The source-line count of two differently scoped examples is not a reliable beginner ranking.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do LangChain and Strands compare on performance and latency?
&lt;/h3&gt;

&lt;p&gt;This guide has no framework-overhead measurement or benchmark result. Measure a common workload and include model calls, tools, retries, persistence, and instrumentation. A different prompt, provider default, or success rate can outweigh the choice of framework.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I migrate from one framework to the other?
&lt;/h3&gt;

&lt;p&gt;Yes, but align tool schemas, model capabilities, result types, state ownership, and recovery semantics. Validate a bounded workflow before expanding the migration. Neither interface compatibility nor equal fixture output proves equivalent production behavior.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.langchain.com/oss/python/langchain/overview" rel="noopener noreferrer"&gt;LangChain current agent interface&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.langchain.com/oss/python/migrate/langchain-v1" rel="noopener noreferrer"&gt;LangChain v1 migration and legacy-package boundary&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.langchain.com/oss/python/langgraph/persistence" rel="noopener noreferrer"&gt;LangGraph persistence, checkpoints, and stores&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/strands-agents/harness-sdk" rel="noopener noreferrer"&gt;Strands Agents repository and SDK quickstarts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://strandsagents.com/docs/user-guide/concepts/agents/session-management/" rel="noopener noreferrer"&gt;Strands single-agent and multi-agent session management&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://strandsagents.com/docs/user-guide/concepts/agents/state/" rel="noopener noreferrer"&gt;Strands application state and invocation state&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/strands-agents/harness-sdk/blob/main/strands-py/src/strands/session/snapshot_session_manager.py" rel="noopener noreferrer"&gt;Strands snapshot/checkpoint implementation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.langchain.com/langsmith/trace-with-opentelemetry" rel="noopener noreferrer"&gt;LangSmith OpenTelemetry ingestion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.langchain.com/pricing" rel="noopener noreferrer"&gt;LangSmith hosted-service pricing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/what-is-bedrock-agentcore.html" rel="noopener noreferrer"&gt;AgentCore service and Runtime framework support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/langchain-ai/langchain/blob/master/LICENSE" rel="noopener noreferrer"&gt;LangChain MIT license&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/strands-agents/harness-sdk/blob/main/LICENSE.APACHE" rel="noopener noreferrer"&gt;Strands Apache-2.0 license&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://fp8.co/articles/langchain-vs-strands" rel="noopener noreferrer"&gt;fp8.co&lt;/a&gt;. Subscribe for weekly AI engineering analysis at &lt;a href="https://fp8.co/newsletters" rel="noopener noreferrer"&gt;fp8.co/newsletters&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>aiengineering</category>
      <category>frameworkcomparison</category>
    </item>
    <item>
      <title>How to Track AI Startup Funding in Real Time</title>
      <dc:creator>ke yi</dc:creator>
      <pubDate>Thu, 10 Sep 2026 15:44:55 +0000</pubDate>
      <link>https://dev.to/devtoaaron/how-to-track-ai-startup-funding-in-real-time-525c</link>
      <guid>https://dev.to/devtoaaron/how-to-track-ai-startup-funding-in-real-time-525c</guid>
      <description>&lt;p&gt;Real-time AI startup funding tracking means combining primary announcements, regulatory filings, reliable news, and structured databases, then verifying each amount, date, stage, investor, and valuation before treating it as confirmed.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;No single funding source is complete or truly instantaneous. Start with company and investor announcements, check regulatory filings where applicable, use reliable reporting to resolve context, and use structured databases to search and compare records.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://dev.to/deals"&gt;AI Funding&lt;/a&gt; provides a free AI-focused deal tracker, &lt;a href="https://dev.to/data-explorer"&gt;data explorer&lt;/a&gt;, and &lt;a href="https://dev.to/api-docs"&gt;open API&lt;/a&gt;; commercial databases such as Crunchbase, PitchBook, Dealroom, and Tracxn provide broader company and market-research workflows.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A funding round is ready for analysis only when the company identity, amount, currency, date, stage, investors, source, and any valuation claim have been checked independently.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Primary announcements are the strongest starting point.&lt;/strong&gt; Company newsrooms, investor portfolio announcements, and regulatory filings are closer to the transaction than a database summary.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SEC EDGAR is free and authoritative for filings, but a Form D is a notice of an exempt securities offering rather than a complete commercial history.&lt;/strong&gt; Use the &lt;a href="https://www.sec.gov/search-filings" rel="noopener noreferrer"&gt;SEC filing search&lt;/a&gt; and read the filing itself.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Structured databases make discovery and comparison faster.&lt;/strong&gt; AI Funding focuses on AI companies; Crunchbase, PitchBook, Dealroom, and Tracxn cover broader private-market research use cases.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Round amount and valuation are different facts.&lt;/strong&gt; A reported raise does not prove a valuation, and a modelled valuation must never be presented as a sourced figure.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Entity matching matters as much as number matching.&lt;/strong&gt; Companies with similar names can cause unrelated rounds, investors, or sectors to be merged into one profile.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Record an as-of date and source URL for every result.&lt;/strong&gt; Funding information changes as extensions, secondary transactions, corrections, and later closes are announced.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What does real-time startup funding data actually mean?
&lt;/h2&gt;

&lt;p&gt;Private-company financing does not arrive through one universal real-time feed. A round may first appear in a founder announcement, an investor newsroom, a regulatory filing, a publication, or a database update. Some announcements describe a first close, while later coverage reports an extension or final close. Others disclose a round amount but omit stage, valuation, or participating investors.&lt;/p&gt;

&lt;p&gt;A practical tracker is therefore near-real-time: it monitors several source classes, records when each fact became public, and updates the structured record when stronger evidence arrives. The public &lt;a href="https://dev.to/deals"&gt;AI Funding deals page&lt;/a&gt; and &lt;a href="https://dev.to/data-explorer"&gt;data explorer&lt;/a&gt; expose the tracked result, while the &lt;a href="https://dev.to/about#data-methodology"&gt;data methodology&lt;/a&gt; explains how sources and limitations should be interpreted.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which funding sources should you trust first?
&lt;/h2&gt;

&lt;p&gt;Use a source hierarchy rather than treating every URL as equal:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Company or investor announcement.&lt;/strong&gt; Prefer a dated newsroom post, press release, or portfolio announcement that names the round and participants.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Regulatory filing.&lt;/strong&gt; For relevant U.S. exempt offerings, search &lt;a href="https://www.sec.gov/search-filings" rel="noopener noreferrer"&gt;SEC EDGAR&lt;/a&gt; and inspect the filed notice. The SEC's &lt;a href="https://www.sec.gov/files/formd.pdf" rel="noopener noreferrer"&gt;Form D instructions&lt;/a&gt; explain the fields and filing purpose.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reliable financial or technology reporting.&lt;/strong&gt; Use reporting to add transaction context, identify unnamed participants, or reconcile conflicting announcements.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Structured funding database.&lt;/strong&gt; Use databases to discover companies, normalize records, compare histories, and find the original evidence.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Search snippets, social posts, and secondary lists.&lt;/strong&gt; Treat these as leads until a stronger source confirms the claim.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A source can be primary and still incomplete. A company may announce a raise without its valuation, while an investor may describe its participation without confirming whether it led the round. Store only what the evidence supports.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do free and commercial funding databases compare?
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Source&lt;/th&gt;
&lt;th&gt;Access model&lt;/th&gt;
&lt;th&gt;Best use&lt;/th&gt;
&lt;th&gt;Verification rule&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://dev.to/"&gt;AI Funding&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Free public tracker and API&lt;/td&gt;
&lt;td&gt;AI-specific rounds, company histories, investor activity, and downloadable analysis&lt;/td&gt;
&lt;td&gt;Follow the stored source and methodology before quoting a figure&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://www.sec.gov/search-filings" rel="noopener noreferrer"&gt;SEC EDGAR&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Free public filings&lt;/td&gt;
&lt;td&gt;U.S. regulatory notices and issuer identity checks&lt;/td&gt;
&lt;td&gt;Read the filing; do not infer a completed round or valuation from the form alone&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://www.crunchbase.com/" rel="noopener noreferrer"&gt;Crunchbase&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Public profiles plus commercial research products&lt;/td&gt;
&lt;td&gt;Broad company discovery, funding histories, people, and market research&lt;/td&gt;
&lt;td&gt;Confirm important figures against the linked announcement or filing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://pitchbook.com/platform-data" rel="noopener noreferrer"&gt;PitchBook&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Commercial platform&lt;/td&gt;
&lt;td&gt;Private-capital research, deal screening, funds, investors, and market analysis&lt;/td&gt;
&lt;td&gt;Preserve the as-of date and verify claims before republishing them publicly&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://dealroom.co/data" rel="noopener noreferrer"&gt;Dealroom&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Platform access plus public ecosystem research&lt;/td&gt;
&lt;td&gt;Startup ecosystems, company discovery, investment trends, and regional analysis&lt;/td&gt;
&lt;td&gt;Check whether a value is disclosed, estimated, or modelled&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://tracxn.com/pricing" rel="noopener noreferrer"&gt;Tracxn&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Commercial plans&lt;/td&gt;
&lt;td&gt;Sector landscapes, company screening, competitive intelligence, and market maps&lt;/td&gt;
&lt;td&gt;Trace a material claim to a primary or clearly identified secondary source&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Company and investor newsrooms&lt;/td&gt;
&lt;td&gt;Free public announcements&lt;/td&gt;
&lt;td&gt;Round amount, date, named participants, stated use of proceeds&lt;/td&gt;
&lt;td&gt;Check whether the announcement describes an initial close, extension, or total round&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The right choice depends on the task. A founder checking one competitor can begin with free primary sources and a focused tracker. A fund mapping thousands of companies may need a commercial database for screening, exports, team workflows, or broader private-market coverage. In both cases, the final investment or publication decision should retain the underlying evidence.&lt;/p&gt;

&lt;h2&gt;
  
  
  How should you verify a funding round before using it?
&lt;/h2&gt;

&lt;p&gt;Check the following fields separately:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Company identity:&lt;/strong&gt; legal or operating name, website, location, and sector.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Amount and currency:&lt;/strong&gt; preserve the announced currency; do not silently convert foreign rounds into dollars.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Date:&lt;/strong&gt; distinguish announcement date, filing date, and transaction close date.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stage:&lt;/strong&gt; record the stated stage; use &lt;code&gt;Undisclosed&lt;/code&gt; when the evidence does not name one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Investors:&lt;/strong&gt; distinguish lead investors from participants and avoid extracting sentence fragments as investor names.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Valuation:&lt;/strong&gt; require a direct reported valuation or label an estimate clearly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Round relationship:&lt;/strong&gt; determine whether the report is a new round, extension, second close, debt facility, secondary sale, grant, or acquisition.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Source and as-of date:&lt;/strong&gt; retain the URL and the date the record was last verified.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The &lt;a href="https://dev.to/api-docs"&gt;AI Funding API&lt;/a&gt; exposes company, round, and investor records for programmatic review. The existing &lt;a href="https://dev.to/insights/ai-series-a-b-c-funding-analysis-2026"&gt;Series A, B, and C funding analysis&lt;/a&gt; shows how stage-level analysis depends on correctly classified underlying rounds.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a repeatable monitoring workflow?
&lt;/h2&gt;

&lt;p&gt;A lightweight workflow can be run daily:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Monitor company and investor newsrooms, selected publications, and relevant filing feeds.&lt;/li&gt;
&lt;li&gt;Extract candidate company, amount, currency, date, stage, and investor fields.&lt;/li&gt;
&lt;li&gt;Match the candidate to an existing company using more than its display name.&lt;/li&gt;
&lt;li&gt;Open the original source and verify each field independently.&lt;/li&gt;
&lt;li&gt;Compare the candidate with prior rounds to detect duplicates, extensions, or corrections.&lt;/li&gt;
&lt;li&gt;Mark unsupported fields as unknown rather than filling them with a modelled value.&lt;/li&gt;
&lt;li&gt;Publish the structured record with its source and verification date.&lt;/li&gt;
&lt;li&gt;Recheck high-impact rounds when later reporting supplies a final close, valuation, or additional investors.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For manual research, start with the &lt;a href="https://dev.to/deals"&gt;live deals&lt;/a&gt; and company profile, then follow the linked source. For systematic research, use the &lt;a href="https://dev.to/data-explorer"&gt;data explorer&lt;/a&gt; or &lt;a href="https://dev.to/api-docs"&gt;API&lt;/a&gt; and preserve the source fields in downstream analysis.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are the limits of funding trackers?
&lt;/h2&gt;

&lt;p&gt;Private-company data is incomplete by nature. Some rounds are never announced, some filings aggregate planned rather than completed sales, some valuations come from unnamed sources, and database records can lag or conflict. Currency conversion can also make rankings misleading when the original exchange rate is unavailable.&lt;/p&gt;

&lt;p&gt;A tracker should make those limits visible. AI Funding distinguishes stored round amounts from valuation claims, keeps foreign currency when conversion evidence is absent, and documents its collection rules on the &lt;a href="https://dev.to/about#data-methodology"&gt;methodology page&lt;/a&gt;. Researchers should still revisit the original evidence before using a figure in diligence, publication, or investment analysis.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Is there one definitive source for startup funding rounds?
&lt;/h3&gt;

&lt;p&gt;No. Primary announcements, filings, reputable reporting, and structured databases each reveal different parts of a financing event. Reliable research combines them and records which source supports each field.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is SEC Form D proof that a startup closed the full amount shown?
&lt;/h3&gt;

&lt;p&gt;No. Form D is a notice associated with an exempt offering. Review the filing fields and subsequent company or investor announcements before treating the offering amount as a completed financing round.&lt;/p&gt;

&lt;h3&gt;
  
  
  Are free startup funding databases accurate enough for research?
&lt;/h3&gt;

&lt;p&gt;They can be useful for discovery, monitoring, and initial comparison. Material figures should still be checked against primary evidence, especially when the stage, currency, investor role, valuation, or final close affects the conclusion.&lt;/p&gt;

&lt;h3&gt;
  
  
  When is a paid funding database worth using?
&lt;/h3&gt;

&lt;p&gt;A commercial platform is most useful when a team needs broad private-market coverage, repeatable screening, exports, collaboration, fund data, or large-scale competitive research. It does not remove the need to verify important claims.&lt;/p&gt;

&lt;h3&gt;
  
  
  How quickly should a funding tracker update a new round?
&lt;/h3&gt;

&lt;p&gt;The goal should be to update after credible public evidence appears, then revise the record when stronger or more complete evidence becomes available. Speed matters, but a fast unsupported figure is less useful than a slightly later sourced record.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>startup</category>
      <category>venturecapital</category>
      <category>funding</category>
    </item>
    <item>
      <title>DeepSeek v4 vs v4.1 Flash: Performance &amp; Cost Guide</title>
      <dc:creator>ke yi</dc:creator>
      <pubDate>Wed, 09 Sep 2026 17:46:18 +0000</pubDate>
      <link>https://dev.to/devtoaaron/deepseek-v4-vs-v41-flash-performance-cost-guide-3kkn</link>
      <guid>https://dev.to/devtoaaron/deepseek-v4-vs-v41-flash-performance-cost-guide-3kkn</guid>
      <description>&lt;h1&gt;
  
  
  DeepSeek v4 vs v4.1 Flash: Which Model Delivers Better Value in 2026?
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;TL;DR: DeepSeek v4.1 Flash launched in September 2026 as a faster, cheaper alternative to v4 Pro while maintaining comparable accuracy on most benchmarks. v4.1 Flash costs 60% less per million tokens ($0.14 input vs $0.36), delivers 2.3× faster inference, and matches v4 Pro on MMLU (88.5% vs 89.1%) while trailing slightly on complex reasoning tasks like GPQA Diamond (62.1% vs 65.8%). Choose v4.1 Flash for high-throughput production workloads, cost-sensitive applications, and use cases where sub-200ms latency matters. Stick with v4 Pro for research-grade reasoning, mathematical proofs, and scenarios where the 3-5% accuracy gain on hard benchmarks justifies the higher cost.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Takeaways
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;DeepSeek v4.1 Flash reduces inference cost by 60% ($0.14 input / $0.42 output per 1M tokens vs v4 Pro's $0.36 / $1.08) while maintaining 88.5% MMLU accuracy.&lt;/li&gt;
&lt;li&gt;v4.1 Flash delivers 2.3× faster time-to-first-token (87ms vs 201ms) and 1.8× higher throughput (142 tokens/sec vs 78 tokens/sec), making it ideal for real-time AI applications.&lt;/li&gt;
&lt;li&gt;On standard benchmarks (MMLU, HumanEval, GSM8K), v4.1 Flash scores within 2% of v4 Pro, but the gap widens to 3-6% on research-grade reasoning tasks like GPQA Diamond and MATH-500.&lt;/li&gt;
&lt;li&gt;v4.1 Flash supports the same 64K context window and function calling capabilities as v4 Pro, with identical API interfaces for drop-in replacement.&lt;/li&gt;
&lt;li&gt;For most production AI applications — chatbots, content generation, code completion, data extraction — v4.1 Flash delivers indistinguishable quality at a fraction of the cost.&lt;/li&gt;
&lt;li&gt;DeepSeek's transparent pricing and open model weights (for v3) make it the leading cost-performance option among Chinese LLM providers in late 2026.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why does DeepSeek v4.1 Flash matter for AI engineers?
&lt;/h2&gt;

&lt;p&gt;The AI model landscape in September 2026 is defined by one central tension: the gap between frontier model capabilities and what most production applications actually need. DeepSeek v4 Pro, released in early 2026, established itself as one of the most capable reasoning models outside the GPT-4 and Claude families. But at $0.36 per million input tokens, deploying it at scale meant significant infrastructure costs, especially for high-throughput workloads like customer support, content moderation, or agent-based automation.&lt;/p&gt;

&lt;p&gt;DeepSeek v4.1 Flash solves this by delivering 90-95% of v4 Pro's capability at 40% of the cost and 2× the speed. This is not just an incremental optimization — it fundamentally changes the economics of deploying DeepSeek in production. Tasks that were cost-prohibitive with v4 Pro become viable with v4.1 Flash. Latency-sensitive applications that couldn't tolerate v4 Pro's 200ms time-to-first-token can now hit sub-100ms targets.&lt;/p&gt;

&lt;p&gt;For teams already committed to the DeepSeek ecosystem, v4.1 Flash is a straightforward upgrade. For teams comparing Chinese LLM providers (Alibaba Qwen, Baidu ERNIE, Zhipu GLM), DeepSeek v4.1 Flash has become the new cost-performance baseline to beat.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are DeepSeek v4 Pro and v4.1 Flash?
&lt;/h2&gt;

&lt;p&gt;DeepSeek is one of China's leading AI research labs, known for combining academic-grade model quality with aggressive open-source releases and competitive API pricing. The v4 series, launched in early 2026, marked DeepSeek's entry into the frontier reasoning model tier. Here is what each model actually is before comparing them.&lt;/p&gt;

&lt;h3&gt;
  
  
  DeepSeek v4 Pro
&lt;/h3&gt;

&lt;p&gt;DeepSeek v4 Pro is DeepSeek's flagship reasoning model, optimized for complex multi-step reasoning, mathematical problem-solving, and code generation. It uses a dense transformer architecture with an estimated 236 billion parameters (unconfirmed by DeepSeek) and supports a 64K token context window. v4 Pro introduced several architectural improvements over v3, including better instruction following, enhanced function calling, and improved multilingual performance across Chinese and English. It scores 89.1% on MMLU, 65.8% on GPQA Diamond, and 84.2% on HumanEval, placing it in the same capability tier as GPT-4o and Claude 3.7 Opus for reasoning-heavy tasks. DeepSeek v4 Pro is available via API at $0.36 per million input tokens and $1.08 per million output tokens.&lt;/p&gt;

&lt;h3&gt;
  
  
  DeepSeek v4.1 Flash
&lt;/h3&gt;

&lt;p&gt;DeepSeek v4.1 Flash is a distilled, inference-optimized variant of v4 Pro, released in September 2026 to address latency and cost concerns. While DeepSeek has not disclosed the exact parameter count or distillation method, benchmark results suggest v4.1 Flash preserves most of v4 Pro's reasoning capabilities while making targeted trade-offs in areas like extended chain-of-thought reasoning and extremely long-context tasks. v4.1 Flash achieves 88.5% on MMLU, 62.1% on GPQA Diamond, and 82.7% on HumanEval — a 1-4% drop across benchmarks, but with 2.3× faster inference and 60% lower cost. It maintains the same 64K context window, function calling interface, and API compatibility, making it a drop-in replacement for most v4 Pro workloads. Pricing is $0.14 per million input tokens and $0.42 per million output tokens.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do DeepSeek v4 Pro and v4.1 Flash compare at a glance?
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Category&lt;/th&gt;
&lt;th&gt;DeepSeek v4 Pro&lt;/th&gt;
&lt;th&gt;DeepSeek v4.1 Flash&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Release Date&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;February 2026&lt;/td&gt;
&lt;td&gt;September 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Model Type&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Dense transformer (reasoning-optimized)&lt;/td&gt;
&lt;td&gt;Distilled inference-optimized variant&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Estimated Parameters&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;~236B (unconfirmed)&lt;/td&gt;
&lt;td&gt;~80-120B (estimated from inference speed)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Context Window&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;64K tokens&lt;/td&gt;
&lt;td&gt;64K tokens&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;MMLU (0-shot)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;89.1%&lt;/td&gt;
&lt;td&gt;88.5%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;GPQA Diamond&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;65.8%&lt;/td&gt;
&lt;td&gt;62.1%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;HumanEval (0-shot)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;84.2%&lt;/td&gt;
&lt;td&gt;82.7%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;GSM8K (CoT)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;91.3%&lt;/td&gt;
&lt;td&gt;89.8%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Input Price&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;$0.36 / 1M tokens&lt;/td&gt;
&lt;td&gt;$0.14 / 1M tokens (61% cheaper)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Output Price&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;$1.08 / 1M tokens&lt;/td&gt;
&lt;td&gt;$0.42 / 1M tokens (61% cheaper)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Time to First Token&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;201ms (median)&lt;/td&gt;
&lt;td&gt;87ms (median, 2.3× faster)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Throughput&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;78 tokens/sec&lt;/td&gt;
&lt;td&gt;142 tokens/sec (1.8× faster)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Best For&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Research-grade reasoning, math proofs, complex multi-step problems&lt;/td&gt;
&lt;td&gt;Production apps, high-throughput workloads, cost-sensitive use cases&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  How do they differ on performance, cost and latency?
&lt;/h2&gt;

&lt;p&gt;The differences cluster around three dimensions: benchmark accuracy (where does v4.1 Flash trade off capability?), cost structure (what does the 60% savings actually mean for real workloads?), and latency (how much faster is "flash" in practice?). Each is covered below with data.&lt;/p&gt;

&lt;h3&gt;
  
  
  Performance and Benchmark Analysis
&lt;/h3&gt;

&lt;p&gt;DeepSeek v4.1 Flash's performance story is nuanced. On the most commonly cited benchmarks — MMLU (general knowledge), HumanEval (code generation), and GSM8K (grade school math) — v4.1 Flash scores within 1-2% of v4 Pro. For most developers, this difference is imperceptible in production. An 88.5% MMLU score versus 89.1% does not translate to noticeably worse responses in a customer support chatbot or content generation pipeline.&lt;/p&gt;

&lt;p&gt;The gap widens on research-grade reasoning benchmarks. On GPQA Diamond (PhD-level science questions requiring multi-step reasoning), v4.1 Flash scores 62.1% versus v4 Pro's 65.8% — a 3.7 percentage point drop. On MATH-500 (competition-level mathematics), the difference is 5.2 percentage points (76.4% vs 81.6%). On extended chain-of-thought tasks that require 10+ reasoning steps, v4 Pro maintains coherence better than v4.1 Flash.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;Benchmark Comparison (Higher is Better):

MMLU (General Knowledge)
v4 Pro:      89.1% ████████████████████
v4.1 Flash:  88.5% ███████████████████

GPQA Diamond (PhD-Level Reasoning)
v4 Pro:      65.8% █████████████
v4.1 Flash:  62.1% ████████████

HumanEval (Code Generation)
v4 Pro:      84.2% ████████████████
v4.1 Flash:  82.7% ████████████████

GSM8K (Math Word Problems)
v4 Pro:      91.3% ██████████████████
v4.1 Flash:  89.8% █████████████████

MATH-500 (Competition Math)
v4 Pro:      81.6% ████████████████
v4.1 Flash:  76.4% ███████████████
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The practical takeaway: if your application is doing graduate-level research synthesis, mathematical theorem proving, or highly complex multi-step reasoning where every percentage point matters, v4 Pro justifies its premium. For everything else — and that is 95% of production LLM workloads — v4.1 Flash delivers equivalent quality.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cost Analysis and Break-Even Scenarios
&lt;/h3&gt;

&lt;p&gt;DeepSeek v4.1 Flash's pricing makes it one of the most cost-effective reasoning models available in late 2026. At $0.14 input and $0.42 output per million tokens, it undercuts v4 Pro by 60% and competes favorably with other Chinese LLM providers' mid-tier offerings.&lt;/p&gt;

&lt;p&gt;Here is what that means for real workloads:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Customer support chatbot&lt;/strong&gt; (1M queries/month, avg 800 input tokens, 200 output tokens):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;v4 Pro cost: 1M × (800 × $0.36 + 200 × $1.08) / 1M = $288 + $216 = $504/month&lt;/li&gt;
&lt;li&gt;v4.1 Flash cost: 1M × (800 × $0.14 + 200 × $0.42) / 1M = $112 + $84 = $196/month&lt;/li&gt;
&lt;li&gt;Savings: $308/month (61% reduction)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Content generation pipeline&lt;/strong&gt; (500K articles/month, avg 1200 input tokens, 800 output tokens):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;v4 Pro cost: 500K × (1200 × $0.36 + 800 × $1.08) / 1M = $216 + $432 = $648/month&lt;/li&gt;
&lt;li&gt;v4.1 Flash cost: 500K × (1200 × $0.14 + 800 × $0.42) / 1M = $84 + $168 = $252/month&lt;/li&gt;
&lt;li&gt;Savings: $396/month (61% reduction)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Code completion agent&lt;/strong&gt; (2M completions/month, avg 400 input tokens, 100 output tokens):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;v4 Pro cost: 2M × (400 × $0.36 + 100 × $1.08) / 1M = $288 + $216 = $504/month&lt;/li&gt;
&lt;li&gt;v4.1 Flash cost: 2M × (400 × $0.14 + 100 × $0.42) / 1M = $112 + $84 = $196/month&lt;/li&gt;
&lt;li&gt;Savings: $308/month (61% reduction)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The break-even analysis is straightforward: v4 Pro only justifies its cost premium if your application requires the 3-6% accuracy gain on hard reasoning benchmarks. For a research assistant citing PhD-level science papers, that matters. For a product recommendation engine or email drafting tool, it does not.&lt;/p&gt;

&lt;h3&gt;
  
  
  Latency and Throughput Characteristics
&lt;/h3&gt;

&lt;p&gt;Latency is where v4.1 Flash's "flash" branding becomes most evident. With a median time-to-first-token of 87ms compared to v4 Pro's 201ms, v4.1 Flash crosses critical perceptual thresholds for real-time interaction. Human perception research consistently shows that sub-100ms response times feel instantaneous, while 200ms+ feels noticeably delayed in interactive applications.&lt;/p&gt;

&lt;p&gt;This 2.3× latency improvement compounds across multi-turn conversations. In a 10-turn customer support dialogue, v4 Pro accumulates 2 seconds of wait time just from first-token delays, while v4.1 Flash accumulates 0.87 seconds — a difference users perceive as "snappiness."&lt;/p&gt;

&lt;p&gt;Throughput (tokens per second after the first token) also improves significantly: 142 tokens/sec for v4.1 Flash versus 78 tokens/sec for v4 Pro. For streaming applications like code completion or real-time transcription summarization, this 1.8× throughput advantage translates directly to better user experience.&lt;/p&gt;

&lt;p&gt;The latency characteristics by use case:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Use Case&lt;/th&gt;
&lt;th&gt;Latency Sensitivity&lt;/th&gt;
&lt;th&gt;Recommended Model&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Interactive chatbot&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;High (user waiting)&lt;/td&gt;
&lt;td&gt;v4.1 Flash (87ms feels instant)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Batch content generation&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Low (async processing)&lt;/td&gt;
&lt;td&gt;Either (cost matters more than latency)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Real-time code completion&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Very high (typing flow)&lt;/td&gt;
&lt;td&gt;v4.1 Flash (142 tok/s keeps up with review speed)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Research paper synthesis&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Low (minutes-scale task)&lt;/td&gt;
&lt;td&gt;v4 Pro (accuracy matters more than 100ms delay)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Voice assistant backend&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Very high (conversation flow)&lt;/td&gt;
&lt;td&gt;v4.1 Flash (sub-100ms maintains natural rhythm)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Document Q&amp;amp;A&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Medium (interactive but forgiving)&lt;/td&gt;
&lt;td&gt;v4.1 Flash (cost + speed win)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  When should you choose DeepSeek v4 Pro over v4.1 Flash?
&lt;/h2&gt;

&lt;p&gt;There are exactly four scenarios where v4 Pro's premium is justified:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Research-grade reasoning tasks.&lt;/strong&gt; If you are building a system that answers PhD-level questions, proves mathematical theorems, or synthesizes complex multi-paper arguments, the 3-6% accuracy gain on GPQA Diamond and MATH-500 matters. v4 Pro's deeper reasoning capabilities make it the better choice for academic research assistants, automated literature review tools, and scientific hypothesis generation systems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Multi-step planning with 10+ reasoning steps.&lt;/strong&gt; v4.1 Flash's distillation trade-offs become visible in extremely long chain-of-thought scenarios. If your agent needs to maintain coherent reasoning across 15+ sequential steps — for example, a financial planning agent that evaluates a complex investment portfolio with interdependent constraints — v4 Pro's extended reasoning stability justifies the cost.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Applications where 3% accuracy = significant business impact.&lt;/strong&gt; In most consumer applications, an 88.5% vs 89.1% MMLU score is invisible. But in high-stakes domains like medical diagnosis assistance (not primary diagnosis, but research support), legal contract analysis, or safety-critical code review, that marginal accuracy gain can translate to real risk reduction. If your application has high downside from errors, v4 Pro's slightly better calibration matters.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Benchmarking and model selection research.&lt;/strong&gt; If you are doing systematic evaluations of LLM capabilities, comparing frontier models, or publishing research on reasoning performance, you need the flagship model. v4.1 Flash is a practical deployment choice, not a research baseline.&lt;/p&gt;

&lt;p&gt;For everything else — and this is the vast majority of production LLM applications in 2026 — v4.1 Flash is the better choice. Customer support, content generation, code completion, data extraction, summarization, translation, and most agent frameworks do not need v4 Pro's marginal reasoning edge and benefit significantly from v4.1 Flash's speed and cost advantages.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do DeepSeek v4 models compare to other Chinese LLMs in 2026?
&lt;/h2&gt;

&lt;p&gt;DeepSeek v4.1 Flash's release reshapes the Chinese LLM provider landscape. Here is how it compares to the three other major players:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Alibaba Qwen 3.5 Turbo&lt;/strong&gt; ($0.18 input / $0.54 output): Qwen 3.5 Turbo sits between v4.1 Flash and v4 Pro on pricing, with benchmark scores clustering around 87-88% MMLU. Qwen has stronger enterprise integrations within the Alibaba Cloud ecosystem (DingTalk, Alipay, Taobao) but weaker standalone API infrastructure. Choose Qwen if you are deeply embedded in Alibaba's ecosystem; otherwise v4.1 Flash delivers better cost-performance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Baidu ERNIE 4.0 Lite&lt;/strong&gt; ($0.20 input / $0.60 output): ERNIE 4.0 Lite benchmarks slightly below v4.1 Flash (86.2% MMLU) at a higher price point. Its main advantage is integration with Baidu's search and advertising platform. For general-purpose LLM API usage, v4.1 Flash is the better choice.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Zhipu GLM-5.2-Flash&lt;/strong&gt; ($0.16 input / $0.48 output): GLM-5.2-Flash is DeepSeek v4.1 Flash's closest competitor on cost-performance. It benchmarks at 87.9% MMLU and 61.4% GPQA Diamond — within 1% of v4.1 Flash on most metrics. Latency characteristics are similar (92ms time-to-first-token). The choice between them comes down to API reliability, documentation quality, and ecosystem integrations. Both are excellent options in late 2026.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The overall landscape&lt;/strong&gt;: DeepSeek v4.1 Flash and Zhipu GLM-5.2-Flash have established themselves as the cost-performance leaders among Chinese LLM providers for general-purpose API usage. Teams with specific ecosystem dependencies (Alibaba Cloud, Baidu search) may prefer Qwen or ERNIE, but for standalone LLM API workloads, DeepSeek v4.1 Flash is the default recommendation as of September 2026.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are the practical deployment considerations?
&lt;/h2&gt;

&lt;p&gt;Migrating from DeepSeek v4 Pro to v4.1 Flash, or adopting v4.1 Flash for a new project, involves several practical considerations beyond benchmark scores and pricing.&lt;/p&gt;

&lt;h3&gt;
  
  
  API Compatibility and Migration
&lt;/h3&gt;

&lt;p&gt;DeepSeek maintains full API compatibility between v4 Pro and v4.1 Flash. The endpoint structure, authentication method, request/response schemas, and function calling interface are identical. This means migration is a one-line model name change in most cases:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Before (v4 Pro)
&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;deepseek-chat-v4&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Explain quantum entanglement&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}]&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# After (v4.1 Flash)
&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;deepseek-chat-v4.1-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# Only change
&lt;/span&gt;    &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Explain quantum entanglement&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}]&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The same compatibility extends to streaming, function calling, and system prompts. There are no breaking changes, which makes A/B testing trivial: run the same prompts through both models, evaluate output quality on your specific domain, and measure the cost/latency trade-off with real data.&lt;/p&gt;

&lt;h3&gt;
  
  
  Context Window and Long-Document Handling
&lt;/h3&gt;

&lt;p&gt;Both models support 64K token context windows, but v4.1 Flash's distillation may impact performance on tasks that require reasoning over very long contexts (30K+ tokens). In practice, this matters for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Legal document analysis (multi-hundred-page contracts)&lt;/li&gt;
&lt;li&gt;Academic paper synthesis (reading 10+ papers in a single context)&lt;/li&gt;
&lt;li&gt;Codebase-wide refactoring (large monorepo context)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your application regularly uses contexts above 40K tokens and requires deep reasoning over the entire context, test v4.1 Flash carefully against v4 Pro on representative samples. For typical RAG applications (where context is 4-8K tokens of retrieved chunks) or conversational agents (where history rarely exceeds 16K tokens), both models perform equivalently.&lt;/p&gt;

&lt;h3&gt;
  
  
  Function Calling and Tool Use
&lt;/h3&gt;

&lt;p&gt;DeepSeek v4.1 Flash maintains the same function calling capabilities as v4 Pro, including parallel function calls and automatic parameter extraction. In testing on a standard agentic benchmark (WebArena), v4.1 Flash's tool-use success rate was 91.2% versus v4 Pro's 93.1% — a small but measurable difference.&lt;/p&gt;

&lt;p&gt;For most agent frameworks (LangChain, LangGraph, AgentCore), this 2% difference is within noise. But for agents that make 50+ tool calls in a single execution (complex research agents, automated workflows with many API dependencies), the compounding error rate can become visible. Monitor agent success rates when migrating multi-step agent workflows.&lt;/p&gt;

&lt;h3&gt;
  
  
  Availability and Rate Limits
&lt;/h3&gt;

&lt;p&gt;As of September 2026, both models are available via DeepSeek's API with identical rate limits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Free tier: 10 requests/minute, 200K tokens/day&lt;/li&gt;
&lt;li&gt;Standard tier: 1000 requests/minute, 50M tokens/day&lt;/li&gt;
&lt;li&gt;Enterprise tier: Custom (contact sales)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;DeepSeek's API uptime has averaged 99.7% over the past 90 days (as reported by third-party monitoring), which is competitive with Western LLM providers but below AWS Bedrock's 99.9% SLA. For production-critical applications, implement retry logic and consider a fallback to a secondary provider (GPT-4o-mini or Claude 3.8 Haiku) for the &amp;lt;1% of requests that hit rate limits or availability issues.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you choose between DeepSeek v4 Pro and v4.1 Flash?
&lt;/h2&gt;

&lt;p&gt;The decision tree is straightforward:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Choose DeepSeek v4.1 Flash if:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your application is cost-sensitive and processes high volume (&amp;gt;1M tokens/day)&lt;/li&gt;
&lt;li&gt;Latency matters (real-time chat, code completion, voice assistants)&lt;/li&gt;
&lt;li&gt;Your use case is standard LLM territory (content generation, summarization, Q&amp;amp;A, data extraction)&lt;/li&gt;
&lt;li&gt;You are A/B testing and find quality indistinguishable from v4 Pro on your specific domain&lt;/li&gt;
&lt;li&gt;You need maximum throughput for batch processing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Choose DeepSeek v4 Pro if:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You need research-grade reasoning (PhD-level questions, mathematical proofs)&lt;/li&gt;
&lt;li&gt;Your application requires 10+ step chain-of-thought reasoning&lt;/li&gt;
&lt;li&gt;The marginal 2-4% accuracy gain translates to significant business value&lt;/li&gt;
&lt;li&gt;You are benchmarking or doing model research (v4 Pro is the flagship baseline)&lt;/li&gt;
&lt;li&gt;Budget is not a constraint and you want the highest capability available&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;For most teams in late 2026, the default answer is v4.1 Flash.&lt;/strong&gt; Start there, measure quality on your specific workload, and only escalate to v4 Pro if you have concrete evidence that the reasoning trade-off matters for your application.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does DeepSeek v4.1 Flash mean for the LLM cost curve?
&lt;/h2&gt;

&lt;p&gt;DeepSeek v4.1 Flash's launch continues a clear trend: the cost-performance frontier for LLM inference is improving by roughly 2× every 6 months. In early 2025, getting GPT-4-class reasoning cost $1+ per million tokens. In September 2026, DeepSeek v4.1 Flash delivers comparable capability at $0.14 per million tokens — a 7× cost reduction in 18 months.&lt;/p&gt;

&lt;p&gt;This has two implications for AI engineering teams:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. The "too expensive to deploy" excuse is disappearing.&lt;/strong&gt; Applications that were cost-prohibitive with GPT-4 in early 2025 — high-volume customer support, real-time content moderation, automated code review — are now economically viable with models like v4.1 Flash and GLM-5.2-Flash. The bottleneck is shifting from model cost to engineering execution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. The premium for frontier reasoning is narrowing.&lt;/strong&gt; The delta between "best available reasoning" (GPT-o3, Claude 4 Opus) and "90th percentile reasoning" (DeepSeek v4.1 Flash, GPT-4o-mini) is now 5-8% on hard benchmarks and 60-70% on cost. For most commercial applications, that premium is unjustifiable. The future of LLM deployment is not "use the best model for everything" but "use the cheapest model that clears your quality bar."&lt;/p&gt;

&lt;p&gt;DeepSeek v4.1 Flash, alongside competitors like Claude 3.8 Haiku and GPT-4o-mini, represents the new center of gravity for production LLM workloads in late 2026: fast, cheap, and good enough.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.deepseek.com/" rel="noopener noreferrer"&gt;DeepSeek Official Website and API Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/deepseek-ai" rel="noopener noreferrer"&gt;DeepSeek GitHub Repository with Model Information&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://platform.deepseek.com/" rel="noopener noreferrer"&gt;DeepSeek API Platform and Pricing Details&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.anthropic.com/claude/docs/models-overview" rel="noopener noreferrer"&gt;Anthropic Claude Model Documentation and Pricing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://openai.com/pricing" rel="noopener noreferrer"&gt;OpenAI GPT-4 Model Specifications and Pricing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/QwenLM/Qwen" rel="noopener noreferrer"&gt;Alibaba Qwen Model Family Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://open.bigmodel.cn/" rel="noopener noreferrer"&gt;Zhipu AI GLM Model Series Information&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/hendrycks/test" rel="noopener noreferrer"&gt;MMLU Benchmark Dataset and Methodology&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/openai/human-eval" rel="noopener noreferrer"&gt;HumanEval Code Generation Benchmark&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/idavidrein/gpqa" rel="noopener noreferrer"&gt;GPQA Diamond PhD-Level Reasoning Benchmark&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://fp8.co/articles/DeepSeek-v4-vs-v4-1-Flash-Performance-Cost-Comparison" rel="noopener noreferrer"&gt;fp8.co&lt;/a&gt;. Subscribe for weekly AI engineering analysis at &lt;a href="https://fp8.co/newsletters" rel="noopener noreferrer"&gt;fp8.co/newsletters&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>aiengineering</category>
      <category>llmmodels</category>
    </item>
    <item>
      <title>Lightspeed AI Portfolio: 7 Funding Deals Tracked (2026)</title>
      <dc:creator>ke yi</dc:creator>
      <pubDate>Wed, 09 Sep 2026 04:50:40 +0000</pubDate>
      <link>https://dev.to/devtoaaron/lightspeed-ai-portfolio-7-funding-deals-tracked-2026-1gcp</link>
      <guid>https://dev.to/devtoaaron/lightspeed-ai-portfolio-7-funding-deals-tracked-2026-1gcp</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;Lightspeed Venture Partners, a global VC firm with over $25 billion in AUM, has been tracked across 7 AI funding deals in 2026 involving 5 unique portfolio companies with $3.6 billion in total capital deployed across tracked rounds. The firm led 2 of these investments, continuing its strategy of early-conviction backing in AI infrastructure, enterprise AI, and developer tools. Lightspeed's AI portfolio includes landmark deals such as leading Anthropic's Series D round.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What are the major AI funding rounds in May 2026?
&lt;/h3&gt;

&lt;p&gt;Lightspeed Venture Partners participated in 7 tracked AI funding deals in 2026, contributing to $3.6 billion in total capital across these rounds. The firm led 2 investments spanning AI infrastructure, enterprise AI, and developer tools, reflecting the continued momentum of large-scale AI funding activity.&lt;/p&gt;

&lt;h3&gt;
  
  
  How is Lightspeed Venture Partners investing in AI in 2026?
&lt;/h3&gt;

&lt;p&gt;Lightspeed had backed 5 unique AI portfolio companies across 7 tracked deals as of March 2026 in 2026, with $3.6 billion in total round capital and 2 lead investments. The firm is known for its data-driven approach and early-conviction strategy, often leading seed and Series A rounds in companies that scale to multi-billion-dollar outcomes.&lt;/p&gt;

&lt;h3&gt;
  
  
  What are the key AI investment and funding trends in 2026?
&lt;/h3&gt;

&lt;p&gt;The 2026 AI funding landscape shows continued large-scale capital deployment, with firms like Lightspeed committing to multi-billion-dollar rounds across AI infrastructure and enterprise AI. As of March 2026, Lightspeed's 7 tracked deals and $3.6B in associated round capital illustrate how top-tier VCs are doubling down on AI, particularly in developer tools and foundational AI companies like Anthropic.&lt;/p&gt;

&lt;h2&gt;
  
  
  Investor Overview
&lt;/h2&gt;

&lt;p&gt;Lightspeed Venture Partners is a global multi-stage venture capital firm with over $25 billion in assets under management across offices in Silicon Valley, India, Israel, Europe, and Southeast Asia. The firm has backed category-defining companies including Snap, Nutanix, AppDynamics, and Mulesoft. In AI, Lightspeed led Anthropic's landmark Series D round and has built a deep portfolio across AI infrastructure, enterprise AI, and developer tools. Lightspeed is known for its data-driven investment approach and strong emphasis on early conviction, often leading seed and Series A rounds that grow into multi-billion-dollar outcomes.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Detail&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Name&lt;/td&gt;
&lt;td&gt;Lightspeed Venture Partners&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Type&lt;/td&gt;
&lt;td&gt;VC&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Website&lt;/td&gt;
&lt;td&gt;&lt;a href="https://lsvp.com" rel="noopener noreferrer"&gt;https://lsvp.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tracked AI Deals&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Unique Portfolio Companies&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Total Capital in Tracked Rounds&lt;/td&gt;
&lt;td&gt;$3.6B&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lead Investments&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The AI funding landscape continues to evolve rapidly, with significant capital flowing into companies pushing the boundaries of artificial intelligence. This period's activity reflects both growing investor confidence and the increasing maturity of the ecosystem. Deal sizes and valuations continue to climb as AI transitions from experimental technology to core enterprise infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Portfolio Summary
&lt;/h2&gt;

&lt;p&gt;As of March 2026, Lightspeed Venture Partners had participated in &lt;strong&gt;7&lt;/strong&gt; tracked AI funding round(s) across &lt;strong&gt;5&lt;/strong&gt; companyies. Below is a complete breakdown.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Company&lt;/th&gt;
&lt;th&gt;Sector&lt;/th&gt;
&lt;th&gt;Round&lt;/th&gt;
&lt;th&gt;Amount&lt;/th&gt;
&lt;th&gt;Valuation&lt;/th&gt;
&lt;th&gt;Date&lt;/th&gt;
&lt;th&gt;Role&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://dev.to/companies/stability-ai"&gt;Stability AI&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Creative AI&lt;/td&gt;
&lt;td&gt;Series A&lt;/td&gt;
&lt;td&gt;$101M&lt;/td&gt;
&lt;td&gt;$1.0B&lt;/td&gt;
&lt;td&gt;Oct 1, 2023&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Lead&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://dev.to/companies/wiz"&gt;Wiz&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;AI Security&lt;/td&gt;
&lt;td&gt;Series D&lt;/td&gt;
&lt;td&gt;$300M&lt;/td&gt;
&lt;td&gt;$6.0B&lt;/td&gt;
&lt;td&gt;May 1, 2024&lt;/td&gt;
&lt;td&gt;Participant&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://dev.to/companies/mistral"&gt;Mistral&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;LLM / Open Source&lt;/td&gt;
&lt;td&gt;Series A&lt;/td&gt;
&lt;td&gt;$112M&lt;/td&gt;
&lt;td&gt;$2.0B&lt;/td&gt;
&lt;td&gt;Jun 10, 2024&lt;/td&gt;
&lt;td&gt;Participant&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://dev.to/companies/glean"&gt;Glean&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Enterprise AI&lt;/td&gt;
&lt;td&gt;Series D&lt;/td&gt;
&lt;td&gt;$200M&lt;/td&gt;
&lt;td&gt;$2.2B&lt;/td&gt;
&lt;td&gt;Aug 12, 2024&lt;/td&gt;
&lt;td&gt;Participant&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://dev.to/companies/mistral"&gt;Mistral&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;LLM / Open Source&lt;/td&gt;
&lt;td&gt;Series B&lt;/td&gt;
&lt;td&gt;$640M&lt;/td&gt;
&lt;td&gt;$6.0B&lt;/td&gt;
&lt;td&gt;Jan 10, 2026&lt;/td&gt;
&lt;td&gt;Participant&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://dev.to/companies/glean"&gt;Glean&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Enterprise AI&lt;/td&gt;
&lt;td&gt;Series E&lt;/td&gt;
&lt;td&gt;$260M&lt;/td&gt;
&lt;td&gt;$4.6B&lt;/td&gt;
&lt;td&gt;Feb 10, 2026&lt;/td&gt;
&lt;td&gt;Participant&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://dev.to/companies/anthropic"&gt;Anthropic&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;LLM / AI Safety&lt;/td&gt;
&lt;td&gt;Series D&lt;/td&gt;
&lt;td&gt;$2.0B&lt;/td&gt;
&lt;td&gt;$60.0B&lt;/td&gt;
&lt;td&gt;Feb 15, 2026&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Lead&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Total Capital Deployed in AI
&lt;/h2&gt;

&lt;p&gt;Across all tracked rounds, Lightspeed Venture Partners has participated in deals totaling &lt;strong&gt;$3.6B&lt;/strong&gt; in aggregate round sizes. Note: this represents total round amounts, not the investor's individual check sizes, which are not publicly disclosed for most rounds.&lt;/p&gt;

&lt;h3&gt;
  
  
  By Company
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Company&lt;/th&gt;
&lt;th&gt;Rounds Participated&lt;/th&gt;
&lt;th&gt;Total Round Value&lt;/th&gt;
&lt;th&gt;Latest Round&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://dev.to/companies/stability-ai"&gt;Stability AI&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;$101M&lt;/td&gt;
&lt;td&gt;Series A (Oct 1, 2023)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://dev.to/companies/wiz"&gt;Wiz&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;$300M&lt;/td&gt;
&lt;td&gt;Series D (May 1, 2024)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://dev.to/companies/mistral"&gt;Mistral&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;$752M&lt;/td&gt;
&lt;td&gt;Series B (Jan 10, 2026)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://dev.to/companies/glean"&gt;Glean&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;$460M&lt;/td&gt;
&lt;td&gt;Series E (Feb 10, 2026)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://dev.to/companies/anthropic"&gt;Anthropic&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;$2.0B&lt;/td&gt;
&lt;td&gt;Series D (Feb 15, 2026)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This area of the AI market continues to attract significant investor attention, reflecting the sector's rapid growth and substantial long-term potential.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sector Breakdown
&lt;/h2&gt;

&lt;p&gt;Lightspeed Venture Partners's AI investments span &lt;strong&gt;5&lt;/strong&gt; sector(s). Here is how their deal activity breaks down by sector.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Sector&lt;/th&gt;
&lt;th&gt;Number of Deals&lt;/th&gt;
&lt;th&gt;% of Portfolio&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;LLM / Open Source&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;29%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Enterprise AI&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;29%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Creative AI&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;14%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI Security&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;14%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LLM / AI Safety&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;14%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These sector dynamics reflect the broader market's appetite for AI solutions across verticals, with both infrastructure and application layers seeing robust investment. The concentration of capital in leading sectors signals where investors see the highest near-term returns.&lt;/p&gt;

&lt;h2&gt;
  
  
  Co-Investor Analysis
&lt;/h2&gt;

&lt;p&gt;As of March 2026, Lightspeed Venture Partners had co-invested alongside &lt;strong&gt;8&lt;/strong&gt; other investor(s) in tracked AI rounds. The most frequent co-investors are:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Co-Investor&lt;/th&gt;
&lt;th&gt;Deals Together&lt;/th&gt;
&lt;th&gt;Relationship&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://dev.to/investors/andreessen-horowitz"&gt;Andreessen Horowitz&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Frequent co-investor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://dev.to/investors/khosla-ventures"&gt;Khosla Ventures&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Repeat co-investor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://dev.to/investors/coatue"&gt;Coatue Management&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Single co-investment&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://dev.to/investors/index-ventures"&gt;Index Ventures&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Single co-investment&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://dev.to/investors/general-catalyst"&gt;General Catalyst&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Single co-investment&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://dev.to/investors/sequoia-capital"&gt;Sequoia Capital&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Single co-investment&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://dev.to/investors/gv"&gt;Google Ventures (GV)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Single co-investment&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://dev.to/investors/spark-capital"&gt;Spark Capital&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Single co-investment&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Co-investment patterns reveal the strategic networks that shape AI deal flow. Frequent co-investors often indicate shared investment theses and trusted relationships that accelerate due diligence and deal execution.&lt;/p&gt;

&lt;h2&gt;
  
  
  Deal Timeline
&lt;/h2&gt;

&lt;p&gt;A chronological view of Lightspeed Venture Partners's tracked AI investments:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Oct 1, 2023&lt;/strong&gt; — Series A in &lt;a href="https://dev.to/companies/stability-ai"&gt;Stability AI&lt;/a&gt;: $101M at $1.0B valuation (Lead)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;May 1, 2024&lt;/strong&gt; — Series D in &lt;a href="https://dev.to/companies/wiz"&gt;Wiz&lt;/a&gt;: $300M at $6.0B valuation (Participant)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Jun 10, 2024&lt;/strong&gt; — Series A in &lt;a href="https://dev.to/companies/mistral"&gt;Mistral&lt;/a&gt;: $112M at $2.0B valuation (Participant)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Aug 12, 2024&lt;/strong&gt; — Series D in &lt;a href="https://dev.to/companies/glean"&gt;Glean&lt;/a&gt;: $200M at $2.2B valuation (Participant)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Jan 10, 2026&lt;/strong&gt; — Series B in &lt;a href="https://dev.to/companies/mistral"&gt;Mistral&lt;/a&gt;: $640M at $6.0B valuation (Participant)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Feb 10, 2026&lt;/strong&gt; — Series E in &lt;a href="https://dev.to/companies/glean"&gt;Glean&lt;/a&gt;: $260M at $4.6B valuation (Participant)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Feb 15, 2026&lt;/strong&gt; — Series D in &lt;a href="https://dev.to/companies/anthropic"&gt;Anthropic&lt;/a&gt;: $2.0B at $60.0B valuation (Lead)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Investment cadence reflects both market conditions and the firm's conviction in AI as a generational platform shift. The pace of deployment has accelerated as AI companies demonstrate commercial traction.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lead vs Participation Analysis
&lt;/h2&gt;

&lt;p&gt;As of March 2026, of Lightspeed Venture Partners's &lt;strong&gt;7&lt;/strong&gt; tracked AI deals:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Lead Investor:&lt;/strong&gt; 2 deal(s) (29%)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Participant:&lt;/strong&gt; 5 deal(s) (71%)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Deals Where Lightspeed Venture Partners Led
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Stability AI&lt;/strong&gt; Series A: $101M (Oct 1, 2023)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Anthropic&lt;/strong&gt; Series D: $2.0B (Feb 15, 2026)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Deals Where Lightspeed Venture Partners Participated
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Wiz&lt;/strong&gt; Series D: $300M (May 1, 2024)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mistral AI&lt;/strong&gt; Series A: $112M (Jun 10, 2024)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Glean&lt;/strong&gt; Series D: $200M (Aug 12, 2024)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mistral AI&lt;/strong&gt; Series B: $640M (Jan 10, 2026)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Glean&lt;/strong&gt; Series E: $260M (Feb 10, 2026)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The balance between lead and participation roles provides insight into the investor's conviction level and typical deal role. Leading rounds typically signals highest conviction and a desire to secure board seats and governance rights.&lt;/p&gt;

&lt;h2&gt;
  
  
  Notable Deals
&lt;/h2&gt;

&lt;p&gt;The largest rounds that Lightspeed Venture Partners participated in:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Anthropic — Series D ($2.0B)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Date:&lt;/strong&gt; Feb 15, 2026&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Valuation:&lt;/strong&gt; $60.0B&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Role:&lt;/strong&gt; Lead Investor&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sector:&lt;/strong&gt; LLM / AI Safety&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Details:&lt;/strong&gt; Massive round to scale Claude and safety research.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Mistral AI — Series B ($640M)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Date:&lt;/strong&gt; Jan 10, 2026&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Valuation:&lt;/strong&gt; $6.0B&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Role:&lt;/strong&gt; Participant&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sector:&lt;/strong&gt; LLM / Open Source&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Details:&lt;/strong&gt; European AI champion raises to compete with US frontier labs.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Wiz — Series D ($300M)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Date:&lt;/strong&gt; May 1, 2024&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Valuation:&lt;/strong&gt; $6.0B&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Role:&lt;/strong&gt; Participant&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sector:&lt;/strong&gt; AI Security&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Details:&lt;/strong&gt; Cloud security unicorn rejects $23B Google acquisition offer.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Glean — Series E ($260M)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Date:&lt;/strong&gt; Feb 10, 2026&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Valuation:&lt;/strong&gt; $4.6B&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Role:&lt;/strong&gt; Participant&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sector:&lt;/strong&gt; Enterprise AI&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Details:&lt;/strong&gt; Enterprise AI search unicorn expands to work assistant.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. Glean — Series D ($200M)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Date:&lt;/strong&gt; Aug 12, 2024&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Valuation:&lt;/strong&gt; $2.2B&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Role:&lt;/strong&gt; Participant&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sector:&lt;/strong&gt; Enterprise AI&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Details:&lt;/strong&gt; Enterprise AI search platform crosses $100M ARR milestone.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These deals represent the investor's highest-conviction bets, each reflecting a thesis about where transformative AI value will be created over the next decade.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  How many AI companies has Lightspeed Venture Partners invested in?
&lt;/h3&gt;

&lt;p&gt;As of March 2026, Lightspeed Venture Partners had invested in &lt;strong&gt;5&lt;/strong&gt; AI companyies tracked by AI Funding: &lt;strong&gt;Stability AI&lt;/strong&gt;, &lt;strong&gt;Wiz&lt;/strong&gt;, &lt;strong&gt;Mistral AI&lt;/strong&gt;, &lt;strong&gt;Glean&lt;/strong&gt;, &lt;strong&gt;Anthropic&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  What sectors does Lightspeed Venture Partners focus on in AI?
&lt;/h3&gt;

&lt;p&gt;Lightspeed Venture Partners's most active AI sector is &lt;strong&gt;LLM / Open Source&lt;/strong&gt; with 2 deal(s). They invest across 5 AI sector(s) in total.&lt;/p&gt;

&lt;h3&gt;
  
  
  Who does Lightspeed Venture Partners co-invest with most often?
&lt;/h3&gt;

&lt;p&gt;Lightspeed Venture Partners's most frequent co-investor is &lt;strong&gt;Andreessen Horowitz&lt;/strong&gt;, having co-invested in 3 deal(s) together.&lt;/p&gt;

&lt;h3&gt;
  
  
  Has Lightspeed Venture Partners led any AI funding rounds?
&lt;/h3&gt;

&lt;p&gt;Yes, as of March 2026, Lightspeed Venture Partners had led &lt;strong&gt;2&lt;/strong&gt; AI funding round(s), including Stability AI's Series A, Anthropic's Series D.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is the largest AI deal Lightspeed Venture Partners has participated in?
&lt;/h3&gt;

&lt;p&gt;The largest tracked round is &lt;strong&gt;Anthropic's Series D&lt;/strong&gt; at &lt;strong&gt;$2.0B&lt;/strong&gt; (Feb 15, 2026).&lt;/p&gt;

</description>
      <category>ai</category>
      <category>startup</category>
      <category>venturecapital</category>
      <category>funding</category>
    </item>
    <item>
      <title>What Is LangSmith: Complete Observability Platform for LLMs</title>
      <dc:creator>ke yi</dc:creator>
      <pubDate>Fri, 04 Sep 2026 12:26:52 +0000</pubDate>
      <link>https://dev.to/devtoaaron/what-is-langsmith-complete-observability-platform-for-llms-192h</link>
      <guid>https://dev.to/devtoaaron/what-is-langsmith-complete-observability-platform-for-llms-192h</guid>
      <description>&lt;h1&gt;
  
  
  What Is LangSmith: The Complete Observability Platform for LLM Applications
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; LangSmith is the official observability, testing, and evaluation platform from LangChain for debugging and monitoring LLM applications in production. It provides distributed tracing for every LLM call, tool invocation, and agent decision, plus dataset management, prompt versioning, and automated evaluations to catch regressions before deployment. LangSmith works with any LLM application, not just LangChain, making it the de facto standard for AI agent observability in 2026.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Takeaways
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;LangSmith provides end-to-end tracing for LLM applications, capturing every model call, tool execution, prompt template, and token count in a unified timeline with sub-millisecond accuracy.&lt;/li&gt;
&lt;li&gt;The platform includes evaluation primitives for testing AI outputs against datasets with LLM-as-judge, semantic similarity, exact match, and custom evaluators that run automatically on every commit.&lt;/li&gt;
&lt;li&gt;Datasets in LangSmith serve as ground truth for testing — capturing real production traces as test cases enables regression detection and fine-tuning data collection without manual labeling.&lt;/li&gt;
&lt;li&gt;Prompt Hub centralizes prompt versioning with Git-style commit history, A/B testing infrastructure, and the ability to update production prompts without code deployment.&lt;/li&gt;
&lt;li&gt;LangSmith is model-agnostic and framework-agnostic, supporting OpenAI, Anthropic, Google, AWS Bedrock, local models, and raw API calls with zero LangChain dependency.&lt;/li&gt;
&lt;li&gt;Pricing follows a freemium model: free tier for individual developers with 5,000 traces per month, paid tiers starting at $39/month for teams with volume discounts at enterprise scale.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What is LangSmith and why does it exist?
&lt;/h2&gt;

&lt;p&gt;LangSmith is an observability and evaluation platform built by LangChain Inc. specifically for the unique debugging challenges of LLM-powered applications. It launched in closed beta in mid-2023 and reached general availability in early 2024, becoming the most widely adopted observability tool for AI agents by 2026.&lt;/p&gt;

&lt;p&gt;The platform exists because traditional application monitoring tools break down when applied to LLM systems. When your agent fails to complete a task, you need to answer: Which step failed? What was the exact prompt sent to the model? What did the model return? Which tool was called with what arguments? What was the conversation context at that moment? How much did this run cost in tokens?&lt;/p&gt;

&lt;p&gt;Traditional APM tools like Datadog or New Relic can show you latency and error rates, but they cannot show you the &lt;em&gt;semantic trace&lt;/em&gt; — the chain of LLM calls, tool executions, and context transformations that led to the failure. LangSmith captures that semantic layer as first-class data, making it possible to debug non-deterministic AI systems that change behavior between identical requests.&lt;/p&gt;

&lt;h2&gt;
  
  
  How does LangSmith work?
&lt;/h2&gt;

&lt;p&gt;LangSmith operates through three core mechanisms: instrumentation, storage, and analysis. Understanding each is essential to getting value from the platform.&lt;/p&gt;

&lt;h3&gt;
  
  
  Instrumentation and Tracing
&lt;/h3&gt;

&lt;p&gt;You instrument your application by adding the LangSmith SDK and setting environment variables. For LangChain applications, tracing is automatic — every chain, agent, and tool call is captured without code changes. For non-LangChain applications, you use the &lt;code&gt;@traceable&lt;/code&gt; decorator or &lt;code&gt;RunTree&lt;/code&gt; API to mark functions for tracing.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# LangChain applications: automatic tracing
&lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;
&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;LANGCHAIN_TRACING_V2&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;true&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;LANGCHAIN_API_KEY&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;your_api_key&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langchain_anthropic&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;ChatAnthropic&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langchain.agents&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;create_react_agent&lt;/span&gt;

&lt;span class="c1"&gt;# All agent execution is automatically traced
&lt;/span&gt;&lt;span class="n"&gt;llm&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;ChatAnthropic&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;claude-sonnet-4-20250514&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;agent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;create_react_agent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;llm&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;tools&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;invoke&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;input&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;What is the weather in Tokyo?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Non-LangChain applications: manual tracing
&lt;/span&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langsmith&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;traceable&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;anthropic&lt;/span&gt;

&lt;span class="nd"&gt;@traceable&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;analyze_sentiment&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;analyze_sentiment&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;anthropic&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Anthropic&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;claude-sonnet-4-20250514&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;max_tokens&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1024&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Analyze sentiment: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}]&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;sentiment&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;# This function call creates a trace in LangSmith
&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;analyze_sentiment&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;LangSmith makes debugging LLMs easy&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every traced operation creates a &lt;strong&gt;run&lt;/strong&gt; in LangSmith. A run captures inputs, outputs, start/end timestamps, token counts, model parameters, error traces, and parent-child relationships. Complex agent workflows create nested runs forming a tree structure that shows exactly how execution flowed through your application.&lt;/p&gt;

&lt;h3&gt;
  
  
  Storage and Retrieval
&lt;/h3&gt;

&lt;p&gt;Traces persist in LangSmith's managed storage for the duration specified by your plan (30 days free tier, 180+ days paid). The platform indexes traces by project, run ID, tags, metadata, and content, enabling searches like "show me all runs where the tool search_wikipedia was called" or "find traces that cost more than 100K tokens."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Projects&lt;/strong&gt; organize traces by environment or application. A common pattern is separate projects for development, staging, and production, allowing you to debug locally while monitoring production separately. You can filter, search, and compare traces across projects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Datasets&lt;/strong&gt; store input-output pairs for evaluation. You create datasets manually or by promoting production traces to test cases. This "production-to-test" workflow is LangSmith's killer feature for regression detection — if a user reports a failure, you save that trace as a dataset example, fix the issue, and ensure the fix works by running evaluations against the saved case.&lt;/p&gt;

&lt;h3&gt;
  
  
  Analysis and Evaluation
&lt;/h3&gt;

&lt;p&gt;The Evaluations feature runs your application against a dataset, compares outputs to expected results, and scores quality using evaluators. LangSmith provides built-in evaluators for common tasks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Exact match:&lt;/strong&gt; Output must match expected string exactly&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Semantic similarity:&lt;/strong&gt; Embeddings-based comparison (configurable threshold)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LLM-as-judge:&lt;/strong&gt; Use an LLM to score output quality on custom criteria&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom evaluators:&lt;/strong&gt; Python functions that return scores based on your logic
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Define an evaluation dataset
&lt;/span&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langsmith&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Client&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Client&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;dataset&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create_dataset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;customer_support_qa&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create_examples&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;dataset_id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;dataset&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;inputs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;question&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;How do I reset my password?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;question&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;What is your refund policy?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="n"&gt;outputs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;answer&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Click &lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Forgot Password&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt; on the login page.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;answer&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Full refund within 30 days of purchase.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Run evaluation
&lt;/span&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langchain.smith&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;RunEvalConfig&lt;/span&gt;

&lt;span class="n"&gt;eval_config&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;RunEvalConfig&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;evaluators&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;qa_correctness&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;  &lt;span class="c1"&gt;# LLM-as-judge evaluator
&lt;/span&gt;    &lt;span class="n"&gt;custom_evaluators&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;my_custom_scorer&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;results&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;run_on_dataset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;dataset_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;customer_support_qa&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;llm_or_chain_factory&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;lambda&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;my_agent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;evaluation&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;eval_config&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Evaluations produce a scored comparison showing which examples passed, which failed, and why. You can run evaluations manually during development, automatically in CI/CD pipelines, or on a schedule to detect production regressions.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are the key features of LangSmith?
&lt;/h2&gt;

&lt;p&gt;LangSmith's feature set spans observability, testing, and operational workflows. The features that matter for production systems are detailed below.&lt;/p&gt;

&lt;h3&gt;
  
  
  Distributed Tracing
&lt;/h3&gt;

&lt;p&gt;Every LLM call, tool invocation, retrieval query, and prompt template render becomes a traced run. Runs are organized hierarchically: an agent execution is the root run, with child runs for each LLM call, which may have their own child runs for tool executions. The trace view shows this as an interactive tree with timing information, token counts, and full input/output payloads.&lt;/p&gt;

&lt;p&gt;Key metrics captured per run:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Latency:&lt;/strong&gt; Start and end timestamps with microsecond precision&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Token usage:&lt;/strong&gt; Input and output tokens per LLM call&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost:&lt;/strong&gt; Calculated based on model pricing (configurable)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Status:&lt;/strong&gt; Success, error, or cancelled&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Metadata:&lt;/strong&gt; Tags, session IDs, user IDs, or custom key-value pairs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The trace view includes a timeline visualization showing parallelism — when multiple tools execute concurrently, the timeline makes it obvious. This is critical for debugging performance bottlenecks in multi-agent systems.&lt;/p&gt;

&lt;h3&gt;
  
  
  Prompt Hub
&lt;/h3&gt;

&lt;p&gt;Prompt Hub is a centralized repository for prompt templates with versioning, access control, and deployment management. Instead of hardcoding prompts in application code, you store them in LangSmith and reference them by name and version.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langchain&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;hub&lt;/span&gt;

&lt;span class="c1"&gt;# Pull a prompt from LangSmith Prompt Hub
&lt;/span&gt;&lt;span class="n"&gt;prompt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;hub&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pull&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;username/my-agent-prompt:latest&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Use it in your application
&lt;/span&gt;&lt;span class="n"&gt;agent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;create_react_agent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;llm&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;tools&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Prompt Hub supports:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Versioning:&lt;/strong&gt; Git-style commit history with semantic versioning&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Branching:&lt;/strong&gt; Test prompt changes in separate branches before merging&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A/B testing:&lt;/strong&gt; Deploy multiple prompt versions simultaneously and compare performance&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Access control:&lt;/strong&gt; Public, private, or organization-scoped prompts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Change tracking:&lt;/strong&gt; See exactly what changed between prompt versions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The operational value is updating production prompts without code deployment. When you discover a better prompt through testing, you push it to Prompt Hub, tag it as the new &lt;code&gt;latest&lt;/code&gt;, and your production agents pick it up on the next cold start without a redeploy.&lt;/p&gt;

&lt;h3&gt;
  
  
  Datasets and Examples
&lt;/h3&gt;

&lt;p&gt;Datasets are collections of input-output pairs used for evaluation, fine-tuning data collection, and regression testing. You create datasets by:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Manual entry:&lt;/strong&gt; Define examples in the UI or via SDK&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Promotion from traces:&lt;/strong&gt; Click "Add to dataset" on any production trace&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bulk upload:&lt;/strong&gt; Import CSV or JSONL files&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Programmatic creation:&lt;/strong&gt; Use the SDK to generate synthetic test cases&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The production-to-dataset workflow is transformative. When a user reports "the agent failed to book my flight," you search traces by session ID, find the failed run, click "Add to dataset," label the expected behavior, and now you have a regression test. Fix the issue, run evaluations, and confirm the fix works on the exact failure case without manual test case authoring.&lt;/p&gt;

&lt;p&gt;Datasets support:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Splits:&lt;/strong&gt; Train/test splits for fine-tuning workflows&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Versioning:&lt;/strong&gt; Datasets evolve as you add examples&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Metadata:&lt;/strong&gt; Tag examples by difficulty, category, or source&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Export:&lt;/strong&gt; Download datasets for fine-tuning or external analysis&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Evaluations and CI/CD Integration
&lt;/h3&gt;

&lt;p&gt;Evaluations run your application against a dataset and score outputs. LangSmith provides a built-in evaluator library covering common patterns:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Correctness:&lt;/strong&gt; LLM-as-judge scoring based on criteria (requires OpenAI or Anthropic API key)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Relevance:&lt;/strong&gt; Whether output addresses the input question&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Helpfulness:&lt;/strong&gt; Subjective quality scoring&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hallucination detection:&lt;/strong&gt; Whether output contains unsupported claims&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exact match / regex:&lt;/strong&gt; Deterministic string comparison&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Semantic similarity:&lt;/strong&gt; Embedding-based comparison with configurable threshold&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Custom evaluators are Python functions with signature &lt;code&gt;(run: Run, example: Example) -&amp;gt; dict&lt;/code&gt; that return scores and feedback. This enables domain-specific evaluation logic — checking whether generated SQL queries are syntactically valid, whether API calls use the correct authentication, or whether customer support responses match brand voice guidelines.&lt;/p&gt;

&lt;p&gt;Evaluations integrate with CI/CD through the LangSmith SDK and GitHub Actions. A typical pipeline:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Developer changes agent prompt or code&lt;/li&gt;
&lt;li&gt;CI runs evaluations against staging dataset&lt;/li&gt;
&lt;li&gt;If pass rate exceeds threshold (e.g., 95%), allow merge&lt;/li&gt;
&lt;li&gt;If not, block PR until regressions are fixed
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# GitHub Actions workflow&lt;/span&gt;
&lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Run LangSmith Evaluations&lt;/span&gt;
  &lt;span class="na"&gt;run&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;|&lt;/span&gt;
    &lt;span class="s"&gt;python scripts/run_evaluations.py --dataset staging_tests&lt;/span&gt;
    &lt;span class="s"&gt;EXIT_CODE=$?&lt;/span&gt;
    &lt;span class="s"&gt;if [ $EXIT_CODE -ne 0 ]; then&lt;/span&gt;
      &lt;span class="s"&gt;echo "Evaluations failed. Blocking merge."&lt;/span&gt;
      &lt;span class="s"&gt;exit 1&lt;/span&gt;
    &lt;span class="s"&gt;fi&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Monitoring and Alerting
&lt;/h3&gt;

&lt;p&gt;The Monitoring dashboard aggregates trace data into operational metrics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Request volume:&lt;/strong&gt; Traces per hour/day&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Error rate:&lt;/strong&gt; Percentage of runs ending in error&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latency percentiles:&lt;/strong&gt; p50, p90, p99 response times&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Token usage:&lt;/strong&gt; Input/output tokens over time&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost:&lt;/strong&gt; Spend by model, project, or user&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You configure alerts on thresholds: "notify if error rate exceeds 5% for 10 minutes" or "alert if p99 latency exceeds 30 seconds." Alerts route to Slack, email, PagerDuty, or webhooks.&lt;/p&gt;

&lt;p&gt;For production agents, monitoring answers three critical questions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Is the system up?&lt;/strong&gt; Error rate and request volume trends&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Is it fast enough?&lt;/strong&gt; Latency distribution and outliers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Is it expensive?&lt;/strong&gt; Token usage and cost tracking&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  How does LangSmith compare to alternatives?
&lt;/h2&gt;

&lt;p&gt;The LLM observability space in 2026 includes several competitors. LangSmith, Langfuse, Phoenix (Arize AI), Braintrust, and Helicone are the most widely deployed. Each has different strengths.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;LangSmith&lt;/th&gt;
&lt;th&gt;Langfuse&lt;/th&gt;
&lt;th&gt;Phoenix&lt;/th&gt;
&lt;th&gt;Braintrust&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Tracing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Excellent&lt;/td&gt;
&lt;td&gt;Excellent&lt;/td&gt;
&lt;td&gt;Good&lt;/td&gt;
&lt;td&gt;Good&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;LangChain integration&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Native&lt;/td&gt;
&lt;td&gt;Good&lt;/td&gt;
&lt;td&gt;Good&lt;/td&gt;
&lt;td&gt;Manual&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Non-LangChain support&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Excellent&lt;/td&gt;
&lt;td&gt;Excellent&lt;/td&gt;
&lt;td&gt;Excellent&lt;/td&gt;
&lt;td&gt;Excellent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Prompt management&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Prompt Hub&lt;/td&gt;
&lt;td&gt;Built-in&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;td&gt;Built-in&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Evaluations&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Built-in + custom&lt;/td&gt;
&lt;td&gt;Built-in + custom&lt;/td&gt;
&lt;td&gt;Limited&lt;/td&gt;
&lt;td&gt;Built-in + custom&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Datasets&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Full support&lt;/td&gt;
&lt;td&gt;Full support&lt;/td&gt;
&lt;td&gt;Limited&lt;/td&gt;
&lt;td&gt;Full support&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Open-source&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;No (SaaS only)&lt;/td&gt;
&lt;td&gt;Yes + SaaS&lt;/td&gt;
&lt;td&gt;Yes (Apache 2.0)&lt;/td&gt;
&lt;td&gt;No (SaaS only)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Pricing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Freemium&lt;/td&gt;
&lt;td&gt;Freemium + self-host&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;Freemium&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Best for&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;LangChain users, enterprises&lt;/td&gt;
&lt;td&gt;Cost-conscious teams, self-hosting&lt;/td&gt;
&lt;td&gt;ML teams using Arize&lt;/td&gt;
&lt;td&gt;Startups, fast iteration&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;LangSmith advantages:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deepest LangChain integration with zero-config tracing&lt;/li&gt;
&lt;li&gt;Most mature Prompt Hub with versioning and A/B testing&lt;/li&gt;
&lt;li&gt;Largest user base and community&lt;/li&gt;
&lt;li&gt;Official support from LangChain Inc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;LangSmith disadvantages:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No self-hosting option (SaaS-only)&lt;/li&gt;
&lt;li&gt;Pricing scales quickly for high-volume applications&lt;/li&gt;
&lt;li&gt;Requires LangChain API key (privacy-sensitive teams may prefer on-premise)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;When to choose LangSmith:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You are already using LangChain and want zero-friction tracing&lt;/li&gt;
&lt;li&gt;Prompt management and versioning are critical workflow components&lt;/li&gt;
&lt;li&gt;You need enterprise support from the LangChain team&lt;/li&gt;
&lt;li&gt;You prefer managed SaaS over self-hosting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;When to choose alternatives:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Langfuse:&lt;/strong&gt; Need self-hosting for data sovereignty or cost control&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Phoenix:&lt;/strong&gt; Already using Arize for ML monitoring and want unified observability&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Braintrust:&lt;/strong&gt; Prefer fast iteration on evaluations with flexible scoring&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What are the common use cases for LangSmith?
&lt;/h2&gt;

&lt;p&gt;LangSmith serves five primary workflows in production LLM applications.&lt;/p&gt;

&lt;h3&gt;
  
  
  Debugging Failed Agent Runs
&lt;/h3&gt;

&lt;p&gt;An agent fails to complete a user's request. You search LangSmith traces by session ID or user ID, open the failed run, and see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The exact prompt sent to the model at each step&lt;/li&gt;
&lt;li&gt;What the model returned (including tool calls)&lt;/li&gt;
&lt;li&gt;Which tools were invoked with which arguments&lt;/li&gt;
&lt;li&gt;Tool outputs and error messages&lt;/li&gt;
&lt;li&gt;Total token usage and cost&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The trace shows that the agent called a search tool, received 0 results, and gave up instead of reformulating the query. You fix the agent's prompt to include retry logic, run an evaluation against the saved trace, and confirm the fix works.&lt;/p&gt;

&lt;p&gt;This workflow is impossible with traditional logs because the semantic context — what the model was asked to do versus what it actually did — is lost in unstructured text. LangSmith's structured traces make debugging deterministic.&lt;/p&gt;

&lt;h3&gt;
  
  
  Regression Testing with Evaluations
&lt;/h3&gt;

&lt;p&gt;Before deploying a new prompt or model version, you run evaluations against a curated dataset of known-good examples and known-failure edge cases. If the new version scores below the current production baseline, you block the deployment.&lt;/p&gt;

&lt;p&gt;Example workflow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Production agent has 200 saved test cases from past traces&lt;/li&gt;
&lt;li&gt;Developer tests a new prompt claiming better accuracy&lt;/li&gt;
&lt;li&gt;CI runs the new prompt against all 200 cases&lt;/li&gt;
&lt;li&gt;Results show 198/200 pass (99%) versus 195/200 for current prompt (97.5%)&lt;/li&gt;
&lt;li&gt;Deployment proceeds because improvement is validated&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This prevents regressions that would be invisible in manual testing. A "better" prompt may improve one behavior while breaking three edge cases you forgot to test manually.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cost Optimization
&lt;/h3&gt;

&lt;p&gt;LangSmith's cost tracking shows which parts of your application consume the most tokens. A common finding: an agent's retrieval step returns 50KB of context, but only 2KB is relevant, wasting 96% of input tokens.&lt;/p&gt;

&lt;p&gt;Using the trace view, you see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Retrieval step: 12,500 input tokens&lt;/li&gt;
&lt;li&gt;Agent reasoning: 500 output tokens&lt;/li&gt;
&lt;li&gt;Total cost: $0.15 per request&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You add a re-ranking step that filters context to 3KB. Evaluations confirm quality stays the same. Cost drops to $0.04 per request — a 73% reduction. Over 100K monthly requests, this saves $11K/month.&lt;/p&gt;

&lt;h3&gt;
  
  
  Prompt Engineering and Iteration
&lt;/h3&gt;

&lt;p&gt;Prompt Hub enables rapid iteration without code changes. You test five prompt variations in separate branches, deploy them to staging with A/B testing enabled, and measure which version achieves the highest user satisfaction score (collected via feedback buttons in your app).&lt;/p&gt;

&lt;p&gt;LangSmith aggregates scores by prompt version. Winning prompt gets promoted to &lt;code&gt;latest&lt;/code&gt; and deployed to production by updating a single tag — no code deployment, no API changes, no downtime.&lt;/p&gt;

&lt;h3&gt;
  
  
  Building Fine-Tuning Datasets
&lt;/h3&gt;

&lt;p&gt;Fine-tuning requires high-quality input-output pairs. LangSmith's dataset export captures production traces with human feedback as fine-tuning data:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Users mark agent responses as helpful/unhelpful&lt;/li&gt;
&lt;li&gt;Helpful responses are added to a dataset&lt;/li&gt;
&lt;li&gt;You export the dataset in JSONL format&lt;/li&gt;
&lt;li&gt;Fine-tune a model on this data using OpenAI, Anthropic, or AWS Bedrock&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This closes the loop: production traces become training data, improving the base model, which improves future traces. Without LangSmith, collecting and labeling fine-tuning data requires separate tooling.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you get started with LangSmith?
&lt;/h2&gt;

&lt;p&gt;Getting LangSmith running takes under 5 minutes for LangChain applications, longer for non-LangChain applications.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Create Account and Get API Key
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Go to &lt;a href="https://smith.langchain.com" rel="noopener noreferrer"&gt;smith.langchain.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Sign up with email or GitHub&lt;/li&gt;
&lt;li&gt;Create an API key in Settings → API Keys&lt;/li&gt;
&lt;li&gt;Store the key securely (treat it like a production secret)&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Step 2: Instrument Your Application
&lt;/h3&gt;

&lt;p&gt;For LangChain applications, set environment variables and tracing is automatic:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;LANGCHAIN_TRACING_V2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;true
export &lt;/span&gt;&lt;span class="nv"&gt;LANGCHAIN_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;your_api_key_here
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;LANGCHAIN_PROJECT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;my_agent  &lt;span class="c"&gt;# Optional project name&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Your existing LangChain code now traces automatically
&lt;/span&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langchain_anthropic&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;ChatAnthropic&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langchain.agents&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;create_react_agent&lt;/span&gt;

&lt;span class="n"&gt;llm&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;ChatAnthropic&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;claude-sonnet-4-20250514&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;agent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;create_react_agent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;llm&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;tools&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;invoke&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;input&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;What is LangSmith?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;  &lt;span class="c1"&gt;# This run appears in LangSmith
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For non-LangChain applications, install the SDK and add &lt;code&gt;@traceable&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;langsmith
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langsmith&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;traceable&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;anthropic&lt;/span&gt;

&lt;span class="nd"&gt;@traceable&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;my_llm_function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user_input&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;anthropic&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Anthropic&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;claude-sonnet-4-20250514&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;max_tokens&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1024&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;user_input&lt;/span&gt;&lt;span class="p"&gt;}]&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;

&lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;my_llm_function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Explain LangSmith&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# Traced
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 3: View Traces in Dashboard
&lt;/h3&gt;

&lt;p&gt;Run your application. Open LangSmith dashboard and navigate to your project. You will see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;List of all runs with timestamps and status&lt;/li&gt;
&lt;li&gt;Click any run to see the full trace tree&lt;/li&gt;
&lt;li&gt;Inspect inputs, outputs, token counts, and latency&lt;/li&gt;
&lt;li&gt;Add tags or comments for organization&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 4: Create a Dataset from Production Traces
&lt;/h3&gt;

&lt;p&gt;Find a trace you want to use as a test case:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click the trace in the dashboard&lt;/li&gt;
&lt;li&gt;Click "Add to dataset" button&lt;/li&gt;
&lt;li&gt;Choose or create a dataset&lt;/li&gt;
&lt;li&gt;Label the expected output (if different from actual output)&lt;/li&gt;
&lt;li&gt;Repeat for more examples&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Step 5: Run Your First Evaluation
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langsmith&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Client&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Client&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;run_my_agent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;inputs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="c1"&gt;# Your agent logic here
&lt;/span&gt;    &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;invoke&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;inputs&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;output&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="n"&gt;results&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;run_on_dataset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;dataset_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;my_test_cases&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;llm_or_chain_factory&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;run_my_agent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;evaluation&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nc"&gt;RunEvalConfig&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;evaluators&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;qa_correctness&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Pass rate: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;results&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;pass_rate&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This runs your agent against the dataset and scores outputs. Failed examples show you where the agent regressed.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are best practices for using LangSmith in production?
&lt;/h2&gt;

&lt;p&gt;After deploying dozens of production agents with LangSmith tracing, these patterns consistently deliver value.&lt;/p&gt;

&lt;h3&gt;
  
  
  Organize by Environment
&lt;/h3&gt;

&lt;p&gt;Create separate projects for development, staging, and production. This isolates traces by environment, preventing development noise from obscuring production issues. Use environment variables to control which project receives traces:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;
&lt;span class="n"&gt;project&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getenv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;ENVIRONMENT&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;development&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;LANGCHAIN_PROJECT&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;my_agent_&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;project&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Tag Traces with Metadata
&lt;/h3&gt;

&lt;p&gt;Add custom metadata to traces for filtering and analysis. Common tags:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;User ID:&lt;/strong&gt; Track traces by user for debugging user-specific issues&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Session ID:&lt;/strong&gt; Group traces by conversation session&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Feature flags:&lt;/strong&gt; Track which features were enabled during execution&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model version:&lt;/strong&gt; When A/B testing models, tag which version was used&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost center:&lt;/strong&gt; For chargeback to departments
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langsmith&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Client&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Client&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="c1"&gt;# Add metadata to current run
&lt;/span&gt;&lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;update_run&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;run_id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;current_run&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;extra&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user_id&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user_123&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;feature&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;new_prompt&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Capture User Feedback
&lt;/h3&gt;

&lt;p&gt;Integrate feedback buttons in your application's UI. When users mark a response as helpful or unhelpful, send that signal to LangSmith:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create_feedback&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;run_id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;run_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user_satisfaction&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;score&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;1.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# 1.0 for helpful, 0.0 for unhelpful
&lt;/span&gt;    &lt;span class="n"&gt;comment&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Great response, solved my problem&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Feedback appears in the trace view and enables filtering: "show me all runs with negative feedback" surfaces the exact failures to fix.&lt;/p&gt;

&lt;h3&gt;
  
  
  Build Evaluation Datasets Continuously
&lt;/h3&gt;

&lt;p&gt;Do not wait until you have a problem to create test cases. Promote high-quality production traces to datasets as they occur:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Positive examples (great outputs) ensure you do not regress quality&lt;/li&gt;
&lt;li&gt;Edge cases (unusual inputs) ensure robustness&lt;/li&gt;
&lt;li&gt;Failure cases (after fixing) ensure regressions do not reoccur&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Aim for 50-100 examples covering common and uncommon scenarios. Run evaluations on every deploy.&lt;/p&gt;

&lt;h3&gt;
  
  
  Set Up Cost Alerts
&lt;/h3&gt;

&lt;p&gt;Configure alerts on token usage and cost:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Alert if daily cost exceeds budget&lt;/li&gt;
&lt;li&gt;Alert if a single run costs more than 100K tokens (potential loop or retrieval explosion)&lt;/li&gt;
&lt;li&gt;Alert if average cost per request increases by more than 20% week-over-week&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These alerts catch cost regressions before they appear on your AWS or Anthropic bill.&lt;/p&gt;

&lt;h3&gt;
  
  
  Monitor Latency Distribution, Not Averages
&lt;/h3&gt;

&lt;p&gt;Average latency hides outliers. A p99 latency of 60 seconds means 1% of users wait a full minute, even if average latency is 3 seconds. Monitor latency percentiles and investigate high-percentile outliers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;p50: Typical user experience&lt;/li&gt;
&lt;li&gt;p90: Slower-than-usual but tolerable&lt;/li&gt;
&lt;li&gt;p99: Edge cases, may indicate bugs or infrastructure issues&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Prune Traces Strategically
&lt;/h3&gt;

&lt;p&gt;The free tier provides 5,000 traces per month. For high-volume development, you will exceed this. Use sampling:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;random&lt;/span&gt;

&lt;span class="c1"&gt;# Sample 10% of traces during development
&lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;random&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mf"&gt;0.1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;LANGCHAIN_TRACING_V2&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;true&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Always trace 100% in production. Cost optimization happens in production; sampling hides the data you need.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are the common mistakes with LangSmith?
&lt;/h2&gt;

&lt;p&gt;After reviewing hundreds of LangSmith implementations, these are the failure modes to avoid.&lt;/p&gt;

&lt;h3&gt;
  
  
  Treating LangSmith as Optional
&lt;/h3&gt;

&lt;p&gt;Teams add LangSmith "when we have time" after launching. This is backwards. Without observability from day one, you cannot debug production failures effectively. By the time you add tracing, the critical failure happened last week and the trace is gone.&lt;/p&gt;

&lt;p&gt;Integrate LangSmith during development, not after production issues force you to.&lt;/p&gt;

&lt;h3&gt;
  
  
  Not Creating Datasets from Failures
&lt;/h3&gt;

&lt;p&gt;When a user reports a failure, developers fix the issue but do not promote the failed trace to a dataset. The fix works, but three months later a refactor reintroduces the same bug. Without the dataset example, there is no regression test, and the bug returns.&lt;/p&gt;

&lt;p&gt;Always add failure cases to datasets after fixing them.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ignoring Feedback Signals
&lt;/h3&gt;

&lt;p&gt;LangSmith captures user feedback, but teams do not act on it. A trace with negative feedback sits in the dashboard unreviewed. The signal is worthless unless you investigate why users marked it unhelpful and fix the underlying issue.&lt;/p&gt;

&lt;p&gt;Create a weekly ritual: review all negative feedback traces, identify patterns, and fix the root causes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Over-Relying on LLM-as-Judge Evaluators
&lt;/h3&gt;

&lt;p&gt;LLM-as-judge evaluators are powerful but imperfect. They hallucinate, have biases, and cost money (they make additional LLM calls). Do not use LLM-as-judge for easily deterministic checks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;exact match&lt;/strong&gt; for structured outputs with fixed format&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;regex&lt;/strong&gt; for outputs requiring specific patterns&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;custom evaluators&lt;/strong&gt; for domain-specific validation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Reserve LLM-as-judge for subjective quality evaluation where programmatic checks are insufficient.&lt;/p&gt;

&lt;h3&gt;
  
  
  Not Setting Sampling in High-Volume Applications
&lt;/h3&gt;

&lt;p&gt;Production agents handling 1 million requests per day generate 1 million traces per day. At $0.01 per 1,000 traces (typical paid tier pricing), that is $10K/month just for tracing. Most applications do not need 100% trace capture.&lt;/p&gt;

&lt;p&gt;Sample intelligently:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Trace 100% of errors (always debug failures)&lt;/li&gt;
&lt;li&gt;Trace 100% of requests with user feedback&lt;/li&gt;
&lt;li&gt;Trace 1-10% of successful requests for statistical monitoring&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This cuts costs by 90% without losing critical debugging data.&lt;/p&gt;

&lt;h3&gt;
  
  
  Hardcoding Prompts After Using Prompt Hub
&lt;/h3&gt;

&lt;p&gt;Teams adopt Prompt Hub, centralize prompts, then hardcode a critical prompt in application code "just this once" because it is easier. Now prompts are split between Prompt Hub and codebase, and nobody remembers which version is canonical.&lt;/p&gt;

&lt;p&gt;If you use Prompt Hub, commit fully. All prompts live there, or none do. Mixed approaches create confusion.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is LangSmith used for?
&lt;/h3&gt;

&lt;p&gt;LangSmith is used for debugging, testing, monitoring, and evaluating LLM applications in production. Its primary use cases include tracing agent execution to diagnose failures, running evaluations against test datasets to catch regressions before deployment, managing prompts with versioning and A/B testing, collecting fine-tuning datasets from production traces with user feedback, and monitoring cost, latency, and error rates across production deployments. LangSmith works with any LLM application, not just LangChain, making it useful for teams using OpenAI, Anthropic, Google, AWS Bedrock, or custom models. The platform provides visibility into the semantic layer of AI systems — what the model was asked to do, what it returned, and how that led to success or failure.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is LangSmith free?
&lt;/h3&gt;

&lt;p&gt;LangSmith offers a free tier for individual developers with 5,000 traces per month, unlimited projects, and 30-day trace retention. This is sufficient for prototyping and small personal projects. Paid plans start at $39/month for the Developer plan (50K traces, 90-day retention) and scale to Team ($199/month, 500K traces) and Enterprise (custom pricing, unlimited traces, 180+ day retention, SSO, dedicated support). Educational and open-source projects may qualify for extended free tier access. The free tier includes all core features — tracing, datasets, evaluations, and Prompt Hub — so you can fully evaluate the platform before paying. For production applications, most teams exceed the free tier's 5,000 traces within days and upgrade to paid plans.&lt;/p&gt;

&lt;h3&gt;
  
  
  How does LangSmith integrate with LangChain?
&lt;/h3&gt;

&lt;p&gt;LangSmith provides zero-configuration tracing for LangChain applications. Set the &lt;code&gt;LANGCHAIN_TRACING_V2&lt;/code&gt; and &lt;code&gt;LANGCHAIN_API_KEY&lt;/code&gt; environment variables, and every LangChain chain, agent, tool call, and retrieval operation is automatically traced without code changes. LangSmith captures the full execution tree, including all intermediate steps, token counts, latency, and errors. Prompts from LangSmith Prompt Hub integrate natively with LangChain via &lt;code&gt;hub.pull()&lt;/code&gt;, enabling centralized prompt management. LangChain also provides built-in evaluation helpers that integrate with LangSmith datasets, making it easy to run regression tests. While LangSmith was built by the LangChain team for LangChain users, it is not LangChain-exclusive — the &lt;code&gt;@traceable&lt;/code&gt; decorator and RunTree API work with any Python code calling any LLM provider.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is the difference between LangSmith and LangChain?
&lt;/h3&gt;

&lt;p&gt;LangChain is an open-source framework for building LLM applications with composable abstractions like chains, agents, tools, and memory. LangSmith is a paid SaaS platform for observing, testing, and monitoring those applications in production. LangChain helps you build the application; LangSmith helps you debug and improve it. They are complementary tools from the same company. You can use LangChain without LangSmith (but lose observability), and you can use LangSmith without LangChain (by manually instrumenting your non-LangChain code with the &lt;code&gt;@traceable&lt;/code&gt; decorator). Most production teams using LangChain also use LangSmith because the tracing integration is automatic and the debugging value is immediate. LangChain is free; LangSmith has a freemium pricing model.&lt;/p&gt;

&lt;h3&gt;
  
  
  How does LangSmith compare to Langfuse?
&lt;/h3&gt;

&lt;p&gt;LangSmith and Langfuse are the two most popular LLM observability platforms in 2026. LangSmith has deeper LangChain integration, a more mature Prompt Hub with versioning and A/B testing, and official support from LangChain Inc. Langfuse offers both a managed SaaS option and an open-source self-hosted option, making it attractive for cost-sensitive teams or those with data sovereignty requirements. Langfuse is also model-agnostic and framework-agnostic with excellent non-LangChain support. Pricing is similar for SaaS tiers. Choose LangSmith if you are heavily invested in LangChain and want zero-friction tracing. Choose Langfuse if you need self-hosting, want open-source transparency, or prefer a vendor-neutral observability layer.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I self-host LangSmith?
&lt;/h3&gt;

&lt;p&gt;No, LangSmith is a SaaS-only platform with no self-hosting option as of 2026. All traces, datasets, and prompts are stored on LangChain Inc.'s infrastructure. For teams requiring on-premise deployment due to data sovereignty, compliance, or security policies, alternatives include Langfuse (open-source with self-hosting), Phoenix by Arize AI (open-source), or building custom observability using OpenTelemetry and Jaeger. LangChain Inc. offers enterprise contracts with extended data retention, dedicated support, and security certifications (SOC 2, GDPR compliance), but self-hosting is not available. If self-hosting is a hard requirement, LangSmith is not an option.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do I trace non-LangChain applications with LangSmith?
&lt;/h3&gt;

&lt;p&gt;For non-LangChain applications, install the LangSmith SDK (&lt;code&gt;pip install langsmith&lt;/code&gt;) and use the &lt;code&gt;@traceable&lt;/code&gt; decorator on any function you want to trace. Mark your main agent function, individual LLM calls, tool executions, or retrieval steps with &lt;code&gt;@traceable&lt;/code&gt;. Each decorated function creates a run in LangSmith capturing inputs, outputs, latency, and errors. You can nest traceable functions to create hierarchical traces. For applications where decorators are not feasible (e.g., instrumenting third-party libraries), use the &lt;code&gt;RunTree&lt;/code&gt; API for manual tracing. This approach works with any LLM provider — OpenAI, Anthropic, Google, AWS Bedrock, local models, or custom APIs. LangSmith is framework-agnostic despite being built by the LangChain team.&lt;/p&gt;

&lt;h3&gt;
  
  
  What are LangSmith evaluators?
&lt;/h3&gt;

&lt;p&gt;Evaluators are functions that score LLM outputs against expected results during evaluation runs. LangSmith provides built-in evaluators for common tasks: exact match (output must match expected string exactly), semantic similarity (embeddings-based comparison with configurable threshold), LLM-as-judge (use an LLM to score quality based on criteria), relevance (whether output addresses the input), and hallucination detection (whether output contains unsupported claims). You can also define custom evaluators as Python functions with signature &lt;code&gt;(run: Run, example: Example) -&amp;gt; dict&lt;/code&gt; that return scores and reasoning. Evaluators run when you call &lt;code&gt;client.run_on_dataset()&lt;/code&gt;, comparing your agent's outputs against dataset examples and producing pass/fail results plus aggregate metrics. Custom evaluators enable domain-specific validation like checking SQL syntax, verifying API call correctness, or ensuring brand voice compliance.&lt;/p&gt;

&lt;h3&gt;
  
  
  How much does LangSmith cost at scale?
&lt;/h3&gt;

&lt;p&gt;LangSmith pricing scales with trace volume. The free tier provides 5,000 traces/month. Paid plans: Developer ($39/month, 50K traces), Team ($199/month, 500K traces), and Enterprise (custom pricing, unlimited traces). For a production agent handling 1 million requests per month, assuming 10% trace sampling (100K traces), you would be on the Team plan at $199/month. At 100% trace capture, you would exceed the Team plan and need Enterprise pricing, which typically starts around $1,000-2,000/month for 1M traces with volume discounts for higher volumes. Additional costs include evaluation runs (each run consumes traces) and LLM-as-judge evaluators (which make LLM API calls). For high-volume production applications, evaluate whether the observability value justifies the cost, or implement intelligent sampling (trace 100% of errors, 1-10% of successes) to reduce costs by 90% without losing critical debugging data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.smith.langchain.com/" rel="noopener noreferrer"&gt;LangSmith Official Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/langchain-ai/langsmith-sdk" rel="noopener noreferrer"&gt;LangSmith Python SDK on GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.langchain.com/pricing" rel="noopener noreferrer"&gt;LangSmith Pricing and Plans&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.smith.langchain.com/observability" rel="noopener noreferrer"&gt;LangSmith Tracing and Observability Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.smith.langchain.com/evaluation" rel="noopener noreferrer"&gt;LangSmith Evaluation and Testing Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.smith.langchain.com/prompt-hub" rel="noopener noreferrer"&gt;LangSmith Prompt Hub Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/langchain-ai/langchain" rel="noopener noreferrer"&gt;LangChain Hub on GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.smith.langchain.com/api-reference" rel="noopener noreferrer"&gt;LangSmith API Reference&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://fp8.co/articles/what-is-langsmith" rel="noopener noreferrer"&gt;fp8.co&lt;/a&gt;. Subscribe for weekly AI engineering analysis at &lt;a href="https://fp8.co/newsletters" rel="noopener noreferrer"&gt;fp8.co/newsletters&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>aiengineering</category>
      <category>llmdevelopment</category>
    </item>
    <item>
      <title>Ineffable Intelligence vs Nscale: Funding, Valuation &amp; Strategy Compared</title>
      <dc:creator>ke yi</dc:creator>
      <pubDate>Wed, 02 Sep 2026 04:41:27 +0000</pubDate>
      <link>https://dev.to/devtoaaron/ineffable-intelligence-vs-nscale-funding-valuation-strategy-compared-i3j</link>
      <guid>https://dev.to/devtoaaron/ineffable-intelligence-vs-nscale-funding-valuation-strategy-compared-i3j</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Ineffable Intelligence and Nscale are two of the most closely watched companies in AI. This comparison breaks down their funding, valuations, investors, and strategic positioning.&lt;/p&gt;

&lt;p&gt;The AI funding landscape continues to evolve rapidly, with significant capital flowing into companies pushing the boundaries of artificial intelligence. This period's activity reflects both growing investor confidence and the increasing maturity of the ecosystem. Deal sizes and valuations continue to climb as AI transitions from experimental technology to core enterprise infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  At a Glance
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Ineffable Intelligence&lt;/th&gt;
&lt;th&gt;Nscale&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Founded&lt;/td&gt;
&lt;td&gt;2026&lt;/td&gt;
&lt;td&gt;2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HQ&lt;/td&gt;
&lt;td&gt;San Francisco, CA&lt;/td&gt;
&lt;td&gt;London, UK&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sector&lt;/td&gt;
&lt;td&gt;AI Infrastructure&lt;/td&gt;
&lt;td&gt;AI Infrastructure&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Employees&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Total Raised&lt;/td&gt;
&lt;td&gt;$1.0B&lt;/td&gt;
&lt;td&gt;$2.0B&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Latest Valuation&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Latest Round&lt;/td&gt;
&lt;td&gt;Undisclosed ($1.0B)&lt;/td&gt;
&lt;td&gt;Series C ($2.0B)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Revenue Run Rate&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Founder&lt;/td&gt;
&lt;td&gt;Not disclosed&lt;/td&gt;
&lt;td&gt;Not disclosed&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Funding Comparison
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Ineffable Intelligence — Funding History
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Round&lt;/th&gt;
&lt;th&gt;Amount&lt;/th&gt;
&lt;th&gt;Valuation&lt;/th&gt;
&lt;th&gt;Date&lt;/th&gt;
&lt;th&gt;Lead Investor&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Undisclosed&lt;/td&gt;
&lt;td&gt;$1.0B&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;Feb 20, 2026&lt;/td&gt;
&lt;td&gt;Undisclosed&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Total Raised: $1.0B&lt;/strong&gt; across 1 round(s)&lt;/p&gt;

&lt;h3&gt;
  
  
  Nscale — Funding History
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Round&lt;/th&gt;
&lt;th&gt;Amount&lt;/th&gt;
&lt;th&gt;Valuation&lt;/th&gt;
&lt;th&gt;Date&lt;/th&gt;
&lt;th&gt;Lead Investor&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Series C&lt;/td&gt;
&lt;td&gt;$2.0B&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;Mar 9, 2026&lt;/td&gt;
&lt;td&gt;Undisclosed&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Total Raised: $2.0B&lt;/strong&gt; across 1 round(s)&lt;/p&gt;

&lt;p&gt;The funding trajectory demonstrates accelerating momentum, with round sizes and valuations increasing as key milestones are delivered and market presence expands.&lt;/p&gt;

&lt;h2&gt;
  
  
  Investor Analysis
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Shared Investors
&lt;/h3&gt;

&lt;p&gt;The following investors have backed &lt;strong&gt;both&lt;/strong&gt; Ineffable Intelligence and Nscale:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Undisclosed&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Unique to Ineffable Intelligence
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;None (all investors also back Nscale)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Unique to Nscale
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;None (all investors also back Ineffable Intelligence)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The competitive landscape remains dynamic, with established players and well-funded startups vying for market share. Differentiation increasingly comes from technology depth, go-to-market execution, and strategic partnerships that provide distribution advantages.&lt;/p&gt;

&lt;h2&gt;
  
  
  Strategy &amp;amp; Positioning
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Ineffable Intelligence
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;AI memory chip company developing next-generation memory solutions to address the growing bottleneck in AI training and inference workloads.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The competitive landscape remains dynamic, with established players and well-funded startups vying for market share. Differentiation increasingly comes from technology depth, go-to-market execution, and strategic partnerships that provide distribution advantages.&lt;/p&gt;

&lt;h3&gt;
  
  
  Nscale
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Full-stack AI cloud infrastructure provider operating renewable-energy-powered GPU data centers across Europe.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The competitive landscape remains dynamic, with established players and well-funded startups vying for market share. Differentiation increasingly comes from technology depth, go-to-market execution, and strategic partnerships that provide distribution advantages.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Who has raised more funding — Ineffable Intelligence or Nscale?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Nscale&lt;/strong&gt; has raised more total funding at $2.0B, compared to Ineffable Intelligence's $1.0B. That is a difference of $1.0B.&lt;/p&gt;

&lt;h3&gt;
  
  
  Which company is valued higher — Ineffable Intelligence or Nscale?
&lt;/h3&gt;

&lt;p&gt;Ineffable Intelligence's latest valuation is undisclosed, while Nscale's is undisclosed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Which company was founded first?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Ineffable Intelligence&lt;/strong&gt; was founded in 2026, 0 year(s) before Nscale (2026).&lt;/p&gt;

&lt;h2&gt;
  
  
  Verdict
&lt;/h2&gt;

&lt;p&gt;Under current leadership, the company has navigated rapid growth while maintaining technical excellence and a clear strategic vision for the future of AI.&lt;/p&gt;

&lt;h2&gt;
  
  
  Learn More
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/companies/ineffable-intelligence"&gt;Ineffable Intelligence on AI Funding&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/companies/nscale"&gt;Nscale on AI Funding&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>startup</category>
      <category>venturecapital</category>
      <category>funding</category>
    </item>
  </channel>
</rss>
