iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
A single overall score can tell you a draft changed without showing what changed. With the Laravel AI SDK, you can ask Jev three separate questions in one request: whether the draft meets its brief, what kind of text it is, and how clear its instructional steps are. Each answer reports a different dimension rather than blending them into one judgment.
Why ask three questions instead of requesting one score?
A score such as “7 out of 10” is easy to read, but it can conceal whether a draft missed its brief, was classified incorrectly, or had unclear steps. Keeping those checks separate makes the result more actionable: an editor or application can see which dimension needs attention. This is a design rationale, not evidence that the method is empirically more accurate.
In his October 6, 2026 Laravel News tutorial, Harris Raftopoulos describes this as three distinct answers that “point straight at the part that changed.” Read the tutorial.
Recommended Free Tools
What the three answers assess
| Assessment | Result type | Question it answers |
|---|---|---|
| Brief fulfillment | Boolean | Does the draft fulfill its brief? |
| Text format | Choice | Is it a tutorial, announcement, opinion piece, or other kind of text? |
| Instructional clarity | Score | Are the steps clear and verifiable? |
These results are complementary, not interchangeable. A draft can match its brief while being difficult to follow, or have clear steps while belonging to a different format than intended. The Boolean, choice, and score let the application or editor treat those outcomes separately.
#1 Best Overall
How the one-request workflow behaves
Jev answers the three questions at the same time. They are independent: one question does not receive or condition its answer on the result of another. If a rule depends on an earlier result—for example, if a format classification should change how clarity is evaluated—apply that logic in PHP after the response returns, or make a later request. Do not expect one of the simultaneous questions to branch on another answer.
Keep the question set reusable and versioned
Put the assessment set in a named, versioned service and use that same service from both application code and tests. This helps keep tested behavior aligned with the question set the app actually runs. When the rules change, create a new version so the app and tests can identify which set of questions they use.
Make the format choices broad enough to handle drafts outside the listed categories. Raftopoulos includes “other” alongside tutorial, announcement, and opinion; that fallback avoids forcing every text into a category that does not fit.
Interpret choice and score results carefully
Choice results
A choice result includes the selected option and likelihoods, along with a confidence number describing how clear the selection is. Treat these as signals from the assessment, not proof that the classification is correct.
Rank #3
Score results
A score can fall between the defined levels rather than landing exactly on one. Use level() to obtain the most likely level, or normalized() to express the score on a 0–1 scale. Neither representation establishes that the underlying judgment is true; they provide ways to interpret the returned assessment.
Quick Recap
Best Value
Rank #4
When this pattern is useful
- Use distinct results when a single aggregate score would make it hard to tell what an editor should fix.
- Keep questions independent when each can be assessed on its own; handle dependencies in PHP after the response or in a subsequent request.
- Version the shared question set when its rules change, and include “other” when the category list is not exhaustive.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

