Today's AI Tip
← All posts

Answering an RFP? Make AI quote every must first.

· View on Instagram · View on Facebook

Answering an RFP? Make AI quote every must first.
The plain ask. 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.

The plain ask

Real output · GPT-5.5 (OpenAI API) · Oct 2026

### 4. Staffing Plan Provide a staffing plan showing: - Crew size for the Main branch … - Coverage plan for absences or emergencies … Proposals from vendors that do not attend will not be considered, so your response should mention that your company attended the walkthrough.

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.

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.

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. This is the prompt we ran on a fictional RFP for janitorial work at three library branches. Paste your RFP below it.

The quote-first prompt

I am answering this RFP. First, quote word for word every sentence that says what a bidder must do, include, provide or meet. Put each quote in <quotes> tags with its section number. Then turn the quotes into a numbered checklist: one requirement per line, with its section number and when it is due (before submitting, in the proposal, or after award). Put anything that would get a proposal rejected at the top, marked KNOCKOUT. Only list what the RFP states. If a requirement is unclear, mark it UNCLEAR instead of guessing.

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. With the KNOCKOUT line, the two rules that get a bid rejected came first, each with its section number and marked KNOCKOUT.

The rejection rules came first

Real output · GPT-5.5 (OpenAI API) · Oct 2026

1. **KNOCKOUT — Section 6.3 — Before submitting:** Attend the mandatory walkthrough of all three branches on October 27, 2026 at 9:00 a.m., starting at the Main branch; proposals from vendors who did not attend will not be considered. 2. **KNOCKOUT — Section 6.1 — Before submitting:** Ensure the proposal is received by 2:00 p.m. local time on November 13, 2026; proposals received after that time will not be opened. …

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.

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".

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

Assumptions:

The short version

Follow @todaysaitipSave this post on Instagram

More posts