AI content

From Nasqueron Agora
Revision as of 15:14, 20 May 2023 by Dereckson (talk | contribs)

AI uses

Nasqueron dwellers use the tools they want under their own responsibility.

Language models are welcome to inspire/proofread/review/generate/code what you want.

Automatic generation without human supervision or with blind trust can be frowned upon, see for example on Stack Overflow.

For privacy policy reasons, we don't query APIs like OpenAI directly in services hosted by Nasqueron, for example we don't plan to use ChatGPT in Sentry to offer solutions to reported issues.

AI content transparency

Tag any development activity where ChatGPT or another IA model has been useful. Try to include what part, so we can prepare a report of the areas where it's the most interesting to use it.

Credit on images the tool used to generate them Dall-E, Adobe Firefly, Stable Diffusion, etc. The prompt used is welcome too.

Development with AI

Here a summary of our experience with models, mainly ChatGPT.

Analysis

  • ChatGPT can produce a draft for a entity/associations diagrams, so you've a format to work with (ServPulse)
  • ChatGPT can't really be helpful to suggest product names (temperature too low?), but is helpful to justify the choices, state the values. An example at Operations grimoire/Alkane#Why_the_name_Alkane?

Code review

  • Not really useful: compliment the clarity, respect of the forms and the best practices, but don't give actionable hints
  • Could be cool for morale if not technically to have positive feedback

Development

ChatGPT understands the prompts but to generate code, that's clearly not relevant.

  • For a parser function, it's easier to write it in code than specify the requirements (and it will try to reguest the parsing)
  • Can't write correctly C (null-terminated strings, segfaults) or Rust (borrowing, suggest methods not for the object you work with)
  • Can't write pure sh scripts without errors

Reports

Commits with ChatGPT assistance

We award a token "Yo se serious" (reverse smiley) to revisions where ChatGPT was useful.

It allows to query the Phabricator database to gets the list:

SELECT CONCAT("D", rev.id) as revision, title, rev.dateCreated, userName, repositorySlug as repository
FROM devcentral_differential.differential_revision rev
    LEFT JOIN devcentral_repository.repository repo ON repo.phid = rev.repositoryPHID
    LEFT JOIN devcentral_user.user ON user.phid = authorPHID
WHERE 
    rev.phid IN (SELECT DISTINCT objectPHID FROM devcentral_token.token_given WHERE tokenPHID = "PHID-TOKN-emoji-3");

As of 2023-05-20 that gives:

+----------+---------------------------------------+-------------+-----------+-------------------+
| revision | title                                 | dateCreated | userName  | repository        |
+----------+---------------------------------------+-------------+-----------+-------------------+
| D2532    | Draft XSD schema for Report library   |  1645052836 | dereckson | schemas           |
| D2994    | Add RequestBody guard for Rocket      |  1681172231 | dereckson | limiting-factor   |
| D3016    | Create initialized sites subdirectory |  1681509912 | dereckson | alkane            |
| D3039    | Simplify map autolinker call          |  1681689847 | dereckson | servers-homepages |
| D3112    | Fetch RFC index and format it         |  1684547994 | dereckson | datasources       |
| D2980    | Provision db-B-001 MariaDB server     |  1680829757 | dereckson | operations        |
+----------+---------------------------------------+-------------+-----------+-------------------+