Answering an RFP? Make AI quote every must first.
The plain ask
Real output · GPT-5.5 (OpenAI API) · Oct 2026
I pasted a fictional RFP and asked what to include in my response. The answer reads like a requirements list, but no requirement is tied to its section number.
Its ideas look like the RFP's rules
Some lines aren't in the RFP, like a coverage plan for absences or emergencies and a line saying you attended the walkthrough. It gave the 2:00 p.m. deadline but not that late proposals won't be opened.
Source: Test on fictional RFP-26-014, GPT-5.5 (OpenAI API), Oct 2026
Quote first, then build the list
Quoting first lets you tell the RFP's words from the AI's. Anthropic's docs advise this for long documents; we tested it in GPT-5.5 on a short RFP.
Source: Anthropic, Prompting best practices (Claude docs)
The quote-first prompt
Tested in GPT-5.5 (OpenAI API), Oct 2026
This is the prompt we ran on a fictional RFP for janitorial work at three library branches. Paste your RFP below it.
The rejection rules came first
Real output · GPT-5.5 (OpenAI API) · Oct 2026
With the KNOCKOUT line, the two rules that get a bid rejected came first, each with its section number and marked KNOCKOUT.
Check it against the RFP
Searching for must, shall, mandatory and required found 10 binding sentences, all on both quote-first checklists. But the search has limits: the late-proposal rule (6.1) says 'will not be opened' and uses none of these words.
Try it: Ctrl+F RFP for must, shall, mandatory, required and 'will not', then tick off each hit.
Source: Test on fictional RFP-26-014, GPT-5.5 (OpenAI API), Oct 2026
Where it still slipped
Without the KNOCKOUT line, the rejection rules sat at lines 41 and 47 of 47. With it they came first, but the list grew to 57 lines, including non-tasks like "meet the two-year contract term".
Source: Tests on fictional RFP-26-014, GPT-5.5 (OpenAI API), Oct 2026
Sources and assumptions
- Anthropic, Prompting best practices (Claude docs, long context prompting section): 'Ground responses in quotes: For long document tasks, ask Claude to quote relevant parts of the documents first before carrying out its task. This helps Claude focus on the relevant content and ignore the rest of the document.' Also: 'Place your long documents and inputs near the top of your prompt, above your query, instructions, and examples.' (The long-context-tips URL redirects to this page.) (checked 2026-10-23)
Assumptions:
- The RFP (Maple Hollow Public Library District, RFP-26-014) is fictional, written for this test; the email domain is a reserved .example domain.
- Only GPT-5.5 via the OpenAI API ran successfully (tests 'after-gpt', 'before-gpt', 'after-knockout', Oct 2026). Both Claude Sonnet 5.5 runs failed with a tool error and produced no output, so the slides must not claim the prompt was tested in Claude.
- The Anthropic guidance is written for Claude and for long documents; the sample RFP is short (about 3 pages). The post may say the docs advise quoting first for long documents, not that they cover GPT-5.5 or recommend it for short RFPs.
- The prompt in the RFP was placed after the instruction (the ai-test tool sends prompt, then input), not at the top as the docs advise for long documents.
- '10 binding sentences' counts the words must (7: sections 1.3, 2.1, 2.5, 2.6, 3.1, 4.2, 5(f)), shall (1: 4.1), mandatory (1: 6.3) and required (1: 2.4 'is required twice a year'). Section 4.1 also contains 'as required by state law', which the count doesn't treat as a separate hit; a reader's Ctrl+F for 'required' would show 2 hits, both in lines the checklist covers.
- Each result is one run; the outputs vary between runs (for example, the 6.2 submission items were labeled 'in the proposal' in one run and 'before submitting' in the other).
The short version
- Have AI quote each rule first
- Ask for section numbers and due times
- Put the KNOCKOUT rules at the top
- Search for must, shall, mandatory, required, 'will not'
- Check every hit is on the list


