技巧精选

使用DSPy评估和改进Datasette Agent的SQL系统提示

Using DSPy to evaluate and improve Datasette Agent's SQL system prompts

精选理由

Simon用DSPy自动调教Datasette Agent的SQL提示,发现了具体bug和优化方向,省去手动试错。

AI 摘要

Simon Willison用Claude Fable 5通过DSPy自动化优化Datasette Agent的SQL系统提示。测试使用GPT 4.1 mini和nano,发现基线提示中由于schema只列表名、缺少列名,导致模型猜测列名并触发错误重试循环。改进方向包括在提示的schema listing中加入列名、调整“不要重复调用describe_table”的措辞。该研究展示了DSPy在提示优化中的实际应用。

原文 · Simon Willison’s Weblog

Using DSPy to evaluate and improve Datasette Agent's SQL system prompts

Research: Using DSPy to evaluate and improve Datasette Agent's SQL system prompts One of this morning's AIE keynotes covered dspy , which reminded me I've been meaning to see if it could help me improve the system prompt used by Datasette Agent - so I fired off an asynchronous research task in Claude Code for web using Claude Fable 5: Pip install the latest Datasette alpha and datasette-agent and dspy - then figure out how to use dspy to evaluate and improve the main system prompts used by Datasette Agent for the feature where it can execute read only SQL queries to answer user questions about data. Fable chose to test using GPT 4.1 mini and nano, and identified several promising looking directions for improvements. I particularly like this one: The schema listing gives only table names; the "don't call describe_table if you already have the information" advice caused column-name guessing (page_count, o.order_id, first_name) and error-retry loops in baseline traces. Either include column names in the prompt's schema listing or soften that advice. Tags: ai , datasette , generative-ai , llms , evals , dspy , datasette-agent , claude-mythos